Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 1 | |
| 2 | include $(BUILD_SYSTEM)/clang/x86.mk |
| 3 | |
| 4 | CLANG_CONFIG_x86_TARGET_TRIPLE := i686-linux-android |
Stephen Hines | 6d5dd23 | 2014-02-13 03:21:12 -0800 | [diff] [blame] | 5 | # NOTE: There is no i686-linux-android prebuilt, so we must hardcode the |
| 6 | # x86_64 target instead. |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 7 | CLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX := \ |
Colin Cross | b0ef911 | 2014-02-11 12:47:52 -0800 | [diff] [blame] | 8 | $($(clang_2nd_arch_prefix)TARGET_TOOLCHAIN_ROOT)/x86_64-linux-android/bin |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 9 | |
| 10 | CLANG_CONFIG_x86_TARGET_EXTRA_ASFLAGS := \ |
| 11 | $(CLANG_CONFIG_EXTRA_ASFLAGS) \ |
| 12 | $(CLANG_CONFIG_TARGET_EXTRA_ASFLAGS) \ |
| 13 | $(CLANG_CONFIG_x86_EXTRA_ASFLAGS) \ |
| 14 | -target $(CLANG_CONFIG_x86_TARGET_TRIPLE) \ |
| 15 | -B$(CLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX) |
| 16 | |
| 17 | CLANG_CONFIG_x86_TARGET_EXTRA_CFLAGS := \ |
| 18 | $(CLANG_CONFIG_EXTRA_CFLAGS) \ |
| 19 | $(CLANG_CONFIG_TARGET_EXTRA_CFLAGS) \ |
| 20 | $(CLANG_CONFIG_x86_EXTRA_CFLAGS) \ |
Chih-Hung Hsieh | 73e734b | 2015-02-24 16:06:15 -0800 | [diff] [blame] | 21 | $(CLANG_CONFIG_x86_TARGET_EXTRA_ASFLAGS) \ |
Chih-Hung Hsieh | 73e734b | 2015-02-24 16:06:15 -0800 | [diff] [blame] | 22 | -mstackrealign |
| 23 | |
Chih-Hung Hsieh | 73e734b | 2015-02-24 16:06:15 -0800 | [diff] [blame] | 24 | # -mstackrealign is needed to realign stack in native code |
| 25 | # that could be called from JNI, so that movaps instruction |
| 26 | # will work on assumed stack aligned local variables. |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 27 | |
Stephen Hines | 1568029 | 2014-11-26 00:53:46 -0800 | [diff] [blame] | 28 | CLANG_CONFIG_x86_TARGET_EXTRA_CONLYFLAGS := \ |
| 29 | $(CLANG_CONFIG_EXTRA_CONLYFLAGS) \ |
| 30 | $(CLANG_CONFIG_TARGET_EXTRA_CONLYFLAGS) \ |
| 31 | $(CLANG_CONFIG_x86_EXTRA_CONLYFLAGS) |
| 32 | |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 33 | CLANG_CONFIG_x86_TARGET_EXTRA_CPPFLAGS := \ |
| 34 | $(CLANG_CONFIG_EXTRA_CPPFLAGS) \ |
| 35 | $(CLANG_CONFIG_TARGET_EXTRA_CPPFLAGS) \ |
| 36 | $(CLANG_CONFIG_x86_EXTRA_CPPFLAGS) \ |
| 37 | |
| 38 | CLANG_CONFIG_x86_TARGET_EXTRA_LDFLAGS := \ |
| 39 | $(CLANG_CONFIG_EXTRA_LDFLAGS) \ |
| 40 | $(CLANG_CONFIG_TARGET_EXTRA_LDFLAGS) \ |
| 41 | $(CLANG_CONFIG_x86_EXTRA_LDFLAGS) \ |
| 42 | -target $(CLANG_CONFIG_x86_TARGET_TRIPLE) \ |
| 43 | -B$(CLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX) |
| 44 | |
| 45 | |
| 46 | define $(clang_2nd_arch_prefix)convert-to-clang-flags |
| 47 | $(strip \ |
| 48 | $(call subst-clang-incompatible-x86-flags,\ |
| 49 | $(filter-out $(CLANG_CONFIG_x86_UNKNOWN_CFLAGS),\ |
| 50 | $(1)))) |
| 51 | endef |
| 52 | |
| 53 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CFLAGS := \ |
| 54 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS)) \ |
| 55 | $(CLANG_CONFIG_x86_TARGET_EXTRA_CFLAGS) |
| 56 | |
Stephen Hines | 1568029 | 2014-11-26 00:53:46 -0800 | [diff] [blame] | 57 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CONLYFLAGS := \ |
| 58 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CONLYFLAGS)) \ |
| 59 | $(CLANG_CONFIG_x86_TARGET_EXTRA_CONLYFLAGS) |
| 60 | |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 61 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CPPFLAGS := \ |
| 62 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS)) \ |
| 63 | $(CLANG_CONFIG_x86_TARGET_EXTRA_CPPFLAGS) |
| 64 | |
| 65 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_LDFLAGS := \ |
| 66 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS)) \ |
| 67 | $(CLANG_CONFIG_x86_TARGET_EXTRA_LDFLAGS) |
| 68 | |
Stephen Hines | 039675a | 2014-08-29 14:43:53 -0700 | [diff] [blame] | 69 | $(clang_2nd_arch_prefix)RS_TRIPLE := armv7-none-linux-gnueabi |
| 70 | $(clang_2nd_arch_prefix)RS_TRIPLE_CFLAGS := -D__i386__ |
Miao Wang | 9b2908b | 2015-01-12 17:20:28 -0800 | [diff] [blame] | 71 | $(clang_2nd_arch_prefix)RS_COMPAT_TRIPLE := i686-linux-android |
Dan Albert | 343ed67 | 2015-01-25 16:20:57 -0800 | [diff] [blame] | 72 | |
| 73 | $(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-i686-android.a |
Ivan Krasin | b83e171 | 2015-09-02 11:56:40 -0700 | [diff] [blame^] | 74 | |
| 75 | # Address sanitizer clang config |
| 76 | $(clang_2nd_arch_prefix)ADDRESS_SANITIZER_RUNTIME_LIBRARY := libclang_rt.asan-i686-android |
| 77 | $(clang_2nd_arch_prefix)ADDRESS_SANITIZER_RPATH := /data/vendor/lib:/$(TARGET_COPY_OUT_VENDOR)/lib:/data/lib |
| 78 | $(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan |