diff options
author | Evgeniy Stepanov <eugenis@google.com> | 2012-03-20 18:00:16 +0400 |
---|---|---|
committer | Stephen Hines <srhines@google.com> | 2012-03-22 07:31:27 -0700 |
commit | b71e2df30a2a24d5566734b3c41716bee9351fd1 (patch) | |
tree | da36794a432c2bb050c231cc85f9a06173a1370e /core/llvm_config.mk | |
parent | 0e4c317c926a6540d53356dc75e51ca5dd004f0d (diff) | |
download | build-b71e2df30a2a24d5566734b3c41716bee9351fd1.zip build-b71e2df30a2a24d5566734b3c41716bee9351fd1.tar.gz build-b71e2df30a2a24d5566734b3c41716bee9351fd1.tar.bz2 |
Add LOCAL_CLANG variable to switch C/C++ build environment to Clang.
Change-Id: I8ca1c24f51aa5546ac9618d31566a52e4fdb1436
Conflicts:
core/clear_vars.mk
Diffstat (limited to 'core/llvm_config.mk')
-rw-r--r-- | core/llvm_config.mk | 46 |
1 files changed, 35 insertions, 11 deletions
diff --git a/core/llvm_config.mk b/core/llvm_config.mk index 1238c8f..103221c 100644 --- a/core/llvm_config.mk +++ b/core/llvm_config.mk @@ -1,4 +1,5 @@ CLANG := $(HOST_OUT_EXECUTABLES)/clang$(HOST_EXECUTABLE_SUFFIX) +CLANG_CXX := $(HOST_OUT_EXECUTABLES)/clang++$(HOST_EXECUTABLE_SUFFIX) LLVM_LINK := $(HOST_OUT_EXECUTABLES)/llvm-link$(HOST_EXECUTABLE_SUFFIX) define do-clang-flags-subst @@ -11,18 +12,41 @@ define clang-flags-subst endef -# These seem to cause warnings on clang/LLVM. +CLANG_CONFIG_EXTRA_CFLAGS := \ + -D__compiler_offsetof=__builtin_offsetof \ + -Dnan=__builtin_nan \ + CLANG_CONFIG_UNKNOWN_CFLAGS := \ - -mthumb-interwork \ - -fgcse-after-reload \ - -frerun-cse-after-loop \ - -frename-registers \ - -funswitch-loops \ - -Wa,--noexecstack \ - -mfpu=vfpv3-d16 - -# Workaround a SIGSEGV in Lol -CLANG_CONFIG_UNKNOWN_CFLAGS += -g + -funswitch-loops + +ifeq ($(TARGET_ARCH),arm) + CLANG_CONFIG_EXTRA_CFLAGS += \ + -target arm-linux-androideabi \ + -mllvm -arm-enable-ehabi + CLANG_CONFIG_EXTRA_LDFLAGS += \ + -target arm-linux-androideabi \ + -B$(TARGET_TOOLCHAIN_ROOT)/arm-linux-androideabi/bin + CLANG_CONFIG_UNKNOWN_CFLAGS += \ + -mthumb-interwork \ + -fgcse-after-reload \ + -frerun-cse-after-loop \ + -frename-registers \ + -Wa,--noexecstack +endif +ifeq ($(TARGET_ARCH),x86) + CLANG_CONFIG_EXTRA_CFLAGS += \ + -target i686-android-linux + CLANG_CONFIG_EXTRA_LDFLAGS += \ + -target i686-android-linux \ + -B$(TARGET_TOOLCHAIN_ROOT)/i686-android-linux/bin + CLANG_CONFIG_UNKNOWN_CFLAGS += \ + -finline-limit=300 \ + -fno-inline-functions-called-once \ + -mfpmath=sse \ + -mbionic +endif + +CLANG_CONFIG_EXTRA_C_INCLUDES := external/clang/lib/Headers # remove unknown flags to define CLANG_FLAGS TARGET_GLOBAL_CLANG_FLAGS += $(filter-out $(CLANG_CONFIG_UNKNOWN_CFLAGS),$(TARGET_GLOBAL_CFLAGS)) |