Date: Sun, 23 Oct 2011 22:06:34 +0200 From: Dimitry Andric <dim@FreeBSD.org> To: Robert Millan <rmh@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r226665 - head/sys/conf Message-ID: <4EA473CA.8050104@FreeBSD.org> In-Reply-To: <201110231627.p9NGR47P046269@svn.freebsd.org> References: <201110231627.p9NGR47P046269@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2011-10-23 18:27, Robert Millan wrote: > Author: rmh > Date: Sun Oct 23 16:27:03 2011 > New Revision: 226665 > URL: http://svn.freebsd.org/changeset/base/226665 > > Log: > Conditionalize a pair of FreeBSD GCC extensions so that its CFLAGS are only > used with FreeBSD GCC. > > Approved by: kib (mentor) > > Modified: > head/sys/conf/kern.mk > > Modified: head/sys/conf/kern.mk > ============================================================================== > --- head/sys/conf/kern.mk Sun Oct 23 16:04:07 2011 (r226664) > +++ head/sys/conf/kern.mk Sun Oct 23 16:27:03 2011 (r226665) > @@ -1,11 +1,21 @@ > # $FreeBSD$ > > +.if ${CC:T:Mclang} != "clang" > +FREEBSD_GCC!= ${CC} --version | grep FreeBSD || true > +.endif > + > # > # Warning flags for compiling the kernel and components of the kernel: > # > +.if ${FREEBSD_GCC} > +# FreeBSD extensions, not available in upstream GCC > +format_extensions= -fformat-extensions > +no_align_long_strings= -mno-align-long-strings > +.endif Note: this breaks builds where CC=clang, with: >>> Kernel build for GENERIC started on Sun Oct 23 22:01:23 CEST 2011 ... >>> stage 2.1: cleaning up the object tree -------------------------------------------------------------- cd /usr/obj/usr/src/sys/GENERIC; MAKEOBJDIRPREFIX=/usr/obj MACHINE_ARCH=i386 MACHINE=i386 CPUTYPE= GROFF_BIN_PATH=/usr/obj/usr/src/tmp/legacy/usr/bin GROFF_FONT_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/groff_font GROFF_TMAC_PATH=/usr/obj/usr/src/tmp/legacy/usr/share/tmac _SHLIBDIRPREFIX=/usr/obj/usr/src/tmp VERSION="FreeBSD 10.0-CURRENT i386 1000000" INSTALL="sh /usr/src/tools/install.sh" PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/usr/obj/usr/src/tmp/usr/sbin:/usr/obj/usr/src/tmp/usr/bin:/usr/obj/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin make KERNEL=kernel cleandir "/usr/src/sys/conf/kern.mk", line 10: Malformed conditional (${FREEBSD_GCC}) "/usr/src/sys/conf/kern.mk", line 14: if-less endif make: fatal errors encountered -- cannot continue *** Error code 1 1 error *** Error code 2 1 error Exited Process exited with status 2 Since our base 'clang --version' also has 'FreeBSD' in its output, you might want to drop the first .if ${CC:T:Mclang} != "clang" test. E.g. just unconditionally set the FREEBSD_GCC macro (although it's then no longer correctly named, but that aside).
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EA473CA.8050104>