From 4b79c35a118da5bbcb649b870f720b67f8eba52c Mon Sep 17 00:00:00 2001 From: Jiyoung Giuliana Yun Date: Sat, 18 Feb 2017 05:43:52 +0900 Subject: [PATCH] Synchronous toolchain.cmake files with CoreFX (dotnet/coreclr#9409) Signed-off-by: Jiyoung Yun Commit migrated from https://github.com/dotnet/coreclr/commit/849ad718ba1fe739ac1264fddc0609e67b95816f --- src/coreclr/CMakeLists.txt | 2 +- src/coreclr/cross/arm/toolchain.cmake | 10 +--------- src/coreclr/cross/arm64/toolchain.cmake | 10 +--------- src/coreclr/cross/armel/toolchain.cmake | 25 ++++++++++++------------- src/coreclr/cross/x86/toolchain.cmake | 1 - 5 files changed, 15 insertions(+), 33 deletions(-) diff --git a/src/coreclr/CMakeLists.txt b/src/coreclr/CMakeLists.txt index c9a75e5..2b8bc35 100644 --- a/src/coreclr/CMakeLists.txt +++ b/src/coreclr/CMakeLists.txt @@ -103,7 +103,7 @@ else (WIN32) # Ensure that objcopy is present if (DEFINED ENV{CROSSCOMPILE} AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD) if (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64) - find_program(OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) + find_program(OBJCOPY ${TOOLCHAIN}-objcopy) elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686) find_program(OBJCOPY objcopy) else() diff --git a/src/coreclr/cross/arm/toolchain.cmake b/src/coreclr/cross/arm/toolchain.cmake index 84ae2a5..7ecb34a 100644 --- a/src/coreclr/cross/arm/toolchain.cmake +++ b/src/coreclr/cross/arm/toolchain.cmake @@ -4,15 +4,7 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv7l) -## Specify the toolchain set(TOOLCHAIN "arm-linux-gnueabihf") -set(TOOLCHAIN_PREFIX ${TOOLCHAIN}-) -#set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) -#set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++) -#set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}as) -#set(CMAKE_AR ${TOOLCHAIN_PREFIX}ar) -#set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) -#set(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump) add_compile_options(-target armv7-linux-gnueabihf) add_compile_options(-mthumb) @@ -20,7 +12,7 @@ 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} -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}") diff --git a/src/coreclr/cross/arm64/toolchain.cmake b/src/coreclr/cross/arm64/toolchain.cmake index 08e36cd..4280549 100644 --- a/src/coreclr/cross/arm64/toolchain.cmake +++ b/src/coreclr/cross/arm64/toolchain.cmake @@ -4,15 +4,7 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR aarch64) -## Specify the toolchain set(TOOLCHAIN "aarch64-linux-gnu") -set(TOOLCHAIN_PREFIX ${TOOLCHAIN}-) -#set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) -#set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++) -#set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}as) -#set(CMAKE_AR ${TOOLCHAIN_PREFIX}ar) -#set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) -#set(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump) add_compile_options(-target ${TOOLCHAIN}) add_compile_options(--sysroot=${CROSS_ROOTFS}) @@ -30,4 +22,4 @@ 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(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) \ No newline at end of file diff --git a/src/coreclr/cross/armel/toolchain.cmake b/src/coreclr/cross/armel/toolchain.cmake index 95bff08..ae3bd7c 100644 --- a/src/coreclr/cross/armel/toolchain.cmake +++ b/src/coreclr/cross/armel/toolchain.cmake @@ -4,36 +4,35 @@ set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_VERSION 1) set(CMAKE_SYSTEM_PROCESSOR armv7l) -## Specify the toolchain set(TOOLCHAIN "arm-linux-gnueabi") -set(TOOLCHAIN_PREFIX ${TOOLCHAIN}-) -#set(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}gcc) -#set(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}g++) -#set(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}as) -#set(CMAKE_AR ${TOOLCHAIN_PREFIX}ar) -#set(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy) -#set(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump) 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.*") - add_compile_options(-I$ENV{ROOTFS_DIR}/usr/lib/gcc/armv7l-tizen-linux-gnueabi/4.9.2/include/c++/) - add_compile_options(-I$ENV{ROOTFS_DIR}/usr/lib/gcc/armv7l-tizen-linux-gnueabi/4.9.2/include/c++/armv7l-tizen-linux-gnueabi) - add_compile_options(-Wno-deprecated-declarations) # compile-time option - add_compile_options(-D__extern_always_inline=inline) set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/4.9.2") + 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 ${CROSS_ROOTFS}/usr/include/${TOOLCHAIN}/c++/4.9 ) + 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() diff --git a/src/coreclr/cross/x86/toolchain.cmake b/src/coreclr/cross/x86/toolchain.cmake index 63c6487..1389a76 100644 --- a/src/coreclr/cross/x86/toolchain.cmake +++ b/src/coreclr/cross/x86/toolchain.cmake @@ -1,4 +1,3 @@ - set(CROSS_ROOTFS $ENV{ROOTFS_DIR}) set(CMAKE_SYSTEM_NAME Linux) -- 2.7.4