summaryrefslogtreecommitdiff
path: root/Mk/Uses/localbase.mk
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2016-09-30 19:24:30 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2016-09-30 19:24:30 +0000
commit1ee4da6dd1d50ed85cd3a614fc8a30b02f3ccf66 (patch)
tree8b44219153a720f367633c8fe248933750735b7d /Mk/Uses/localbase.mk
parent- Update to 3.8.82 (diff)
Let USES=localbase add -L${LOCALBASE}/lib to LIBS instead of LDFLAGS.
USES=localbase:ldflags can be used to set LDFLAGS. Normally LDFLAGS appears too early on the command line causing some ports to link with their own libraries in LOCALBASE (if installed) instead of WRKSRC. Also make use of _USES_POST so -L${LOCALBASE}/lib is added as late as possible after anything a port Makefile might set. Use _USES_POST instead of .include in libedit.mk and libarchive.mk so things like 'USES=libedit localbase:ldflags' work correctly. Fix some issues with LIBS in some ports. Switch ports that don't support LIBS to localbase:ldflags. PR: 212987 Exp-run by: antoine Approved by: portmgr (antoine)
Notes
Notes: svn path=/head/; revision=423014
Diffstat (limited to 'Mk/Uses/localbase.mk')
-rw-r--r--Mk/Uses/localbase.mk13
1 files changed, 11 insertions, 2 deletions
diff --git a/Mk/Uses/localbase.mk b/Mk/Uses/localbase.mk
index 8f0c3c61db0a..c620e64a0563 100644
--- a/Mk/Uses/localbase.mk
+++ b/Mk/Uses/localbase.mk
@@ -3,18 +3,27 @@
# handle enforcing localbase in path
#
# Feature: localbase
-# Usage: USES=localbase
-# Valid ARGS: none
+# Usage: USES=localbase or USES=localbase:args
+# Valid ARGS: ldflags Set LDFLAGS instead of LIBS
#
# MAINTAINER: portmgr@FreeBSD.org
.if !defined(_INCLUDE_USES_LOCALBASE_MK)
_INCLUDE_USES_LOCALBASE_MK= yes
+_USES_POST+= localbase
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_LOCALBASE_POST_MK)
+_INCLUDE_USES_LOCALBASE_POST_MK=yes
CPPFLAGS+= -isystem ${LOCALBASE}/include
CFLAGS+= -isystem ${LOCALBASE}/include
CXXFLAGS+= -isystem ${LOCALBASE}/include
+.if ${localbase_ARGS:Mldflags}
LDFLAGS+= -L${LOCALBASE}/lib
+.else
+LIBS+= -L${LOCALBASE}/lib
+.endif
# Use CONFIGURE_ENV instead of CMAKE_ARGS because devel/cmake itself also needs
# this, and CMAKE_ARGS is not used when bootstrapping CMake.