llvm_config.mk revision 55daae9688de0a064c9b37723ce7451c2dc0d6cb
1CLANG := $(HOST_OUT_EXECUTABLES)/clang$(HOST_EXECUTABLE_SUFFIX) 2CLANG_CXX := $(HOST_OUT_EXECUTABLES)/clang++$(HOST_EXECUTABLE_SUFFIX) 3LLVM_LINK := $(HOST_OUT_EXECUTABLES)/llvm-link$(HOST_EXECUTABLE_SUFFIX) 4 5define do-clang-flags-subst 6 TARGET_GLOBAL_CLANG_FLAGS := $(subst $(1),$(2),$(TARGET_GLOBAL_CLANG_FLAGS)) 7 HOST_GLOBAL_CLANG_FLAGS := $(subst $(1),$(2),$(HOST_GLOBAL_CLANG_FLAGS)) 8endef 9 10define clang-flags-subst 11 $(eval $(call do-clang-flags-subst,$(1),$(2))) 12endef 13 14 15CLANG_CONFIG_EXTRA_CFLAGS := \ 16 -D__compiler_offsetof=__builtin_offsetof \ 17 -Dnan=__builtin_nan \ 18 19CLANG_CONFIG_UNKNOWN_CFLAGS := \ 20 -funswitch-loops 21 22ifeq ($(TARGET_ARCH),arm) 23 CLANG_CONFIG_EXTRA_CFLAGS += \ 24 -target arm-linux-androideabi \ 25 -nostdlibinc \ 26 -B$(TARGET_TOOLCHAIN_ROOT)/arm-linux-androideabi/bin \ 27 -mllvm -arm-enable-ehabi 28 CLANG_CONFIG_EXTRA_LDFLAGS += \ 29 -target arm-linux-androideabi \ 30 -B$(TARGET_TOOLCHAIN_ROOT)/arm-linux-androideabi/bin 31 CLANG_CONFIG_UNKNOWN_CFLAGS += \ 32 -mthumb-interwork \ 33 -fgcse-after-reload \ 34 -frerun-cse-after-loop \ 35 -frename-registers \ 36 -Wa,--noexecstack 37endif 38ifeq ($(TARGET_ARCH),x86) 39 CLANG_CONFIG_EXTRA_CFLAGS += \ 40 -target i686-android-linux \ 41 -nostdlibinc \ 42 -B$(TARGET_TOOLCHAIN_ROOT)/i686-android-linux/bin 43 CLANG_CONFIG_EXTRA_LDFLAGS += \ 44 -target i686-android-linux \ 45 -B$(TARGET_TOOLCHAIN_ROOT)/i686-android-linux/bin 46 CLANG_CONFIG_UNKNOWN_CFLAGS += \ 47 -finline-limit=300 \ 48 -fno-inline-functions-called-once \ 49 -mfpmath=sse \ 50 -mbionic 51endif 52 53CLANG_CONFIG_EXTRA_C_INCLUDES := external/clang/lib/Headers 54 55# remove unknown flags to define CLANG_FLAGS 56TARGET_GLOBAL_CLANG_FLAGS += $(filter-out $(CLANG_CONFIG_UNKNOWN_CFLAGS),$(TARGET_GLOBAL_CFLAGS)) 57HOST_GLOBAL_CLANG_FLAGS += $(filter-out $(CLANG_CONFIG_UNKNOWN_CFLAGS),$(HOST_GLOBAL_CFLAGS)) 58 59# llvm does not yet support -march=armv5e nor -march=armv5te, fall back to armv5 or armv5t 60$(call clang-flags-subst,-march=armv5te,-march=armv5t) 61$(call clang-flags-subst,-march=armv5e,-march=armv5) 62