diff options
-rw-r--r-- | CMakeLists.txt | 17 | ||||
-rwxr-xr-x | src/pal/tools/gen-buildsys-clang.sh | 11 |
2 files changed, 18 insertions, 10 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 6327a143f8..66b0255472 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,7 +104,7 @@ else (WIN32) else (CMAKE_SYSTEM_NAME STREQUAL Darwin) # Ensure that objcopy is present - if (DEFINED ENV{CROSSCOMPILE} AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD) + if (CLR_UNIX_CROSS_BUILD AND NOT DEFINED CLR_CROSS_COMPONENTS_BUILD) if (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l OR CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL arm) find_program(OBJCOPY ${TOOLCHAIN}-objcopy) elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL i686) @@ -164,15 +164,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL Linux) endif() set(CLR_CMAKE_PLATFORM_LINUX 1) - # Detect Alpine Linux - SET(OS_RELEASE_FILENAME "/etc/os-release") - if (EXISTS ${OS_RELEASE_FILENAME}) - file(READ ${OS_RELEASE_FILENAME} OS_RELEASE) - string(FIND "${OS_RELEASE}" "ID=alpine" CLR_CMAKE_PLATFORM_ALPINE_LINUX) - if(CLR_CMAKE_PLATFORM_ALPINE_LINUX EQUAL -1) - unset(CLR_CMAKE_PLATFORM_ALPINE_LINUX) - endif(CLR_CMAKE_PLATFORM_ALPINE_LINUX EQUAL -1) - endif(EXISTS ${OS_RELEASE_FILENAME}) + # Detect Linux ID + if(DEFINED CLR_CMAKE_LINUX_ID) + if(CLR_CMAKE_LINUX_ID STREQUAL alpine) + set(CLR_CMAKE_PLATFORM_ALPINE_LINUX) + endif() + endif(DEFINED CLR_CMAKE_LINUX_ID) endif(CMAKE_SYSTEM_NAME STREQUAL Linux) if(CMAKE_SYSTEM_NAME STREQUAL Darwin) diff --git a/src/pal/tools/gen-buildsys-clang.sh b/src/pal/tools/gen-buildsys-clang.sh index 6c264cbc84..924a365af9 100755 --- a/src/pal/tools/gen-buildsys-clang.sh +++ b/src/pal/tools/gen-buildsys-clang.sh @@ -139,6 +139,17 @@ if [[ -n "$CROSSCOMPILE" ]]; then fi cmake_extra_defines="$cmake_extra_defines -C $CONFIG_DIR/tryrun.cmake" cmake_extra_defines="$cmake_extra_defines -DCMAKE_TOOLCHAIN_FILE=$CONFIG_DIR/toolchain.cmake" + cmake_extra_defines="$cmake_extra_defines -DCLR_UNIX_CROSS_BUILD=1" +fi +if [ $OS == "Linux" ]; then + linux_id_file="/etc/os-release" + if [[ -n "$CROSSCOMPILE" ]]; then + linux_id_file="$ROOTFS_DIR/$linux_id_file" + fi + if [[ -e $linux_id_file ]]; then + source $linux_id_file + cmake_extra_defines="$cmake_extra_defines -DCLR_CMAKE_LINUX_ID=$ID" + fi fi if [ "$build_arch" == "armel" ]; then cmake_extra_defines="$cmake_extra_defines -DARM_SOFTFP=1" |