aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
authortijl <tijl@FreeBSD.org>2013-09-02 21:26:34 +0800
committertijl <tijl@FreeBSD.org>2013-09-02 21:26:34 +0800
commitca2a2263a744b7c6f6f551ba68906f43afe04522 (patch)
tree724d013a376d218986fefc586ed681b8c219eeb7 /Mk
parentd44d174b995274dd9e8ddc49b959e3790c47ce71 (diff)
downloadfreebsd-ports-gnome-ca2a2263a744b7c6f6f551ba68906f43afe04522.tar.gz
freebsd-ports-gnome-ca2a2263a744b7c6f6f551ba68906f43afe04522.tar.zst
freebsd-ports-gnome-ca2a2263a744b7c6f6f551ba68906f43afe04522.zip
Two imake related changes:
1) Move -a from XMKMF command variable to a new XMKMF_ARGS variable. For ports that don't need -a introduce USES=imake:notall. This way ports no longer have to redefine XMKMF. 2) xmkmf -a runs imake with the flags in IMAKECPPFLAGS as extra arguments to set CPP, CC and CXX. This creates the top Makefile, and then xmkmf runs make Makefiles. This Makefiles target runs imake for each subdirectory but these imake invocations did not have the flags from IMAKECPPFLAGS so the resulting makefiles used the wrong C preprocessor when clang is used (/usr/bin/cpp instead of /usr/local/bin/tradcpp). Instead of letting xmkmf pass IMAKECPPFLAGS from the environment to imake let imake handle IMAKECPPFLAGS itself just like it handles IMAKEINCLUDE. This exposed configure errors in x11-clocks/mouseclock and x11-wm/fvwm. Approved by: portmgr (bapt)
Diffstat (limited to 'Mk')
-rw-r--r--Mk/Uses/imake.mk10
-rw-r--r--Mk/bsd.commands.mk2
2 files changed, 9 insertions, 3 deletions
diff --git a/Mk/Uses/imake.mk b/Mk/Uses/imake.mk
index ca4aca66f501..b71fc41bcecb 100644
--- a/Mk/Uses/imake.mk
+++ b/Mk/Uses/imake.mk
@@ -7,6 +7,7 @@
# Feature: imake
# Usage: USES=imake
# Valid ARGS: env: do not define any target
+# notall: do not pass -a to xmkmf
#
.if !defined(_INCLUDE_USES_IMAKE_MK)
@@ -15,6 +16,8 @@ _INCLUDE_USES_IMAKE_MK= yes
.if defined(imake_ARGS)
.if ${imake_ARGS} == env
IMAKE_ENV_ONLY= yes
+.elif ${imake_ARGS} == notall
+IMAKE_NOTALL= yes
.else
IGNORE= USES=imake ${imake_ARGS} is not a valid argument
.endif
@@ -36,12 +39,15 @@ BUILD_DEPENDS+= tradcpp:${PORTSDIR}/devel/tradcpp
.endif
MAKE_ENV+= IMAKECPP=${IMAKECPP} IMAKECPPFLAGS="${IMAKECPPFLAGS}"
CONFIGURE_ENV+= IMAKECPP=${IMAKECPP} IMAKECPPFLAGS="${IMAKECPPFLAGS}"
-MAKE_ARGS+= IMAKE_DEFINES="${IMAKECPPFLAGS}"
+
+.if !defined(IMAKE_NOTALL)
+XMKMF_ARGS+= -a
+.endif
.if !defined(IMAKE_ENV_ONLY)
.if !target(do-configure)
do-configure:
- @(cd ${CONFIGURE_WRKSRC}; ${SETENV} ${MAKE_ENV} ${XMKMF})
+ @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${MAKE_ENV} ${XMKMF} ${XMKMF_ARGS})
.endif
.if !defined(NO_INSTALL_MANPAGES)
diff --git a/Mk/bsd.commands.mk b/Mk/bsd.commands.mk
index 5eb0230c9518..3da333dbf329 100644
--- a/Mk/bsd.commands.mk
+++ b/Mk/bsd.commands.mk
@@ -97,7 +97,7 @@ UNMAKESELF_CMD?= ${LOCALBASE}/bin/unmakeself
UNZIP_CMD?= ${LOCALBASE}/bin/unzip
WHICH?= /usr/bin/which
XARGS?= /usr/bin/xargs
-XMKMF?= ${LOCALBASE}/bin/xmkmf -a
+XMKMF?= ${LOCALBASE}/bin/xmkmf
YACC?= /usr/bin/yacc
XZ?= -Mmax