aboutsummaryrefslogtreecommitdiff
path: root/Mk/Uses/pkgconfig.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk/Uses/pkgconfig.mk')
-rw-r--r--Mk/Uses/pkgconfig.mk30
1 files changed, 23 insertions, 7 deletions
diff --git a/Mk/Uses/pkgconfig.mk b/Mk/Uses/pkgconfig.mk
index 25392f4ccd90..671a4f0608c1 100644
--- a/Mk/Uses/pkgconfig.mk
+++ b/Mk/Uses/pkgconfig.mk
@@ -4,28 +4,44 @@
# Usage: USES=pkgconfig or USES=pkgconfig:ARGS
# Valid ARGS: build (default, implicit), run, both
#
-# MAINTAINER: portmgr@FreeBSD.org
+# MAINTAINER: ports@FreeBSD.org
.if !defined(_INCLUDE_USES_PKGCONFIG_MK)
_INCLUDE_USES_PKGCONFIG_MK= yes
_PKGCONFIG_DEPENDS= pkgconf>=1.3.0_1:devel/pkgconf
-.if empty(pkgconfig_ARGS)
+. if empty(pkgconfig_ARGS)
pkgconfig_ARGS= build
-.endif
+. endif
-.if ${pkgconfig_ARGS} == "build"
+. if ${pkgconfig_ARGS} == "build"
BUILD_DEPENDS+= ${_PKGCONFIG_DEPENDS}
CONFIGURE_ENV+= PKG_CONFIG=pkgconf
-.elif ${pkgconfig_ARGS} == "run"
+. elif ${pkgconfig_ARGS} == "run"
RUN_DEPENDS+= ${_PKGCONFIG_DEPENDS}
-.elif ${pkgconfig_ARGS} == "both"
+. elif ${pkgconfig_ARGS} == "both"
CONFIGURE_ENV+= PKG_CONFIG=pkgconf
BUILD_DEPENDS+= ${_PKGCONFIG_DEPENDS}
RUN_DEPENDS+= ${_PKGCONFIG_DEPENDS}
-.else
+. else
IGNORE= USES=pkgconfig - invalid args: [${pkgconfig_ARGS}] specified
+. endif
+
+_USES_POST+= pkgconfig
.endif
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_PKGCONFIG_POST_MK)
+_INCLUDE_USES_PKGCONFIG_POST_MK=yes
+
+# Provide a cooperative mechanism for managing PKG_CONFIG_PATH.
+. if defined(PKGCONFIG_PATHS)
+. if !${CONFIGURE_ENV:MPKG_CONFIG_PATH=*} && !${MAKE_ENV:MPKG_CONFIG_PATH=*}
+CONFIGURE_ENV+= PKG_CONFIG_PATH=${PKGCONFIG_PATHS:ts:}
+MAKE_ENV+= PKG_CONFIG_PATH=${PKGCONFIG_PATHS:ts:}
+. else
+DEV_WARNING+= "PKGCONFIG_PATHS was ignored due to conflict with CONFIGURE_ENV or MAKE_ENV"
+. endif
+. endif
+
.endif