diff options
Diffstat (limited to 'lib/builtins/CMakeLists.txt')
-rw-r--r-- | lib/builtins/CMakeLists.txt | 201 |
1 files changed, 118 insertions, 83 deletions
diff --git a/lib/builtins/CMakeLists.txt b/lib/builtins/CMakeLists.txt index 77947417b..d0bd07b63 100644 --- a/lib/builtins/CMakeLists.txt +++ b/lib/builtins/CMakeLists.txt @@ -150,7 +150,8 @@ set(GENERIC_SOURCES udivti3.c umoddi3.c umodsi3.c - umodti3.c) + umodti3.c +) set(GENERIC_TF_SOURCES comparetf2.c @@ -170,7 +171,8 @@ set(GENERIC_TF_SOURCES floatuntitf.c multc3.c trunctfdf2.c - trunctfsf2.c) + trunctfsf2.c +) option(COMPILER_RT_EXCLUDE_ATOMIC_BUILTIN "Skip the atomic builtin (these should normally be provided by a shared library)" @@ -179,15 +181,17 @@ option(COMPILER_RT_EXCLUDE_ATOMIC_BUILTIN if(NOT FUCHSIA AND NOT COMPILER_RT_BAREMETAL_BUILD) set(GENERIC_SOURCES ${GENERIC_SOURCES} - emutls.c + emutls.c enable_execute_stack.c - eprintf.c) + eprintf.c + ) endif() if(COMPILER_RT_HAS_ATOMIC_KEYWORD AND NOT COMPILER_RT_EXCLUDE_ATOMIC_BUILTIN) set(GENERIC_SOURCES ${GENERIC_SOURCES} - atomic.c) + atomic.c + ) endif() if(APPLE) @@ -198,19 +202,22 @@ if(APPLE) atomic_flag_test_and_set.c atomic_flag_test_and_set_explicit.c atomic_signal_fence.c - atomic_thread_fence.c) + atomic_thread_fence.c + ) endif() if (HAVE_UNWIND_H) set(GENERIC_SOURCES - ${GENERIC_SOURCES} - gcc_personality_v0.c) + ${GENERIC_SOURCES} + gcc_personality_v0.c + ) endif () if (NOT FUCHSIA) set(GENERIC_SOURCES ${GENERIC_SOURCES} - clear_cache.c) + clear_cache.c + ) endif() # These sources work on all x86 variants, but only x86 variants. @@ -232,54 +239,60 @@ set(x86_ARCH_SOURCES if (NOT MSVC) set(x86_64_SOURCES - x86_64/floatdidf.c - x86_64/floatdisf.c - x86_64/floatdixf.c - x86_64/floatundidf.S - x86_64/floatundisf.S - x86_64/floatundixf.S) + ${GENERIC_TF_SOURCES} + x86_64/floatdidf.c + x86_64/floatdisf.c + x86_64/floatdixf.c + x86_64/floatundidf.S + x86_64/floatundisf.S + x86_64/floatundixf.S + ) filter_builtin_sources(x86_64_SOURCES EXCLUDE x86_64_SOURCES "${x86_64_SOURCES};${GENERIC_SOURCES}") set(x86_64h_SOURCES ${x86_64_SOURCES}) if (WIN32) set(x86_64_SOURCES - ${x86_64_SOURCES} - x86_64/chkstk.S - x86_64/chkstk2.S) + ${x86_64_SOURCES} + x86_64/chkstk.S + x86_64/chkstk2.S + ) endif() set(i386_SOURCES - i386/ashldi3.S - i386/ashrdi3.S - i386/divdi3.S - i386/floatdidf.S - i386/floatdisf.S - i386/floatdixf.S - i386/floatundidf.S - i386/floatundisf.S - i386/floatundixf.S - i386/lshrdi3.S - i386/moddi3.S - i386/muldi3.S - i386/udivdi3.S - i386/umoddi3.S) + i386/ashldi3.S + i386/ashrdi3.S + i386/divdi3.S + i386/floatdidf.S + i386/floatdisf.S + i386/floatdixf.S + i386/floatundidf.S + i386/floatundisf.S + i386/floatundixf.S + i386/lshrdi3.S + i386/moddi3.S + i386/muldi3.S + i386/udivdi3.S + i386/umoddi3.S + ) filter_builtin_sources(i386_SOURCES EXCLUDE i386_SOURCES "${i386_SOURCES};${GENERIC_SOURCES}") if (WIN32) set(i386_SOURCES - ${i386_SOURCES} - i386/chkstk.S - i386/chkstk2.S) + ${i386_SOURCES} + i386/chkstk.S + i386/chkstk2.S + ) endif() else () # MSVC # Use C versions of functions when building on MSVC # MSVC's assembler takes Intel syntax, not AT&T syntax. # Also use only MSVC compilable builtin implementations. set(x86_64_SOURCES - x86_64/floatdidf.c - x86_64/floatdisf.c - x86_64/floatdixf.c - ${GENERIC_SOURCES}) + x86_64/floatdidf.c + x86_64/floatdisf.c + x86_64/floatdixf.c + ${GENERIC_SOURCES} + ) set(x86_64h_SOURCES ${x86_64_SOURCES}) set(i386_SOURCES ${GENERIC_SOURCES}) endif () # if (NOT MSVC) @@ -320,7 +333,8 @@ set(arm_SOURCES arm/sync_fetch_and_xor_8.S arm/udivmodsi4.S arm/udivsi3.S - arm/umodsi3.S) + arm/umodsi3.S +) filter_builtin_sources(arm_SOURCES EXCLUDE arm_SOURCES "${arm_SOURCES};${GENERIC_SOURCES}") set(thumb1_SOURCES @@ -328,7 +342,8 @@ set(thumb1_SOURCES arm/udivsi3.S arm/comparesf2.S arm/addsf3.S - ${GENERIC_SOURCES}) + ${GENERIC_SOURCES} +) set(arm_EABI_SOURCES arm/aeabi_cdcmp.S @@ -347,16 +362,19 @@ set(arm_EABI_SOURCES arm/aeabi_memmove.S arm/aeabi_memset.S arm/aeabi_uidivmod.S - arm/aeabi_uldivmod.S) + arm/aeabi_uldivmod.S +) set(arm_Thumb1_JT_SOURCES arm/switch16.S arm/switch32.S arm/switch8.S - arm/switchu8.S) + arm/switchu8.S +) set(arm_Thumb1_SjLj_EH_SOURCES arm/restore_vfp_d8_d15_regs.S - arm/save_vfp_d8_d15_regs.S) + arm/save_vfp_d8_d15_regs.S +) set(arm_Thumb1_VFPv2_SOURCES arm/adddf3vfp.S arm/addsf3vfp.S @@ -391,62 +409,70 @@ set(arm_Thumb1_VFPv2_SOURCES arm/subsf3vfp.S arm/truncdfsf2vfp.S arm/unorddf2vfp.S - arm/unordsf2vfp.S) + arm/unordsf2vfp.S +) set(arm_Thumb1_icache_SOURCES - arm/sync_synchronize.S) + arm/sync_synchronize.S +) set(arm_Thumb1_SOURCES ${arm_Thumb1_JT_SOURCES} ${arm_Thumb1_SjLj_EH_SOURCES} ${arm_Thumb1_VFPv2_SOURCES} - ${arm_Thumb1_icache_SOURCES}) + ${arm_Thumb1_icache_SOURCES} +) if(MINGW) set(arm_SOURCES - arm/aeabi_idivmod.S - arm/aeabi_ldivmod.S - arm/aeabi_uidivmod.S - arm/aeabi_uldivmod.S - arm/chkstk.S - divmoddi4.c - divmodsi4.c - divdi3.c - divsi3.c - fixdfdi.c - fixsfdi.c - fixunsdfdi.c - fixunssfdi.c - floatdidf.c - floatdisf.c - floatundidf.c - floatundisf.c - mingw_fixfloat.c - moddi3.c - udivmoddi4.c - udivmodsi4.c - udivsi3.c - umoddi3.c - emutls.c) + arm/aeabi_idivmod.S + arm/aeabi_ldivmod.S + arm/aeabi_uidivmod.S + arm/aeabi_uldivmod.S + arm/chkstk.S + divmoddi4.c + divmodsi4.c + divdi3.c + divsi3.c + fixdfdi.c + fixsfdi.c + fixunsdfdi.c + fixunssfdi.c + floatdidf.c + floatdisf.c + floatundidf.c + floatundisf.c + mingw_fixfloat.c + moddi3.c + udivmoddi4.c + udivmodsi4.c + udivsi3.c + umoddi3.c + emutls.c + ) filter_builtin_sources(arm_SOURCES EXCLUDE arm_SOURCES "${arm_SOURCES};${GENERIC_SOURCES}") elseif(NOT WIN32) # TODO the EABI sources should only be added to EABI targets set(arm_SOURCES ${arm_SOURCES} ${arm_EABI_SOURCES} - ${arm_Thumb1_SOURCES}) + ${arm_Thumb1_SOURCES} + ) set(thumb1_SOURCES ${thumb1_SOURCES} - ${arm_EABI_SOURCES}) + ${arm_EABI_SOURCES} + ) endif() set(aarch64_SOURCES ${GENERIC_TF_SOURCES} - ${GENERIC_SOURCES}) + ${GENERIC_SOURCES} +) if (MINGW) set(aarch64_SOURCES - ${aarch64_SOURCES} - aarch64/chkstk.S) + ${aarch64_SOURCES} + aarch64/chkstk.S + ) endif() set(armhf_SOURCES ${arm_SOURCES}) @@ -492,7 +518,8 @@ set(hexagon_SOURCES hexagon/udivmodsi4.S hexagon/udivsi3.S hexagon/umoddi3.S - hexagon/umodsi3.S) + hexagon/umodsi3.S +) set(mips_SOURCES ${GENERIC_SOURCES}) @@ -515,21 +542,25 @@ set(powerpc64_SOURCES ppc/gcc_qmul.c ppc/gcc_qsub.c ppc/multc3.c - ${GENERIC_SOURCES}) + ${GENERIC_SOURCES} +) set(powerpc64le_SOURCES ${powerpc64_SOURCES}) set(riscv_SOURCES ${GENERIC_SOURCES} ${GENERIC_TF_SOURCES}) set(riscv32_SOURCES riscv/mulsi3.S - ${riscv_SOURCES}) + ${riscv_SOURCES} +) set(riscv64_SOURCES ${riscv_SOURCES}) set(wasm32_SOURCES ${GENERIC_TF_SOURCES} - ${GENERIC_SOURCES}) + ${GENERIC_SOURCES} +) set(wasm64_SOURCES ${GENERIC_TF_SOURCES} - ${GENERIC_SOURCES}) + ${GENERIC_SOURCES} +) add_custom_target(builtins) set_target_properties(builtins PROPERTIES FOLDER "Compiler-RT Misc") @@ -548,7 +579,9 @@ else () if(COMPILER_RT_STANDALONE_BUILD) append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC BUILTIN_CFLAGS) append_list_if(COMPILER_RT_HAS_FNO_BUILTIN_FLAG -fno-builtin BUILTIN_CFLAGS) - append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG -fvisibility=hidden BUILTIN_CFLAGS) + if(NOT ANDROID) + append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG -fvisibility=hidden BUILTIN_CFLAGS) + endif() if(NOT COMPILER_RT_DEBUG) append_list_if(COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG -fomit-frame-pointer BUILTIN_CFLAGS) endif() @@ -556,7 +589,9 @@ else () set(BUILTIN_DEFS "") - append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG VISIBILITY_HIDDEN BUILTIN_DEFS) + if(NOT ANDROID) + append_list_if(COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG VISIBILITY_HIDDEN BUILTIN_DEFS) + endif() foreach (arch ${BUILTIN_SUPPORTED_ARCH}) if (CAN_TARGET_${arch}) |