diff options
author | tijl <tijl@FreeBSD.org> | 2013-09-02 21:26:34 +0800 |
---|---|---|
committer | tijl <tijl@FreeBSD.org> | 2013-09-02 21:26:34 +0800 |
commit | ca2a2263a744b7c6f6f551ba68906f43afe04522 (patch) | |
tree | 724d013a376d218986fefc586ed681b8c219eeb7 /Mk | |
parent | d44d174b995274dd9e8ddc49b959e3790c47ce71 (diff) | |
download | freebsd-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.mk | 10 | ||||
-rw-r--r-- | Mk/bsd.commands.mk | 2 |
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 |