Date: Mon, 31 Jul 2006 18:55:16 GMT From: Dominic Fandrey <lon_kamikaze@gmx.de> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/101120: [patch bsd.port.mk] Tell CC and CXX to ports without configure Message-ID: <200607311855.k6VItGW4001093@www.freebsd.org> Resent-Message-ID: <200607311900.k6VJ0Y7F098630@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 101120 >Category: ports >Synopsis: [patch bsd.port.mk] Tell CC and CXX to ports without configure >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jul 31 19:00:33 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Dominic Fandrey >Release: Releng_6 >Organization: private >Environment: FreeBSD mobileKamikaze.norad 6.1-STABLE FreeBSD 6.1-STABLE #0: Wed Jul 19 14:54:04 CEST 2006 root@mobileKamikaze.norad:/mnt/vault/obj/mnt/vault/src/sys/TPR40-6 i386 >Description: If CC is defined in make.conf inside a block such as this: .if ${.CURDIR:M/usr/ports/*} CC= distcc cc CXX= distcc c++ .endif And WRKDIRPREFIX is set i.e. like this: WRKDIRPREFIX=/usr/obj Maybe because /usr/ports is a read only NFS mount (like on my system), Ports that do not have a configure target will not receive CC and CXX, because it's not part of MAKE_ENV and make will fall back to the default (CC=cc), because the if case in make.conf is not matched. Examples for ports that are affected by this are devel/qmake and graphics/png . To fix this I created this patch that adds CC and CXX to the MAKE_ENV if neither HAS_CONFIGURE nor PERL_CONFIGURE are defined. >How-To-Repeat: To repeat the problem set WRKDIRPREFIX somewhere outside of PORTSDIR and enclose the settings for ports in make.conf in a block as described in the full description. >Fix: --- Mk/bsd.port.mk.orig Sun Jul 23 09:39:49 2006 +++ Mk/bsd.port.mk Mon Jul 31 20:41:12 2006 @@ -1967,6 +1967,11 @@ RUN_DEPENDS+= gs:${PORTSDIR}/${GHOSTSCRIPT_PORT} .endif +# Ensure that ports without a configure step know about CC and CXX. +.if !defined(HAS_CONFIGURE) && !defined(PERL_CONFIGURE) +MAKE_ENV+= CC="${CC}" CXX="${CXX}" +.endif + # Macro for doing in-place file editing using regexps REINPLACE_ARGS?= -i.bak REINPLACE_CMD?= ${SED} ${REINPLACE_ARGS} >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607311855.k6VItGW4001093>