From 785483cb0d317b0bf7b7615aa4fb76bb4dc8f8c9 Mon Sep 17 00:00:00 2001 From: Petr Bred Date: Wed, 11 Apr 2018 12:25:03 +0300 Subject: Fix cmake toolchain compile flags loop (#17380) - fix https://github.com/dotnet/corert/issues/5093 - cmake toolchain refactoring Signed-off-by: Petr Bred --- cross/arm/toolchain.cmake | 38 ------------- cross/arm/tryrun.cmake | 123 --------------------------------------- cross/arm64/toolchain.cmake | 25 -------- cross/arm64/tryrun.cmake | 123 --------------------------------------- cross/armel/toolchain.cmake | 58 ------------------- cross/armel/tryrun.cmake | 123 --------------------------------------- cross/toolchain.cmake | 136 ++++++++++++++++++++++++++++++++++++++++++++ cross/tryrun.cmake | 45 +++++++++++++++ cross/x86/toolchain.cmake | 39 ------------- cross/x86/tryrun.cmake | 127 ----------------------------------------- 10 files changed, 181 insertions(+), 656 deletions(-) delete mode 100644 cross/arm/toolchain.cmake delete mode 100644 cross/arm/tryrun.cmake delete mode 100644 cross/arm64/toolchain.cmake delete mode 100644 cross/arm64/tryrun.cmake delete mode 100644 cross/armel/toolchain.cmake delete mode 100644 cross/armel/tryrun.cmake create mode 100644 cross/toolchain.cmake create mode 100644 cross/tryrun.cmake delete mode 100644 cross/x86/toolchain.cmake delete mode 100644 cross/x86/tryrun.cmake (limited to 'cross') diff --git a/cross/arm/toolchain.cmake b/cross/arm/toolchain.cmake deleted file mode 100644 index 7ecb34a66e..0000000000 --- a/cross/arm/toolchain.cmake +++ /dev/null @@ -1,38 +0,0 @@ -set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) - -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_PROCESSOR armv7l) - -set(TOOLCHAIN "arm-linux-gnueabihf") - -add_compile_options(-target armv7-linux-gnueabihf) -add_compile_options(-mthumb) -add_compile_options(-mfpu=vfpv3) -add_compile_options(--sysroot=${CROSS_ROOTFS}) - -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -target ${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") - -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) - -set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}") -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - -set(LLVM_ARM_DIR "$ENV{LLVM_ARM_HOME}") -if(LLVM_ARM_DIR) - set(WITH_LLDB_LIBS "${LLVM_ARM_DIR}/lib/" CACHE STRING "") - set(WITH_LLDB_INCLUDES "${LLVM_ARM_DIR}/include" CACHE STRING "") - set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "") - set(LLDB "${LLVM_ARM_DIR}/lib/liblldb.so" CACHE STRING "") -else() - set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}" CACHE STRING "") - set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "") -endif() diff --git a/cross/arm/tryrun.cmake b/cross/arm/tryrun.cmake deleted file mode 100644 index 55265b4335..0000000000 --- a/cross/arm/tryrun.cmake +++ /dev/null @@ -1,123 +0,0 @@ -SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_SUPPORT_ll_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GET_PRIORITY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_MMAP_DEV_ZERO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ACOS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ASIN_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ATAN2_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG10_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( UNGETC_NOT_RETURN_EOF_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAS_POSIX_SEMAPHORES_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( GETPWUID_R_SETS_ERRNO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_THREAD_CPUTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GETCPU_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_CTL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_MAPS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STAT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STATUS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) diff --git a/cross/arm64/toolchain.cmake b/cross/arm64/toolchain.cmake deleted file mode 100644 index 42805492bd..0000000000 --- a/cross/arm64/toolchain.cmake +++ /dev/null @@ -1,25 +0,0 @@ -set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) - -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_PROCESSOR aarch64) - -set(TOOLCHAIN "aarch64-linux-gnu") - -add_compile_options(-target ${TOOLCHAIN}) -add_compile_options(--sysroot=${CROSS_ROOTFS}) - -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -target ${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") - -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) - -set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}") -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) \ No newline at end of file diff --git a/cross/arm64/tryrun.cmake b/cross/arm64/tryrun.cmake deleted file mode 100644 index 4f17beb471..0000000000 --- a/cross/arm64/tryrun.cmake +++ /dev/null @@ -1,123 +0,0 @@ -SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_SUPPORT_ll_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GET_PRIORITY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_MMAP_DEV_ZERO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ACOS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ASIN_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ATAN2_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG10_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( UNGETC_NOT_RETURN_EOF_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAS_POSIX_SEMAPHORES_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( GETPWUID_R_SETS_ERRNO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GETCPU_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_THREAD_CPUTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_CTL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_MAPS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STAT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STATUS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) diff --git a/cross/armel/toolchain.cmake b/cross/armel/toolchain.cmake deleted file mode 100644 index 86e2306b61..0000000000 --- a/cross/armel/toolchain.cmake +++ /dev/null @@ -1,58 +0,0 @@ -set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) - -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_VERSION 1) -set(CMAKE_SYSTEM_PROCESSOR armv7l) - -set(TOOLCHAIN "arm-linux-gnueabi") - -add_compile_options(-target armv7-linux-gnueabi) -add_compile_options(-mthumb) -add_compile_options(-mfpu=vfpv3) -add_compile_options(-mfloat-abi=softfp) -add_compile_options(--sysroot=${CROSS_ROOTFS}) - -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -target ${TOOLCHAIN}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") - -if("$ENV{__DistroRid}" MATCHES "tizen.*") - set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/6.2.1") - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi) - add_compile_options(-Wno-deprecated-declarations) # compile-time option - add_compile_options(-D__extern_always_inline=inline) # compile-time option - - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib") - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib") - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") -else() - # TODO: this setting assumes debian armel rootfs - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/include/c++/4.9) - include_directories(SYSTEM ${CROSS_ROOTFS}/usr/include/${TOOLCHAIN}/c++/4.9) - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}/4.9") - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}") - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/${TOOLCHAIN}") - set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}/4.9") -endif() - -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) - -set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}") -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - -set(LLVM_ARM_DIR "$ENV{LLVM_ARM_HOME}") -if(LLVM_ARM_DIR) - set(WITH_LLDB_LIBS "${LLVM_ARM_DIR}/lib/" CACHE STRING "") - set(WITH_LLDB_INCLUDES "${LLVM_ARM_DIR}/include" CACHE STRING "") - set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "") - set(LLDB "${LLVM_ARM_DIR}/lib/liblldb.so" CACHE STRING "") -else() - set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}" CACHE STRING "") - set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "") -endif() diff --git a/cross/armel/tryrun.cmake b/cross/armel/tryrun.cmake deleted file mode 100644 index 55265b4335..0000000000 --- a/cross/armel/tryrun.cmake +++ /dev/null @@ -1,123 +0,0 @@ -SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_SUPPORT_ll_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GET_PRIORITY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_MMAP_DEV_ZERO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ACOS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ASIN_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ATAN2_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG10_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( UNGETC_NOT_RETURN_EOF_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAS_POSIX_SEMAPHORES_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( GETPWUID_R_SETS_ERRNO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_THREAD_CPUTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GETCPU_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_CTL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_MAPS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STAT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STATUS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) diff --git a/cross/toolchain.cmake b/cross/toolchain.cmake new file mode 100644 index 0000000000..3504f94a3d --- /dev/null +++ b/cross/toolchain.cmake @@ -0,0 +1,136 @@ +set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) +set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH}) +set(CMAKE_SYSTEM_NAME Linux) +set(CMAKE_SYSTEM_VERSION 1) + +if(TARGET_ARCH_NAME STREQUAL "armel") + set(CMAKE_SYSTEM_PROCESSOR armv7l) + set(TOOLCHAIN "arm-linux-gnueabi") + if("$ENV{__DistroRid}" MATCHES "tizen.*") + set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/6.2.1") + endif() +elseif(TARGET_ARCH_NAME STREQUAL "arm") + set(CMAKE_SYSTEM_PROCESSOR armv7l) + set(TOOLCHAIN "arm-linux-gnueabihf") +elseif(TARGET_ARCH_NAME STREQUAL "arm64") + set(CMAKE_SYSTEM_PROCESSOR aarch64) + set(TOOLCHAIN "aarch64-linux-gnu") +elseif(TARGET_ARCH_NAME STREQUAL "x86") + set(CMAKE_SYSTEM_PROCESSOR i686) +else() + message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, arm64 and x86 are supported!") +endif() + +# Specify include paths +if(TARGET_ARCH_NAME STREQUAL "armel") + if(DEFINED TIZEN_TOOLCHAIN) + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/) + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi) + else() # TODO: this setting assumes debian armel rootfs + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/include/c++/4.9) + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/include/${TOOLCHAIN}/c++/4.9) + endif() +elseif(TARGET_ARCH_NAME STREQUAL "arm64") + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/include) +endif() + +# add_compile_param - adds only new options without duplicates. +# arg0 - list with result options, arg1 - list with new options. +# arg2 - optional argument, quick summary string for optional using CACHE FORCE mode. +macro(add_compile_param) + if(NOT ${ARGC} MATCHES "^(2|3)$") + message(FATAL_ERROR "Wrong using add_compile_param! Two or three parameters must be given! See add_compile_param description.") + endif() + foreach(OPTION ${ARGV1}) + if(NOT ${ARGV0} MATCHES "${OPTION}") + set(${ARGV0} "${${ARGV0}} ${OPTION}") + if(${ARGC} EQUAL "3") # CACHE FORCE mode + set(${ARGV0} "${${ARGV0}}" CACHE STRING "${ARGV2}" FORCE) + endif() + endif() + endforeach() +endmacro() + +# Specify link flags +add_compile_param(CROSS_LINK_FLAGS "--sysroot=${CROSS_ROOTFS}") +if(TARGET_ARCH_NAME STREQUAL "armel") + add_compile_param(CROSS_LINK_FLAGS "-target ${TOOLCHAIN}") + if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only + add_compile_param(CROSS_LINK_FLAGS "-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/lib") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/usr/lib") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}") + else() + add_compile_param(CROSS_LINK_FLAGS "-B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}/4.9") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/lib/${TOOLCHAIN}") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}/4.9") + endif() +elseif(TARGET_ARCH_NAME MATCHES "^(arm|arm64)$") + add_compile_param(CROSS_LINK_FLAGS "-target ${TOOLCHAIN}") + add_compile_param(CROSS_LINK_FLAGS "-B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/lib/${TOOLCHAIN}") +else() # x86 case + add_compile_param(CROSS_LINK_FLAGS "-B${CROSS_ROOTFS}/usr/lib/gcc/i686-linux-gnu") + add_compile_param(CROSS_LINK_FLAGS "-L${CROSS_ROOTFS}/lib/i386-linux-gnu") + add_compile_param(CROSS_LINK_FLAGS "-m32") +endif() +add_compile_param(CMAKE_EXE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" "TOOLCHAIN_EXE_LINKER_FLAGS") +add_compile_param(CMAKE_SHARED_LINKER_FLAGS "${CROSS_LINK_FLAGS}" "TOOLCHAIN_EXE_LINKER_FLAGS") +add_compile_param(CMAKE_MODULE_LINKER_FLAGS "${CROSS_LINK_FLAGS}" "TOOLCHAIN_EXE_LINKER_FLAGS") + +# Specify compile options +add_compile_options(--sysroot=${CROSS_ROOTFS}) +if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$") + add_compile_options(-mthumb) + add_compile_options(-mfpu=vfpv3) + if(TARGET_ARCH_NAME STREQUAL "armel") + add_compile_options(-target armv7-linux-gnueabi) + add_compile_options(-mfloat-abi=softfp) + if(DEFINED TIZEN_TOOLCHAIN) + add_compile_options(-Wno-deprecated-declarations) # compile-time option + add_compile_options(-D__extern_always_inline=inline) # compile-time option + endif() + else() # arm case + add_compile_options(-target armv7-linux-gnueabihf) + endif() +elseif(TARGET_ARCH_NAME STREQUAL "arm64") + add_compile_options(-target ${TOOLCHAIN}) +else() # x86 case + add_compile_options(-m32) + add_compile_options(-Wno-error=unused-command-line-argument) +endif() + +# Set LLDB include and library paths +if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$") + if(TARGET_ARCH_NAME STREQUAL "x86") + set(LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME}") + else() # arm/armel case + set(LLVM_CROSS_DIR "$ENV{LLVM_ARM_HOME}") + endif() + if(LLVM_CROSS_DIR) + set(WITH_LLDB_LIBS "${LLVM_CROSS_DIR}/lib/" CACHE STRING "") + set(WITH_LLDB_INCLUDES "${LLVM_CROSS_DIR}/include" CACHE STRING "") + set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "") + set(LLDB "${LLVM_CROSS_DIR}/lib/liblldb.so" CACHE STRING "") + else() + if(TARGET_ARCH_NAME STREQUAL "x86") + set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/i386-linux-gnu" CACHE STRING "") + set(CHECK_LLVM_DIR "${CROSS_ROOTFS}/usr/lib/llvm-3.8/include") + if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}") + set(WITH_LLDB_INCLUDES "${CHECK_LLVM_DIR}") + else() + set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include") + endif() + else() # arm/armel case + set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}" CACHE STRING "") + set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "") + endif() + endif() +endif() + +set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) diff --git a/cross/tryrun.cmake b/cross/tryrun.cmake new file mode 100644 index 0000000000..16eb2e11a8 --- /dev/null +++ b/cross/tryrun.cmake @@ -0,0 +1,45 @@ +set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH}) + +macro(set_cache_value) + set(${ARGV0} ${ARGV1} CACHE STRING "Result from TRY_RUN" FORCE) +endmacro() + +if(TARGET_ARCH_NAME MATCHES "^(armel|arm|arm64|x86)$") + set_cache_value(FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE 1) + set_cache_value(GETPWUID_R_SETS_ERRNO_EXITCODE 0) + set_cache_value(HAS_POSIX_SEMAPHORES_EXITCODE 0) + set_cache_value(HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE 0) + set_cache_value(HAVE_CLOCK_MONOTONIC_EXITCODE 0) + set_cache_value(HAVE_CLOCK_THREAD_CPUTIME_EXITCODE 0) + set_cache_value(HAVE_COMPATIBLE_ACOS_EXITCODE 0) + set_cache_value(HAVE_COMPATIBLE_ASIN_EXITCODE 0) + set_cache_value(HAVE_COMPATIBLE_ATAN2_EXITCODE 0) + set_cache_value(HAVE_COMPATIBLE_LOG10_EXITCODE 0) + set_cache_value(HAVE_COMPATIBLE_LOG_EXITCODE 0) + set_cache_value(HAVE_COMPATIBLE_POW_EXITCODE 0) + set_cache_value(HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE 0) + set_cache_value(HAVE_MMAP_DEV_ZERO_EXITCODE 0) + set_cache_value(HAVE_PROCFS_CTL_EXITCODE 1) + set_cache_value(HAVE_PROCFS_MAPS_EXITCODE 0) + set_cache_value(HAVE_PROCFS_STATUS_EXITCODE 0) + set_cache_value(HAVE_PROCFS_STAT_EXITCODE 0) + set_cache_value(HAVE_SCHED_GETCPU_EXITCODE 0) + set_cache_value(HAVE_SCHED_GET_PRIORITY_EXITCODE 0) + set_cache_value(HAVE_VALID_NEGATIVE_INF_POW_EXITCODE 0) + set_cache_value(HAVE_VALID_POSITIVE_INF_POW_EXITCODE 0) + set_cache_value(HAVE_WORKING_CLOCK_GETTIME_EXITCODE 0) + set_cache_value(HAVE_WORKING_GETTIMEOFDAY_EXITCODE 0) + set_cache_value(ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE 1) + set_cache_value(PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE 1) + set_cache_value(REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE 1) + set_cache_value(SEM_INIT_MODIFIES_ERRNO_EXITCODE 1) + set_cache_value(SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE 1) + set_cache_value(SSCANF_SUPPORT_ll_EXITCODE 0) + set_cache_value(UNGETC_NOT_RETURN_EOF_EXITCODE 0) +else() + message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, arm64 and x86 are supported!") +endif() + +if(TARGET_ARCH_NAME STREQUAL "x86") + set_cache_value(HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES 0) +endif() diff --git a/cross/x86/toolchain.cmake b/cross/x86/toolchain.cmake deleted file mode 100644 index 1389a768fb..0000000000 --- a/cross/x86/toolchain.cmake +++ /dev/null @@ -1,39 +0,0 @@ -set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) - -set(CMAKE_SYSTEM_NAME Linux) -set(CMAKE_SYSTEM_PROCESSOR i686) - -add_compile_options("-m32") -add_compile_options("--sysroot=${CROSS_ROOTFS}") -add_compile_options("-Wno-error=unused-command-line-argument") - -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/i686-linux-gnu") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/i386-linux-gnu") -set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -m32") - -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) -set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE) - -set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}") -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) - -set(LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME}") -if(LLVM_CROSS_DIR) - set(WITH_LLDB_LIBS "${LLVM_CROSS_DIR}/lib/" CACHE STRING "") - set(WITH_LLDB_INCLUDES "${LLVM_CROSS_DIR}/include" CACHE STRING "") - set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "") - set(LLDB "${LLVM_CROSS_DIR}/lib/liblldb.so" CACHE STRING "") -else() - set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/i386-linux-gnu" CACHE STRING "") - set(CHECK_LLVM_DIR "${CROSS_ROOTFS}/usr/lib/llvm-3.8/include") - if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}") - set(WITH_LLDB_INCLUDES "${CHECK_LLVM_DIR}") - else() - set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include") - endif() -endif() diff --git a/cross/x86/tryrun.cmake b/cross/x86/tryrun.cmake deleted file mode 100644 index 1bf3da935c..0000000000 --- a/cross/x86/tryrun.cmake +++ /dev/null @@ -1,127 +0,0 @@ -SET( REALPATH_SUPPORTS_NONEXISTENT_FILES_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_SUPPORT_ll_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SSCANF_CANNOT_HANDLE_MISSING_EXPONENT_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_LARGE_SNPRINTF_SUPPORT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GET_PRIORITY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_GETTIMEOFDAY_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_WORKING_CLOCK_GETTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_MMAP_DEV_ZERO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( ONE_SHARED_MAPPING_PER_FILEREGION_PER_PROCESS_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( PTHREAD_CREATE_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( SEM_INIT_MODIFIES_ERRNO_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ACOS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ASIN_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_NEGATIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_VALID_POSITIVE_INF_POW_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_ATAN2_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_COMPATIBLE_LOG10_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( UNGETC_NOT_RETURN_EOF_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAS_POSIX_SEMAPHORES_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( GETPWUID_R_SETS_ERRNO_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( FILE_OPS_CHECK_FERROR_OF_PREVIOUS_CALL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_THREAD_CPUTIME_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_SCHED_GETCPU_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_CLOCK_MONOTONIC_COARSE_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_CTL_EXITCODE - 1 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_MAPS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STAT_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_PROCFS_STATUS_EXITCODE - 0 - CACHE STRING "Result from TRY_RUN" FORCE) - -SET( HAVE_FUNCTIONAL_PTHREAD_ROBUST_MUTEXES - 0 - CACHE STRING "Result from TRY_RUN" FORCE) -- cgit v1.2.3