11f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 21f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wanginclude $(BUILD_SYSTEM)/clang/x86.mk 31f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 41f9828387d8d3d0b1a02f99633ac58a68aa366adYing WangCLANG_CONFIG_x86_TARGET_TRIPLE := i686-linux-android 56d5dd2367ae19357a92e545652c10ba02928b103Stephen Hines# NOTE: There is no i686-linux-android prebuilt, so we must hardcode the 66d5dd2367ae19357a92e545652c10ba02928b103Stephen Hines# x86_64 target instead. 71f9828387d8d3d0b1a02f99633ac58a68aa366adYing WangCLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX := \ 8b0ef9111ac3ffafa31c1dbd379c92dc349d1e571Colin Cross $($(clang_2nd_arch_prefix)TARGET_TOOLCHAIN_ROOT)/x86_64-linux-android/bin 91f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 101f9828387d8d3d0b1a02f99633ac58a68aa366adYing WangCLANG_CONFIG_x86_TARGET_EXTRA_ASFLAGS := \ 111f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_EXTRA_ASFLAGS) \ 121f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_TARGET_EXTRA_ASFLAGS) \ 131f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_x86_EXTRA_ASFLAGS) \ 141f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang -target $(CLANG_CONFIG_x86_TARGET_TRIPLE) \ 151f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang -B$(CLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX) 161f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 171f9828387d8d3d0b1a02f99633ac58a68aa366adYing WangCLANG_CONFIG_x86_TARGET_EXTRA_CFLAGS := \ 181f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_EXTRA_CFLAGS) \ 191f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_TARGET_EXTRA_CFLAGS) \ 201f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_x86_EXTRA_CFLAGS) \ 2173e734bea5e84b712b4ced2bedbcf2e51c4a2fd4Chih-Hung Hsieh $(CLANG_CONFIG_x86_TARGET_EXTRA_ASFLAGS) \ 2273e734bea5e84b712b4ced2bedbcf2e51c4a2fd4Chih-Hung Hsieh -mstackrealign 2373e734bea5e84b712b4ced2bedbcf2e51c4a2fd4Chih-Hung Hsieh 2473e734bea5e84b712b4ced2bedbcf2e51c4a2fd4Chih-Hung Hsieh# -mstackrealign is needed to realign stack in native code 2573e734bea5e84b712b4ced2bedbcf2e51c4a2fd4Chih-Hung Hsieh# that could be called from JNI, so that movaps instruction 2673e734bea5e84b712b4ced2bedbcf2e51c4a2fd4Chih-Hung Hsieh# will work on assumed stack aligned local variables. 271f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 281568029218b3da82a3bbd3fd6dce4385db5daf5bStephen HinesCLANG_CONFIG_x86_TARGET_EXTRA_CONLYFLAGS := \ 291568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines $(CLANG_CONFIG_EXTRA_CONLYFLAGS) \ 301568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines $(CLANG_CONFIG_TARGET_EXTRA_CONLYFLAGS) \ 311568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines $(CLANG_CONFIG_x86_EXTRA_CONLYFLAGS) 321568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines 331f9828387d8d3d0b1a02f99633ac58a68aa366adYing WangCLANG_CONFIG_x86_TARGET_EXTRA_CPPFLAGS := \ 341f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_EXTRA_CPPFLAGS) \ 351f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_TARGET_EXTRA_CPPFLAGS) \ 361f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_x86_EXTRA_CPPFLAGS) \ 371f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 381f9828387d8d3d0b1a02f99633ac58a68aa366adYing WangCLANG_CONFIG_x86_TARGET_EXTRA_LDFLAGS := \ 391f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_EXTRA_LDFLAGS) \ 401f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_TARGET_EXTRA_LDFLAGS) \ 411f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_x86_EXTRA_LDFLAGS) \ 421f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang -target $(CLANG_CONFIG_x86_TARGET_TRIPLE) \ 431f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang -B$(CLANG_CONFIG_x86_TARGET_TOOLCHAIN_PREFIX) 441f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 451f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 461f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wangdefine $(clang_2nd_arch_prefix)convert-to-clang-flags 471f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(strip \ 481f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(call subst-clang-incompatible-x86-flags,\ 491f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(filter-out $(CLANG_CONFIG_x86_UNKNOWN_CFLAGS),\ 501f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(1)))) 511f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wangendef 521f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 531f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang$(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CFLAGS := \ 541f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CFLAGS)) \ 551f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_x86_TARGET_EXTRA_CFLAGS) 561f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 571568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines$(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CONLYFLAGS := \ 581568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CONLYFLAGS)) \ 591568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines $(CLANG_CONFIG_x86_TARGET_EXTRA_CONLYFLAGS) 601568029218b3da82a3bbd3fd6dce4385db5daf5bStephen Hines 611f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang$(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_CPPFLAGS := \ 621f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_CPPFLAGS)) \ 631f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_x86_TARGET_EXTRA_CPPFLAGS) 641f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 651f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang$(clang_2nd_arch_prefix)CLANG_TARGET_GLOBAL_LDFLAGS := \ 661f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(call $(clang_2nd_arch_prefix)convert-to-clang-flags,$($(clang_2nd_arch_prefix)TARGET_GLOBAL_LDFLAGS)) \ 671f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang $(CLANG_CONFIG_x86_TARGET_EXTRA_LDFLAGS) 681f9828387d8d3d0b1a02f99633ac58a68aa366adYing Wang 6927b18f5c950d3c4d16f26bd693df29912b76b8fbPirama Arumuga Nainar$(clang_2nd_arch_prefix)RS_TRIPLE := armv7-linux-androideabi 70039675adb8882b21e770edac1bd167d7fb489052Stephen Hines$(clang_2nd_arch_prefix)RS_TRIPLE_CFLAGS := -D__i386__ 719b2908b4f61b793fd3678fa7dfe6f272540adcc2Miao Wang$(clang_2nd_arch_prefix)RS_COMPAT_TRIPLE := i686-linux-android 72343ed674e35ae0911542abe67dca3fb3a1cccf95Dan Albert 73343ed674e35ae0911542abe67dca3fb3a1cccf95Dan Albert$(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-i686-android.a 74b83e171c8d99bee7caaf04c4cf88cd85aeeb4adeIvan Krasin 75b83e171c8d99bee7caaf04c4cf88cd85aeeb4adeIvan Krasin# Address sanitizer clang config 76b83e171c8d99bee7caaf04c4cf88cd85aeeb4adeIvan Krasin$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_RUNTIME_LIBRARY := libclang_rt.asan-i686-android 77b83e171c8d99bee7caaf04c4cf88cd85aeeb4adeIvan Krasin$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan 78