summaryrefslogtreecommitdiff
path: root/Make.defaults
diff options
context:
space:
mode:
authorNigel Croxon <ncroxon@redhat.com>2017-02-17 16:24:26 -0500
committerNigel Croxon <ncroxon@redhat.com>2017-02-17 16:24:26 -0500
commit787cb7fcd8954f8865249128d99626e4d2c0c252 (patch)
tree6b753dc064d1eea8a7bffb0cd8a8e26c1988b890 /Make.defaults
parentbdb6182f0a7cb008b6a55b5cc9880276cec02888 (diff)
downloadgnu-efi-787cb7fcd8954f8865249128d99626e4d2c0c252.tar.gz
fix clang support.
Tested: make all apps + tests apps/ on x86_64 make CC=clang all apps + tests apps/ on x86_64 Signed-off-by: David Decotigny <ddecotig@gmail.com> Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
Diffstat (limited to 'Make.defaults')
-rwxr-xr-xMake.defaults5
1 files changed, 4 insertions, 1 deletions
diff --git a/Make.defaults b/Make.defaults
index 51bd7d8..16f1fd2 100755
--- a/Make.defaults
+++ b/Make.defaults
@@ -101,6 +101,7 @@ endif
ifeq ($(ARCH),x86_64)
GCCVERSION := $(shell $(CC) -dumpversion | cut -f1 -d.)
GCCMINOR := $(shell $(CC) -dumpversion | cut -f2 -d.)
+ USING_CLANG := $(shell $(CC) -v 2>&1 | grep -q 'clang version' && echo clang)
# Rely on GCC MS ABI support?
GCCNEWENOUGH := $(shell ( [ $(GCCVERSION) -gt "4" ] \
@@ -109,6 +110,8 @@ ifeq ($(ARCH),x86_64)
&& echo 1)
ifeq ($(GCCNEWENOUGH),1)
CPPFLAGS += -DGNU_EFI_USE_MS_ABI -maccumulate-outgoing-args --std=c11
+ else ifeq ($(USING_CLANG),clang)
+ CPPFLAGS += -DGNU_EFI_USE_MS_ABI --std=c11
endif
CFLAGS += -mno-red-zone
@@ -159,7 +162,7 @@ CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
else
CFLAGS += $(ARCH3264) -g -O2 -Wall -Wextra -Werror \
-fshort-wchar -fno-strict-aliasing \
- -fno-merge-constants -ffreestanding -fno-stack-protector \
+ -fno-merge-all-constants -ffreestanding -fno-stack-protector \
-fno-stack-check
endif