CMake variables renaming: X86_64->x86_64 I386->i386

llvm-svn: 172812
This commit is contained in:
Alexey Samsonov 2013-01-18 12:45:44 +00:00
parent 518a135ffe
commit 193b45f4fe
12 changed files with 46 additions and 45 deletions

View File

@ -30,21 +30,21 @@ set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
# Detect whether the current target platform is 32-bit or 64-bit, and setup # Detect whether the current target platform is 32-bit or 64-bit, and setup
# the correct commandline flags needed to attempt to target 32-bit and 64-bit. # the correct commandline flags needed to attempt to target 32-bit and 64-bit.
if(CMAKE_SIZEOF_VOID_P EQUAL 4 OR LLVM_BUILD_32_BITS) if(CMAKE_SIZEOF_VOID_P EQUAL 4 OR LLVM_BUILD_32_BITS)
set(TARGET_X86_64_CFLAGS "-m64") set(TARGET_x86_64_CFLAGS "-m64")
set(TARGET_I386_CFLAGS "") set(TARGET_i386_CFLAGS "")
else() else()
if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8) if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
message(FATAL_ERROR "Please use a sane architecture with 4 or 8 byte pointers.") message(FATAL_ERROR "Please use a sane architecture with 4 or 8 byte pointers.")
endif() endif()
set(TARGET_X86_64_CFLAGS "") set(TARGET_x86_64_CFLAGS "")
set(TARGET_I386_CFLAGS "-m32") set(TARGET_i386_CFLAGS "-m32")
endif() endif()
function(get_target_flags_for_arch arch out_var) function(get_target_flags_for_arch arch out_var)
if(${arch} STREQUAL "x86_64") if(${arch} STREQUAL "x86_64")
set(${out_var} ${TARGET_X86_64_CFLAGS} PARENT_SCOPE) set(${out_var} ${TARGET_x86_64_CFLAGS} PARENT_SCOPE)
elseif(${arch} STREQUAL "i386") elseif(${arch} STREQUAL "i386")
set(${out_var} ${TARGET_I386_CFLAGS} PARENT_SCOPE) set(${out_var} ${TARGET_i386_CFLAGS} PARENT_SCOPE)
else() else()
message(FATAL_ERROR "Unsupported architecture: ${arch}") message(FATAL_ERROR "Unsupported architecture: ${arch}")
endif() endif()
@ -56,15 +56,15 @@ endfunction()
# abilities. # abilities.
set(SIMPLE_SOURCE64 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple64.c) set(SIMPLE_SOURCE64 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple64.c)
file(WRITE ${SIMPLE_SOURCE64} "#include <stdlib.h>\nint main() {}") file(WRITE ${SIMPLE_SOURCE64} "#include <stdlib.h>\nint main() {}")
try_compile(CAN_TARGET_X86_64 ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE64} try_compile(CAN_TARGET_x86_64 ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE64}
COMPILE_DEFINITIONS "${TARGET_X86_64_CFLAGS}" COMPILE_DEFINITIONS "${TARGET_x86_64_CFLAGS}"
CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${TARGET_X86_64_CFLAGS}") CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${TARGET_x86_64_CFLAGS}")
set(SIMPLE_SOURCE32 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple32.c) set(SIMPLE_SOURCE32 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple32.c)
file(WRITE ${SIMPLE_SOURCE32} "#include <stdlib.h>\nint main() {}") file(WRITE ${SIMPLE_SOURCE32} "#include <stdlib.h>\nint main() {}")
try_compile(CAN_TARGET_I386 ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE32} try_compile(CAN_TARGET_i386 ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE32}
COMPILE_DEFINITIONS "${TARGET_I386_CFLAGS}" COMPILE_DEFINITIONS "${TARGET_i386_CFLAGS}"
CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${TARGET_I386_CFLAGS}") CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${TARGET_i386_CFLAGS}")
# We only support running instrumented tests when we're not cross compiling # We only support running instrumented tests when we're not cross compiling
# and target a unix-like system. On Android we define the rules for building # and target a unix-like system. On Android we define the rules for building
@ -78,9 +78,9 @@ endif()
function(filter_available_targets out_var) function(filter_available_targets out_var)
set(archs) set(archs)
foreach(arch ${ARGN}) foreach(arch ${ARGN})
if(${arch} STREQUAL "x86_64" AND CAN_TARGET_X86_64) if(${arch} STREQUAL "x86_64" AND CAN_TARGET_x86_64)
list(APPEND archs ${arch}) list(APPEND archs ${arch})
elseif (${arch} STREQUAL "i386" AND CAN_TARGET_I386) elseif (${arch} STREQUAL "i386" AND CAN_TARGET_i386)
list(APPEND archs ${arch}) list(APPEND archs ${arch})
endif() endif()
endforeach() endforeach()

View File

@ -150,7 +150,7 @@ set(GENERIC_SOURCES
umodti3.c umodti3.c
) )
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_library(clang_rt.x86_64 STATIC add_library(clang_rt.x86_64 STATIC
x86_64/floatdidf.c x86_64/floatdidf.c
x86_64/floatdisf.c x86_64/floatdisf.c
@ -160,10 +160,10 @@ if(CAN_TARGET_X86_64)
x86_64/floatundixf.S x86_64/floatundixf.S
${GENERIC_SOURCES} ${GENERIC_SOURCES}
) )
set_target_properties(clang_rt.x86_64 PROPERTIES COMPILE_FLAGS "-std=c99 ${TARGET_X86_64_CFLAGS}") set_target_properties(clang_rt.x86_64 PROPERTIES COMPILE_FLAGS "-std=c99 ${TARGET_x86_64_CFLAGS}")
add_clang_compiler_rt_libraries(clang_rt.x86_64) add_clang_compiler_rt_libraries(clang_rt.x86_64)
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_library(clang_rt.i386 STATIC add_library(clang_rt.i386 STATIC
i386/ashldi3.S i386/ashldi3.S
i386/ashrdi3.S i386/ashrdi3.S
@ -181,6 +181,6 @@ if(CAN_TARGET_I386)
i386/umoddi3.S i386/umoddi3.S
${GENERIC_SOURCES} ${GENERIC_SOURCES}
) )
set_target_properties(clang_rt.i386 PROPERTIES COMPILE_FLAGS "-std=c99 ${TARGET_I386_CFLAGS}") set_target_properties(clang_rt.i386 PROPERTIES COMPILE_FLAGS "-std=c99 ${TARGET_i386_CFLAGS}")
add_clang_compiler_rt_libraries(clang_rt.i386) add_clang_compiler_rt_libraries(clang_rt.i386)
endif() endif()

View File

@ -78,25 +78,25 @@ elseif(ANDROID)
list(APPEND ASAN_RUNTIME_LIBRARIES clang_rt.asan-arm-android) list(APPEND ASAN_RUNTIME_LIBRARIES clang_rt.asan-arm-android)
else() else()
# Otherwise, build separate libraries for each target. # Otherwise, build separate libraries for each target.
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_library(clang_rt.asan-x86_64 STATIC add_library(clang_rt.asan-x86_64 STATIC
${ASAN_SOURCES} ${ASAN_SOURCES}
$<TARGET_OBJECTS:RTInterception.x86_64> $<TARGET_OBJECTS:RTInterception.x86_64>
$<TARGET_OBJECTS:RTSanitizerCommon.x86_64> $<TARGET_OBJECTS:RTSanitizerCommon.x86_64>
) )
set_target_compile_flags(clang_rt.asan-x86_64 set_target_compile_flags(clang_rt.asan-x86_64
${ASAN_CFLAGS} ${TARGET_X86_64_CFLAGS} ${ASAN_CFLAGS} ${TARGET_x86_64_CFLAGS}
) )
list(APPEND ASAN_RUNTIME_LIBRARIES clang_rt.asan-x86_64) list(APPEND ASAN_RUNTIME_LIBRARIES clang_rt.asan-x86_64)
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_library(clang_rt.asan-i386 STATIC add_library(clang_rt.asan-i386 STATIC
${ASAN_SOURCES} ${ASAN_SOURCES}
$<TARGET_OBJECTS:RTInterception.i386> $<TARGET_OBJECTS:RTInterception.i386>
$<TARGET_OBJECTS:RTSanitizerCommon.i386> $<TARGET_OBJECTS:RTSanitizerCommon.i386>
) )
set_target_compile_flags(clang_rt.asan-i386 set_target_compile_flags(clang_rt.asan-i386
${ASAN_CFLAGS} ${TARGET_I386_CFLAGS} ${ASAN_CFLAGS} ${TARGET_i386_CFLAGS}
) )
list(APPEND ASAN_RUNTIME_LIBRARIES clang_rt.asan-i386) list(APPEND ASAN_RUNTIME_LIBRARIES clang_rt.asan-i386)
endif() endif()

View File

@ -65,6 +65,7 @@ else()
# passing -fsanitize=address flag. # passing -fsanitize=address flag.
list(APPEND ASAN_LINK_FLAGS -fsanitize=address) list(APPEND ASAN_LINK_FLAGS -fsanitize=address)
endif() endif()
# Unit tests on Mac depend on Foundation. # Unit tests on Mac depend on Foundation.
if(APPLE) if(APPLE)
list(APPEND ASAN_LINK_FLAGS -framework Foundation) list(APPEND ASAN_LINK_FLAGS -framework Foundation)
@ -154,10 +155,10 @@ macro(add_asan_tests_for_arch arch)
endmacro() endmacro()
if(COMPILER_RT_CAN_EXECUTE_TESTS) if(COMPILER_RT_CAN_EXECUTE_TESTS)
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_asan_tests_for_arch(x86_64) add_asan_tests_for_arch(x86_64)
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_asan_tests_for_arch(i386) add_asan_tests_for_arch(i386)
endif() endif()
endif() endif()

View File

@ -29,15 +29,15 @@ if(APPLE)
OSX_ARCHITECTURES "${INTERCEPTION_TARGETS}") OSX_ARCHITECTURES "${INTERCEPTION_TARGETS}")
else() else()
# Otherwise, build separate libraries for each target. # Otherwise, build separate libraries for each target.
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_library(RTInterception.x86_64 OBJECT ${INTERCEPTION_SOURCES}) add_library(RTInterception.x86_64 OBJECT ${INTERCEPTION_SOURCES})
set_target_compile_flags(RTInterception.x86_64 set_target_compile_flags(RTInterception.x86_64
${INTERCEPTION_CFLAGS} ${TARGET_X86_64_CFLAGS}) ${INTERCEPTION_CFLAGS} ${TARGET_x86_64_CFLAGS})
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_library(RTInterception.i386 OBJECT ${INTERCEPTION_SOURCES}) add_library(RTInterception.i386 OBJECT ${INTERCEPTION_SOURCES})
set_target_compile_flags(RTInterception.i386 set_target_compile_flags(RTInterception.i386
${INTERCEPTION_CFLAGS} ${TARGET_I386_CFLAGS}) ${INTERCEPTION_CFLAGS} ${TARGET_i386_CFLAGS})
endif() endif()
if(ANDROID) if(ANDROID)
add_library(RTInterception.arm.android OBJECT ${INTERCEPTION_SOURCES}) add_library(RTInterception.arm.android OBJECT ${INTERCEPTION_SOURCES})

View File

@ -24,7 +24,7 @@ add_library(clang_rt.msan-x86_64 STATIC
$<TARGET_OBJECTS:RTSanitizerCommon.x86_64> $<TARGET_OBJECTS:RTSanitizerCommon.x86_64>
) )
set_target_compile_flags(clang_rt.msan-x86_64 set_target_compile_flags(clang_rt.msan-x86_64
${MSAN_RTL_CFLAGS} ${TARGET_X86_64_CFLAGS} ${MSAN_RTL_CFLAGS} ${TARGET_x86_64_CFLAGS}
) )
list(APPEND MSAN_RUNTIME_LIBRARIES clang_rt.msan-x86_64) list(APPEND MSAN_RUNTIME_LIBRARIES clang_rt.msan-x86_64)

View File

@ -149,7 +149,7 @@ macro(add_msan_tests_for_arch arch)
endmacro() endmacro()
if(COMPILER_RT_CAN_EXECUTE_TESTS AND EXISTS ${MSAN_LIBCXX_PATH}/) if(COMPILER_RT_CAN_EXECUTE_TESTS AND EXISTS ${MSAN_LIBCXX_PATH}/)
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_msan_tests_for_arch(x86_64) add_msan_tests_for_arch(x86_64)
endif() endif()

View File

@ -60,16 +60,16 @@ if(APPLE)
list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.osx) list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.osx)
else() else()
# Otherwise, build separate libraries for each target. # Otherwise, build separate libraries for each target.
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_library(RTSanitizerCommon.x86_64 OBJECT ${SANITIZER_SOURCES}) add_library(RTSanitizerCommon.x86_64 OBJECT ${SANITIZER_SOURCES})
set_target_compile_flags(RTSanitizerCommon.x86_64 set_target_compile_flags(RTSanitizerCommon.x86_64
${SANITIZER_CFLAGS} ${TARGET_X86_64_CFLAGS}) ${SANITIZER_CFLAGS} ${TARGET_x86_64_CFLAGS})
list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.x86_64) list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.x86_64)
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_library(RTSanitizerCommon.i386 OBJECT ${SANITIZER_SOURCES}) add_library(RTSanitizerCommon.i386 OBJECT ${SANITIZER_SOURCES})
set_target_compile_flags(RTSanitizerCommon.i386 set_target_compile_flags(RTSanitizerCommon.i386
${SANITIZER_CFLAGS} ${TARGET_I386_CFLAGS}) ${SANITIZER_CFLAGS} ${TARGET_i386_CFLAGS})
list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.i386) list(APPEND SANITIZER_RUNTIME_LIBRARIES RTSanitizerCommon.i386)
endif() endif()
if(ANDROID) if(ANDROID)

View File

@ -84,19 +84,19 @@ if(COMPILER_RT_CAN_EXECUTE_TESTS)
add_sanitizer_common_lib("RTSanitizerCommon.test.osx" add_sanitizer_common_lib("RTSanitizerCommon.test.osx"
$<TARGET_OBJECTS:RTSanitizerCommon.osx>) $<TARGET_OBJECTS:RTSanitizerCommon.osx>)
else() else()
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_sanitizer_common_lib("RTSanitizerCommon.test.x86_64" add_sanitizer_common_lib("RTSanitizerCommon.test.x86_64"
$<TARGET_OBJECTS:RTSanitizerCommon.x86_64>) $<TARGET_OBJECTS:RTSanitizerCommon.x86_64>)
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_sanitizer_common_lib("RTSanitizerCommon.test.i386" add_sanitizer_common_lib("RTSanitizerCommon.test.i386"
$<TARGET_OBJECTS:RTSanitizerCommon.i386>) $<TARGET_OBJECTS:RTSanitizerCommon.i386>)
endif() endif()
endif() endif()
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_sanitizer_tests_for_arch(x86_64) add_sanitizer_tests_for_arch(x86_64)
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_sanitizer_tests_for_arch(i386) add_sanitizer_tests_for_arch(i386)
endif() endif()

View File

@ -33,7 +33,7 @@ endif()
set(TSAN_RUNTIME_LIBRARIES) set(TSAN_RUNTIME_LIBRARIES)
# TSan is currently supported on 64-bit Linux only. # TSan is currently supported on 64-bit Linux only.
if(CAN_TARGET_X86_64 AND UNIX AND NOT APPLE) if(CAN_TARGET_x86_64 AND UNIX AND NOT APPLE)
set(TSAN_ASM_SOURCES tsan_rtl_amd64.S) set(TSAN_ASM_SOURCES tsan_rtl_amd64.S)
# Pass ASM file directly to the C++ compiler. # Pass ASM file directly to the C++ compiler.
set_source_files_properties(${TSAN_ASM_SOURCES} PROPERTIES set_source_files_properties(${TSAN_ASM_SOURCES} PROPERTIES
@ -46,7 +46,7 @@ if(CAN_TARGET_X86_64 AND UNIX AND NOT APPLE)
$<TARGET_OBJECTS:RTSanitizerCommon.x86_64> $<TARGET_OBJECTS:RTSanitizerCommon.x86_64>
) )
set_target_compile_flags(clang_rt.tsan-x86_64 set_target_compile_flags(clang_rt.tsan-x86_64
${TSAN_CFLAGS} ${TARGET_X86_64_CFLAGS} ${TSAN_CFLAGS} ${TARGET_x86_64_CFLAGS}
) )
list(APPEND TSAN_RUNTIME_LIBRARIES clang_rt.tsan-x86_64) list(APPEND TSAN_RUNTIME_LIBRARIES clang_rt.tsan-x86_64)
endif() endif()

View File

@ -6,7 +6,7 @@ set_target_properties(TsanUnitTests PROPERTIES
function(add_tsan_unittest testname) function(add_tsan_unittest testname)
# Build unit tests only on 64-bit Linux. # Build unit tests only on 64-bit Linux.
if(UNIX AND NOT APPLE if(UNIX AND NOT APPLE
AND CAN_TARGET_X86_64 AND CAN_TARGET_x86_64
AND CMAKE_SIZEOF_VOID_P EQUAL 8 AND CMAKE_SIZEOF_VOID_P EQUAL 8
AND NOT LLVM_BUILD_32_BITS) AND NOT LLVM_BUILD_32_BITS)
add_unittest(TsanUnitTests ${testname} ${ARGN}) add_unittest(TsanUnitTests ${testname} ${ARGN})

View File

@ -27,23 +27,23 @@ if(APPLE)
list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan_osx) list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan_osx)
else() else()
# Build separate libraries for each target. # Build separate libraries for each target.
if(CAN_TARGET_X86_64) if(CAN_TARGET_x86_64)
add_library(clang_rt.ubsan-x86_64 STATIC add_library(clang_rt.ubsan-x86_64 STATIC
${UBSAN_SOURCES} ${UBSAN_SOURCES}
$<TARGET_OBJECTS:RTSanitizerCommon.x86_64> $<TARGET_OBJECTS:RTSanitizerCommon.x86_64>
) )
set_target_compile_flags(clang_rt.ubsan-x86_64 set_target_compile_flags(clang_rt.ubsan-x86_64
${UBSAN_CFLAGS} ${TARGET_X86_64_CFLAGS} ${UBSAN_CFLAGS} ${TARGET_x86_64_CFLAGS}
) )
list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan-x86_64) list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan-x86_64)
endif() endif()
if(CAN_TARGET_I386) if(CAN_TARGET_i386)
add_library(clang_rt.ubsan-i386 STATIC add_library(clang_rt.ubsan-i386 STATIC
${UBSAN_SOURCES} ${UBSAN_SOURCES}
$<TARGET_OBJECTS:RTSanitizerCommon.i386> $<TARGET_OBJECTS:RTSanitizerCommon.i386>
) )
set_target_compile_flags(clang_rt.ubsan-i386 set_target_compile_flags(clang_rt.ubsan-i386
${UBSAN_CFLAGS} ${TARGET_I386_CFLAGS} ${UBSAN_CFLAGS} ${TARGET_i386_CFLAGS}
) )
list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan-i386) list(APPEND UBSAN_RUNTIME_LIBRARIES clang_rt.ubsan-i386)
endif() endif()