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) \ |
| 22 | -fno-optimize-sibling-calls \ |
| 23 | -mstackrealign |
| 24 | |
| 25 | # http://llvm.org/bugs/show_bug.cgi?id=15086, |
| 26 | # llvm tail call optimization is wrong for x86. |
| 27 | # -mstackrealign is needed to realign stack in native code |
| 28 | # that could be called from JNI, so that movaps instruction |
| 29 | # will work on assumed stack aligned local variables. |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 30 | |
Stephen Hines | 1568029 | 2014-11-26 00:53:46 -0800 | [diff] [blame] | 31 | CLANG_CONFIG_x86_TARGET_EXTRA_CONLYFLAGS := \ |
| 32 | $(CLANG_CONFIG_EXTRA_CONLYFLAGS) \ |
| 33 | $(CLANG_CONFIG_TARGET_EXTRA_CONLYFLAGS) \ |
| 34 | $(CLANG_CONFIG_x86_EXTRA_CONLYFLAGS) |
| 35 | |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 36 | CLANG_CONFIG_x86_TARGET_EXTRA_CPPFLAGS := \ |
| 37 | $(CLANG_CONFIG_EXTRA_CPPFLAGS) \ |
| 38 | $(CLANG_CONFIG_TARGET_EXTRA_CPPFLAGS) \ |
| 39 | $(CLANG_CONFIG_x86_EXTRA_CPPFLAGS) \ |
| 40 | |
| 41 | CLANG_CONFIG_x86_TARGET_EXTRA_LDFLAGS := \ |
| 42 | $(CLANG_CONFIG_EXTRA_LDFLAGS) \ |
| 43 | $(CLANG_CONFIG_TARGET_EXTRA_LDFLAGS) \ |
| 44 | $(CLANG_CONFIG_x86_EXTRA_LDFLAGS) \ |
| 45 | -target $(CLANG_CONFIG_x86_TARGET_TRIPLE) \ |
| 46 | -B$(CLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX) |
| 47 | |
| 48 | |
| 49 | define $(clang_2nd_arch_prefix)convert-to-clang-flags |
| 50 | $(strip \ |
| 51 | $(call subst-clang-incompatible-x86-flags,\ |
| 52 | $(filter-out $(CLANG_CONFIG_x86_UNKNOWN_CFLAGS),\ |
| 53 | $(1)))) |
| 54 | endef |
| 55 | |
| 56 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CFLAGS := \ |
| 57 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS)) \ |
| 58 | $(CLANG_CONFIG_x86_TARGET_EXTRA_CFLAGS) |
| 59 | |
Stephen Hines | 1568029 | 2014-11-26 00:53:46 -0800 | [diff] [blame] | 60 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CONLYFLAGS := \ |
| 61 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CONLYFLAGS)) \ |
| 62 | $(CLANG_CONFIG_x86_TARGET_EXTRA_CONLYFLAGS) |
| 63 | |
Ying Wang | 1f98283 | 2014-02-06 18:08:44 -0800 | [diff] [blame] | 64 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CPPFLAGS := \ |
| 65 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS)) \ |
| 66 | $(CLANG_CONFIG_x86_TARGET_EXTRA_CPPFLAGS) |
| 67 | |
| 68 | $(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_LDFLAGS := \ |
| 69 | $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS)) \ |
| 70 | $(CLANG_CONFIG_x86_TARGET_EXTRA_LDFLAGS) |
| 71 | |
Stephen Hines | 039675a | 2014-08-29 14:43:53 -0700 | [diff] [blame] | 72 | $(clang_2nd_arch_prefix)RS_TRIPLE := armv7-none-linux-gnueabi |
| 73 | $(clang_2nd_arch_prefix)RS_TRIPLE_CFLAGS := -D__i386__ |
Miao Wang | 9b2908b | 2015-01-12 17:20:28 -0800 | [diff] [blame] | 74 | $(clang_2nd_arch_prefix)RS_COMPAT_TRIPLE := i686-linux-android |