Patrick Georgi (patrick@georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/5747
-gerrit
commit e7826d5c481e282e44c99d91a7d2e5baa8c8cb1b Author: Patrick Georgi patrick@georgi-clan.de Date: Wed May 14 21:05:35 2014 +0200
build system: re-enable clang use
Change-Id: I6e07fdec449d0b259d77986f65a60aa36d367cc8 Signed-off-by: Patrick Georgi patrick@georgi-clan.de --- Makefile | 26 +++++++++++++++++++++++--- Makefile.inc | 2 +- src/arch/x86/Makefile.inc | 2 +- 3 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/Makefile b/Makefile index cc2d27c..01146b2 100644 --- a/Makefile +++ b/Makefile @@ -107,13 +107,33 @@ else
include $(HAVE_DOTCONFIG)
-include toolchain.inc - ifeq ($(CONFIG_COMPILER_LLVM_CLANG),y) -CC:=clang -m32 -mno-mmx -mno-sse -no-integrated-as +# FIXME: CC_* contains more than one word and quotes don't work either +# armv7/aarch64 won't build right now +CFLAGS_x86_32 = -target i386-elf -m32 +CC_x86_32:=clang + +ifneq ($(CONFIG_MMX),y) +CFLAGS_x86_32 += -mno-mmx +endif + +ifneq ($(CONFIG_SSE),y) +CFLAGS_x86_32 += -mno-sse +endif + +CFLAGS_armv7 = -target armv7-eabi -ccc-gcc-name $(CC_armv7) +CC_armv7:=clang + +CFLAGS_aarch64 = -target aarch64-eabi -ccc-gcc-name $(CC_aarch64) +CC_aarch64:=clang + +CFLAGS_common += -no-integrated-as -Qunused-arguments + HOSTCC:=clang endif
+include toolchain.inc + strip_quotes = $(subst ",,$(subst ",,$(1)))
# The primary target needs to be here before we include the diff --git a/Makefile.inc b/Makefile.inc index 529250d..4621bb7 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -218,7 +218,7 @@ CPPFLAGS_common := -Isrc -Isrc/include -I$(obj) CPPFLAGS_common += -Isrc/device/oprom/include CPPFLAGS_common += -include $(src)/include/kconfig.h
-CFLAGS_common = -Os -pipe -g -nostdinc +CFLAGS_common += -Os -pipe -g -nostdinc CFLAGS_common += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes CFLAGS_common += -Wwrite-strings -Wredundant-decls -Wno-trigraphs CFLAGS_common += -Wstrict-aliasing -Wshadow diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 6c7008c..78cd234 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -252,7 +252,7 @@ $(objgenerated)/crt0.romstage.S: $$(crt0s)
$(objgenerated)/crt0.romstage.o: $(objgenerated)/crt0.s @printf " CC $(subst $(obj)/,,$(@))\n" - $(CC_romstage) $(DISASSEMBLY) -c -o $@ $< > $(basename $@).disasm + $(CC_romstage) $(CFLAGS_romstage) $(DISASSEMBLY) -c -o $@ $< > $(basename $@).disasm
$(objgenerated)/crt0.s: $(objgenerated)/crt0.romstage.S $(obj)/config.h $(obj)/build.h @printf " CC $(subst $(obj)/,,$(@))\n"