diff options
Diffstat (limited to 'llvm-device-build.mk')
-rw-r--r-- | llvm-device-build.mk | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/llvm-device-build.mk b/llvm-device-build.mk new file mode 100644 index 0000000..e1ce56d --- /dev/null +++ b/llvm-device-build.mk @@ -0,0 +1,70 @@ +LOCAL_CFLAGS := \ + -D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -D__STDC_CONSTANT_MACROS \ + -O2 \ + -fomit-frame-pointer \ + -Wall \ + -W \ + -Wno-unused-parameter \ + -Wwrite-strings \ + $(LOCAL_CFLAGS) + +# The three inline options together reduce libbcc.so almost 1MB. +# We move them from global build/core/combo/TARGET_linux-arm.mk +# to here. +LOCAL_CFLAGS := -DANDROID_TARGET_BUILD \ + -finline-limit=64 \ + -finline-functions \ + -fno-inline-functions-called-once \ + $(LOCAL_CFLAGS) + +ifeq ($(LLVM_ENABLE_ASSERTION),true) +LOCAL_CFLAGS := \ + -D_DEBUG \ + -UNDEBUG \ + $(LOCAL_CFLAGS) +endif + +ifneq ($(REQUIRES_EH),1) +LOCAL_CFLAGS += -fno-exceptions +else +# No action. The device target should not have exception enabled since bionic +# doesn't support it +REQUIRES_EH := 0 +endif + +ifneq ($(REQUIRES_RTTI),1) +LOCAL_CPPFLAGS += -fno-rtti +else +REQUIRES_RTTI := 0 +endif + +LOCAL_CPPFLAGS := \ + $(LOCAL_CPPFLAGS) \ + -Woverloaded-virtual \ + -Wno-sign-promo + +# Make sure bionic is first so we can include system headers. +LOCAL_C_INCLUDES := \ + bionic \ + external/stlport/stlport \ + $(LLVM_ROOT_PATH) \ + $(LLVM_ROOT_PATH)/include \ + $(LLVM_ROOT_PATH)/device/include \ + $(LOCAL_C_INCLUDES) + +########################################################### +## Commands for running tblgen to compile a td file +########################################################### +define transform-device-td-to-out +@mkdir -p $(dir $@) +@echo "Device TableGen (gen-$(1)): $(LOCAL_MODULE) <= $<" +$(hide) $(TBLGEN) \ + -I $(dir $<) \ + -I $(LLVM_ROOT_PATH)/include \ + -I $(LLVM_ROOT_PATH)/device/include \ + -I $(LLVM_ROOT_PATH)/lib/Target \ + -gen-$(strip $(1)) \ + -o $@ $< +endef |