Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Dec 2013 17:51:34 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r259730 - in head: gnu/lib/csu gnu/lib/libgcc gnu/lib/libstdc++ gnu/lib/libsupc++ lib/atf/libatf-c/tests share/mk sys/conf tools/tools/ath/athstats tools/tools/net80211/wlanstats usr.bi...
Message-ID:  <201312221751.rBMHpYpj059326@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Sun Dec 22 17:51:33 2013
New Revision: 259730
URL: http://svnweb.freebsd.org/changeset/base/259730

Log:
  To avoid having to explicitly test COMPILER_TYPE for setting
  clang-specific or gcc-specific flags, introduce the following new
  variables for use in Makefiles:
  
  CFLAGS.clang
  CFLAGS.gcc
  CXXFLAGS.clang
  CXXFLAGS.gcc
  
  In bsd.sys.mk, these get appended to the regular CFLAGS or CXXFLAGS for
  the right compiler.
  
  MFC after:	1 week

Modified:
  head/gnu/lib/csu/Makefile
  head/gnu/lib/libgcc/Makefile
  head/gnu/lib/libstdc++/Makefile
  head/gnu/lib/libsupc++/Makefile
  head/lib/atf/libatf-c/tests/Makefile
  head/share/mk/bsd.sys.mk
  head/sys/conf/Makefile.arm
  head/tools/tools/ath/athstats/Makefile
  head/tools/tools/net80211/wlanstats/Makefile
  head/usr.bin/mkcsmapper/Makefile.inc

Modified: head/gnu/lib/csu/Makefile
==============================================================================
--- head/gnu/lib/csu/Makefile	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/gnu/lib/csu/Makefile	Sun Dec 22 17:51:33 2013	(r259730)
@@ -15,9 +15,7 @@ OBJS=		crtbegin.o crtend.o crtbeginT.o
 SOBJS=		crtbeginS.o crtendS.o
 CSTD?=		gnu89
 CFLAGS+=	-DIN_GCC -DHAVE_LD_EH_FRAME_HDR -DDT_CONFIG -D__GLIBC__=3
-.if ${COMPILER_TYPE} == "gcc"
-CFLAGS+=	-finhibit-size-directive -fno-toplevel-reorder
-.endif
+CFLAGS.gcc+=	-finhibit-size-directive -fno-toplevel-reorder
 CFLAGS+=	-fno-inline-functions -fno-exceptions \
 		-fno-zero-initialized-in-bss -fno-asynchronous-unwind-tables \
 		-fno-omit-frame-pointer

Modified: head/gnu/lib/libgcc/Makefile
==============================================================================
--- head/gnu/lib/libgcc/Makefile	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/gnu/lib/libgcc/Makefile	Sun Dec 22 17:51:33 2013	(r259730)
@@ -112,9 +112,7 @@ LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udi
 .if ${TARGET_CPUARCH} == "arm"
 #	from config/arm/t-strongarm-elf
 CFLAGS+=	-Dinhibit_libc -fno-inline
-.if ${COMPILER_TYPE} == "clang"
-CFLAGS+=	-fheinous-gnu-extensions
-.endif
+CFLAGS.clang+=	-fheinous-gnu-extensions
 
 LIB1ASMSRC =	lib1funcs.asm
 LIB1ASMFUNCS =  _dvmd_tls _bb_init_func

Modified: head/gnu/lib/libstdc++/Makefile
==============================================================================
--- head/gnu/lib/libstdc++/Makefile	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/gnu/lib/libstdc++/Makefile	Sun Dec 22 17:51:33 2013	(r259730)
@@ -637,6 +637,4 @@ CLEANFILES+=	${VERSION_MAP}
 # Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98.
 CXXFLAGS:=	${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
 
-.if ${COMPILER_TYPE} == "clang"
-CXXFLAGS+=	-stdlib=libstdc++
-.endif
+CXXFLAGS.clang+= -stdlib=libstdc++

Modified: head/gnu/lib/libsupc++/Makefile
==============================================================================
--- head/gnu/lib/libsupc++/Makefile	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/gnu/lib/libsupc++/Makefile	Sun Dec 22 17:51:33 2013	(r259730)
@@ -57,6 +57,4 @@ VERSION_MAP=	${.CURDIR}/Version.map
 # Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98.
 CXXFLAGS:=	${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
 
-.if ${COMPILER_TYPE} == "clang"
-CXXFLAGS+=	-stdlib=libstdc++
-.endif
+CXXFLAGS.clang+= -stdlib=libstdc++

Modified: head/lib/atf/libatf-c/tests/Makefile
==============================================================================
--- head/lib/atf/libatf-c/tests/Makefile	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/lib/atf/libatf-c/tests/Makefile	Sun Dec 22 17:51:33 2013	(r259730)
@@ -10,12 +10,10 @@ ATF=		${.CURDIR:H:H:H:H}/contrib/atf
 
 CFLAGS+=	-I${ATF}
 
-.if ${COMPILER_TYPE} == "clang"
 # macros_test.c contains a double 'const const' which will be gone with
 # the import of atf-0.18.
 # TODO(jmmv): Remove this workaround once we do that update.
-CFLAGS+=	-Wno-duplicate-decl-specifier
-.endif
+CFLAGS.clang+=	-Wno-duplicate-decl-specifier
 
 FILESDIR=	${TESTSDIR}
 FILES=		macros_h_test.c

Modified: head/share/mk/bsd.sys.mk
==============================================================================
--- head/share/mk/bsd.sys.mk	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/share/mk/bsd.sys.mk	Sun Dec 22 17:51:33 2013	(r259730)
@@ -114,12 +114,19 @@ CWARNFLAGS+=	-Wno-format
 CWARNFLAGS+=	-Wno-unknown-pragmas
 .endif # IGNORE_PRAGMA
 
-.if ${COMPILER_TYPE} == "clang" && !defined(EARLY_BUILD)
+.if !defined(EARLY_BUILD)
+.if ${COMPILER_TYPE} == "clang"
 CLANG_NO_IAS=	 -no-integrated-as
 CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\
 		 -mllvm -enable-load-pre=false -mllvm -simplifycfg-dup-ret
 CFLAGS+=	 -Qunused-arguments
+CFLAGS+=	 ${CFLAGS.clang}
+CXXFLAGS+=	 ${CXXFLAGS.clang}
+.else # !CLANG
+CFLAGS+=	 ${CFLAGS.gcc}
+CXXFLAGS+=	 ${CXXFLAGS.gcc}
 .endif # CLANG
+.endif # !EARLY_BUILD
 
 .if ${MK_SSP} != "no" && ${MACHINE_CPUARCH} != "ia64" && \
     ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"

Modified: head/sys/conf/Makefile.arm
==============================================================================
--- head/sys/conf/Makefile.arm	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/sys/conf/Makefile.arm	Sun Dec 22 17:51:33 2013	(r259730)
@@ -39,20 +39,16 @@ SYSTEM_DEP:= ${SYSTEM_DEP:$S/conf/ldscri
 STRIP_FLAGS = -S
 .endif
 
-.if ${COMPILER_TYPE} != "clang"
-CFLAGS += -mno-thumb-interwork
-.endif
+CFLAGS.gcc += -mno-thumb-interwork
 
 .if empty(DDB_ENABLED)
-.if defined(WITHOUT_ARM_EABI) && ${COMPILER_TYPE} != "clang"
-CFLAGS += -mno-apcs-frame
+.if defined(WITHOUT_ARM_EABI)
+CFLAGS.gcc += -mno-apcs-frame
 .endif
 .elif !defined(WITHOUT_ARM_EABI)
 CFLAGS += -funwind-tables
-.if ${COMPILER_TYPE} == "clang"
 # clang requires us to tell it to emit assembly with unwind information
-CFLAGS += -mllvm -arm-enable-ehabi
-.endif
+CFLAGS.clang += -mllvm -arm-enable-ehabi
 .endif
 
 SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \

Modified: head/tools/tools/ath/athstats/Makefile
==============================================================================
--- head/tools/tools/ath/athstats/Makefile	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/tools/tools/ath/athstats/Makefile	Sun Dec 22 17:51:33 2013	(r259730)
@@ -21,9 +21,7 @@ CLEANFILES+=	opt_ah.h
 CFLAGS+=-DATH_SUPPORT_ANI
 CFLAGS+=-DATH_SUPPORT_TDMA
 
-.if (${COMPILER_TYPE} == "clang")
-CFLAGS+=-fbracket-depth=512
-.endif
+CFLAGS.clang+= -fbracket-depth=512
 
 opt_ah.h:
 	echo "#define AH_DEBUG 1" > opt_ah.h

Modified: head/tools/tools/net80211/wlanstats/Makefile
==============================================================================
--- head/tools/tools/net80211/wlanstats/Makefile	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/tools/tools/net80211/wlanstats/Makefile	Sun Dec 22 17:51:33 2013	(r259730)
@@ -7,8 +7,6 @@ BINDIR=	/usr/local/bin
 NO_MAN=
 
 SRCS=	statfoo.c wlanstats.c main.c
-.if ${COMPILER_TYPE} == "clang"
-CFLAGS+= -fbracket-depth=512
-.endif
+CFLAGS.clang+= -fbracket-depth=512
 
 .include <bsd.prog.mk>

Modified: head/usr.bin/mkcsmapper/Makefile.inc
==============================================================================
--- head/usr.bin/mkcsmapper/Makefile.inc	Sun Dec 22 16:12:47 2013	(r259729)
+++ head/usr.bin/mkcsmapper/Makefile.inc	Sun Dec 22 17:51:33 2013	(r259730)
@@ -6,6 +6,4 @@ SRCS+=	lex.l yacc.y
 CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../mkcsmapper \
 	 -I${.CURDIR}/../../lib/libc/iconv \
 	 -I${.CURDIR}/../../lib/libiconv_modules/mapper_std
-.if ${COMPILER_TYPE} == "gcc"
-CFLAGS+= --param max-inline-insns-single=64
-.endif
+CFLAGS.gcc+= --param max-inline-insns-single=64



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201312221751.rBMHpYpj059326>