config.mk revision 7bc754bca995a1d57e3573ac37edd9531f59e432
1ifeq (true,$(FORCE_BUILD_LLVM_COMPONENTS)) 2LLVM_PREBUILTS_PATH := $(BUILD_OUT_EXECUTABLES) 3LLVM_PREBUILTS_HEADER_PATH := external/clang/lib/include 4else 5LLVM_PREBUILTS_PATH := prebuilts/clang/$(BUILD_OS)-x86/host/3.4/bin 6LLVM_PREBUILTS_HEADER_PATH := prebuilts/clang/$(BUILD_OS)-x86/host/3.4/lib/clang/3.4/include/ 7endif 8 9CLANG := $(LLVM_PREBUILTS_PATH)/clang$(BUILD_EXECUTABLE_SUFFIX) 10CLANG_CXX := $(LLVM_PREBUILTS_PATH)/clang++$(BUILD_EXECUTABLE_SUFFIX) 11CLANG_TBLGEN := $(LLVM_PREBUILTS_PATH)/clang-tblgen$(BUILD_EXECUTABLE_SUFFIX) 12LLVM_AS := $(LLVM_PREBUILTS_PATH)/llvm-as$(BUILD_EXECUTABLE_SUFFIX) 13LLVM_LINK := $(LLVM_PREBUILTS_PATH)/llvm-link$(BUILD_EXECUTABLE_SUFFIX) 14TBLGEN := $(LLVM_PREBUILTS_PATH)/tblgen$(BUILD_EXECUTABLE_SUFFIX) 15 16 17# Clang flags for all host or target rules 18CLANG_CONFIG_EXTRA_ASFLAGS := 19CLANG_CONFIG_EXTRA_CFLAGS := 20CLANG_CONFIG_EXTRA_CPPFLAGS := 21CLANG_CONFIG_EXTRA_LDFLAGS := 22 23CLANG_CONFIG_EXTRA_CFLAGS := \ 24 -D__compiler_offsetof=__builtin_offsetof 25 26CLANG_CONFIG_UNKNOWN_CFLAGS := \ 27 -funswitch-loops \ 28 -Wno-psabi \ 29 -Wno-unused-but-set-variable \ 30 -Wno-unused-but-set-parameter 31 32# Clang flags for all host rules 33CLANG_CONFIG_HOST_EXTRA_ASFLAGS := 34CLANG_CONFIG_HOST_EXTRA_CFLAGS := 35CLANG_CONFIG_HOST_EXTRA_CPPFLAGS := 36CLANG_CONFIG_HOST_EXTRA_LDFLAGS := 37 38# Clang flags for all target rules 39CLANG_CONFIG_TARGET_EXTRA_ASFLAGS := 40CLANG_CONFIG_TARGET_EXTRA_CFLAGS := -nostdlibinc 41CLANG_CONFIG_TARGET_EXTRA_CPPFLAGS := -nostdlibinc 42CLANG_CONFIG_TARGET_EXTRA_LDFLAGS := 43 44# HOST config 45include $(BUILD_SYSTEM)/clang/HOST_$(HOST_ARCH).mk 46 47# TARGET config 48clang_2nd_arch_prefix := 49include $(BUILD_SYSTEM)/clang/TARGET_$(TARGET_ARCH).mk 50 51# TARGET_2ND_ARCH config 52ifdef TARGET_2ND_ARCH 53clang_2nd_arch_prefix := $(TARGET_2ND_ARCH_VAR_PREFIX) 54include $(BUILD_SYSTEM)/clang/TARGET_$(TARGET_2ND_ARCH).mk 55endif 56 57 58# Clang compiler-specific libc headers 59CLANG_CONFIG_EXTRA_HOST_C_INCLUDES := $(LLVM_PREBUILTS_HEADER_PATH) 60CLANG_CONFIG_EXTRA_TARGET_C_INCLUDES := $(LLVM_PREBUILTS_HEADER_PATH) $(TARGET_OUT_HEADERS)/clang 61 62# Address sanitizer clang config 63ADDRESS_SANITIZER_CONFIG_EXTRA_CFLAGS := -fsanitize=address 64ADDRESS_SANITIZER_CONFIG_EXTRA_LDFLAGS := -Wl,-u,__asan_preinit 65ADDRESS_SANITIZER_CONFIG_EXTRA_SHARED_LIBRARIES := libdl libasan_preload 66ADDRESS_SANITIZER_CONFIG_EXTRA_STATIC_LIBRARIES := libasan 67 68# This allows us to use the superset of functionality that compiler-rt 69# provides to Clang (for supporting features like -ftrapv). 70COMPILER_RT_CONFIG_EXTRA_STATIC_LIBRARIES := libcompiler_rt-extras 71