summaryrefslogtreecommitdiff
path: root/Mk
diff options
context:
space:
mode:
authorTijl Coosemans <tijl@FreeBSD.org>2013-09-02 13:26:34 +0000
committerTijl Coosemans <tijl@FreeBSD.org>2013-09-02 13:26:34 +0000
commitf86cad0ce3a80127b2912301315fa7dac042002d (patch)
tree724d013a376d218986fefc586ed681b8c219eeb7 /Mk
parentUpdate to 4.30. (diff)
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)
Notes
Notes: svn path=/head/; revision=325992
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