From c58a0506374f0eaf4dd017c84f3cf2cc77fb0919 Mon Sep 17 00:00:00 2001 From: chunseoklee Date: Wed, 4 Jan 2017 13:06:04 +0900 Subject: [PATCH 1/5] Enable armel for CI script Signed-off-by: chunseoklee --- scripts/arm32_ci_script.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/arm32_ci_script.sh b/scripts/arm32_ci_script.sh index 3297aacaa66a..2b17e17ec611 100755 --- a/scripts/arm32_ci_script.sh +++ b/scripts/arm32_ci_script.sh @@ -166,14 +166,14 @@ function mount_emulator { #Cross builds corefx function cross_build_corefx { #Apply fixes for softfp - if [ "$__buildArch" == "arm-softfp" ]; then + if [ "$__buildArch" == "armel" ]; then #Export the needed environment variables (set +x; echo 'Exporting LINUX_ARM_* environment variable') source "$__ARMRootfsMountPath"/dotnet/setenv/setenv_incpath.sh "$__ARMRootfsMountPath" #Apply the changes needed to build for the emulator rootfs - (set +x; echo 'Applying cross build patch to suit Linux ARM emulator rootfs') - git am < "$__ARMRootfsMountPath"/dotnet/setenv/corefx_cross.patch + #(set +x; echo 'Applying cross build patch to suit Linux ARM emulator rootfs') + #git am < "$__ARMRootfsMountPath"/dotnet/setenv/corefx_cross.patch fi #Cross building for emulator rootfs @@ -182,7 +182,7 @@ function cross_build_corefx { #Reset the code to the upstream version (set +x; echo 'Rewinding HEAD to master code') - git reset --hard HEAD^ + #git reset --hard HEAD^ } #Define script variables @@ -212,7 +212,7 @@ do ;; --softfp) __ARMRootfsImageBase="rootfs-t30.ext4" - __buildArch="arm-softfp" + __buildArch="armel" ;; -v|--verbose) __verboseFlag="verbose" From 02bbc8c2f0cfaf41c2d59961c4c65bec4a54cc9d Mon Sep 17 00:00:00 2001 From: Jiyoung Yun Date: Tue, 3 Jan 2017 14:42:01 +0900 Subject: [PATCH 2/5] Support armel tizen build Signed-off-by: Jiyoung Yun --- cross/armel/toolchain.cmake | 10 ++++++++++ src/Native/build-native.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/cross/armel/toolchain.cmake b/cross/armel/toolchain.cmake index 2985ce544270..43c3e87b085a 100644 --- a/cross/armel/toolchain.cmake +++ b/cross/armel/toolchain.cmake @@ -11,6 +11,16 @@ add_compile_options(-mthumb) add_compile_options(-mfpu=vfpv3) add_compile_options(-mfloat-abi=softfp) add_compile_options(--sysroot=${CROSS_ROOTFS}) +if("$ENV{__DistroRid}" STREQUAL "tizen.3.0.0-armel") + include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/armv7l-tizen-linux-gnueabi/4.9.2/include/c++/ ${CROSS_ROOTFS}/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) # compile-time option + + set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/armv7l-tizen-linux-gnueabi/4.9.2") + 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/armv7l-tizen-linux-gnueabi/4.9.2") +endif() set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -target ${TOOLCHAIN}") set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}") diff --git a/src/Native/build-native.sh b/src/Native/build-native.sh index a58546a83898..5c5f3a12306f 100755 --- a/src/Native/build-native.sh +++ b/src/Native/build-native.sh @@ -20,6 +20,36 @@ usage() exit 1 } +initHostDistroRid() +{ + if [ "$__HostOS" == "Linux" ]; then + if [ ! -e /etc/os-release ]; then + echo "WARNING: Can not determine runtime id for current distro." + __HostDistroRid="" + else + source /etc/os-release + __HostDistroRid="$ID.$VERSION_ID-$__HostArch" + fi + fi +} + +initTargetDistroRid() +{ + if [ $__CrossBuild == 1 ]; then + if [ "$__BuildOS" == "Linux" ]; then + if [ ! -e $ROOTFS_DIR/etc/os-release ]; then + echo "WARNING: Can not determine runtime id for current distro." + export __DistroRid="" + else + source $ROOTFS_DIR/etc/os-release + export __DistroRid="$ID.$VERSION_ID-$__BuildArch" + fi + fi + else + export __DistroRid="$__HostDistroRid" + fi +} + setup_dirs() { echo Setting up directories for build @@ -272,6 +302,12 @@ if [ "$__CrossBuild" == 1 ]; then fi fi +# init the host distro name +initHostDistroRid + +# init the target distro name +initTargetDistroRid + # Check prereqs. check_native_prereqs From 6f80a225b93f0ea3cb09ed9dc255d0a441887e9b Mon Sep 17 00:00:00 2001 From: chunseoklee Date: Thu, 5 Jan 2017 08:42:43 +0900 Subject: [PATCH 3/5] Remove commented command from arm32_ci_script Signed-off-by: chunseoklee --- scripts/arm32_ci_script.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/arm32_ci_script.sh b/scripts/arm32_ci_script.sh index 2b17e17ec611..49ed9d10f66c 100755 --- a/scripts/arm32_ci_script.sh +++ b/scripts/arm32_ci_script.sh @@ -170,19 +170,12 @@ function cross_build_corefx { #Export the needed environment variables (set +x; echo 'Exporting LINUX_ARM_* environment variable') source "$__ARMRootfsMountPath"/dotnet/setenv/setenv_incpath.sh "$__ARMRootfsMountPath" - - #Apply the changes needed to build for the emulator rootfs - #(set +x; echo 'Applying cross build patch to suit Linux ARM emulator rootfs') - #git am < "$__ARMRootfsMountPath"/dotnet/setenv/corefx_cross.patch fi #Cross building for emulator rootfs ROOTFS_DIR="$__ARMRootfsMountPath" CPLUS_INCLUDE_PATH=$LINUX_ARM_INCPATH CXXFLAGS=$LINUX_ARM_CXXFLAGS ./build-native.sh -buildArch=$__buildArch -$__buildConfig -- cross $__verboseFlag ROOTFS_DIR="$__ARMRootfsMountPath" CPLUS_INCLUDE_PATH=$LINUX_ARM_INCPATH CXXFLAGS=$LINUX_ARM_CXXFLAGS ./build-managed.sh -$__buildConfig -skipTests - #Reset the code to the upstream version - (set +x; echo 'Rewinding HEAD to master code') - #git reset --hard HEAD^ } #Define script variables From 5f5d8341d681c5a634af8910e7e73aa02d3496fe Mon Sep 17 00:00:00 2001 From: chunseoklee Date: Thu, 5 Jan 2017 09:21:41 +0900 Subject: [PATCH 4/5] rename -arm-softfp to -armel for arm32 CI Signed-off-by: chunseoklee --- netci.groovy | 2 +- scripts/arm32_ci_script.sh | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/netci.groovy b/netci.groovy index e0567dde7d22..1826af668b9c 100644 --- a/netci.groovy +++ b/netci.groovy @@ -389,7 +389,7 @@ def testNugetRuntimeIdConfiguration = ['Debug': 'win7-x86', // Call the arm32_ci_script.sh script to perform the cross build of native corefx def script = "./scripts/arm32_ci_script.sh --emulatorPath=${armemul_path} --mountPath=${armrootfs_mountpath} --buildConfig=${configurationGroup.toLowerCase()} --verbose" if (abi == "SoftFP") { - script += " --softfp" + script += " --armel" } shell(script) diff --git a/scripts/arm32_ci_script.sh b/scripts/arm32_ci_script.sh index 49ed9d10f66c..e013aac4be60 100755 --- a/scripts/arm32_ci_script.sh +++ b/scripts/arm32_ci_script.sh @@ -12,7 +12,7 @@ function usage { echo ' --emulatorPath=/opt/linux-arm-emulator' echo ' --mountPath=/opt/linux-arm-emulator-root' echo ' --buildConfig=Release' - echo ' --softfp' + echo ' --armel' echo ' --verbose' echo '' echo 'Required Arguments:' @@ -23,7 +23,7 @@ function usage { echo ' --buildConfig= : The value of config should be either Debug or Release' echo ' Any other value is not accepted' echo 'Optional Arguments:' - echo ' --softfp : Build as arm-softfp' + echo ' --armel : Build as armel' echo ' -v --verbose : Build made verbose' echo ' -h --help : Prints this usage message and exits' echo '' @@ -165,7 +165,7 @@ function mount_emulator { #Cross builds corefx function cross_build_corefx { - #Apply fixes for softfp + #Apply fixes for armel if [ "$__buildArch" == "armel" ]; then #Export the needed environment variables (set +x; echo 'Exporting LINUX_ARM_* environment variable') @@ -203,7 +203,7 @@ do exit_with_error "--buildConfig can be only Debug or Release" true fi ;; - --softfp) + --armel) __ARMRootfsImageBase="rootfs-t30.ext4" __buildArch="armel" ;; From 8881e57cf4ae24e6dc17b57393220197013c7a8b Mon Sep 17 00:00:00 2001 From: chunseoklee Date: Thu, 5 Jan 2017 17:36:30 +0900 Subject: [PATCH 5/5] Minor fix for tizen toolchain.cmake 1. This patch removes tizen version number from cross/armel/toolchain.cmake. 2. indentation fix Signed-off-by: chunseoklee --- cross/armel/toolchain.cmake | 2 +- scripts/arm32_ci_script.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cross/armel/toolchain.cmake b/cross/armel/toolchain.cmake index 43c3e87b085a..bcfc2e5fbb69 100644 --- a/cross/armel/toolchain.cmake +++ b/cross/armel/toolchain.cmake @@ -11,7 +11,7 @@ add_compile_options(-mthumb) add_compile_options(-mfpu=vfpv3) add_compile_options(-mfloat-abi=softfp) add_compile_options(--sysroot=${CROSS_ROOTFS}) -if("$ENV{__DistroRid}" STREQUAL "tizen.3.0.0-armel") +if("$ENV{__DistroRid}" MATCHES "tizen.*") include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/armv7l-tizen-linux-gnueabi/4.9.2/include/c++/ ${CROSS_ROOTFS}/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) # compile-time option diff --git a/scripts/arm32_ci_script.sh b/scripts/arm32_ci_script.sh index e013aac4be60..4c15dc2fed77 100755 --- a/scripts/arm32_ci_script.sh +++ b/scripts/arm32_ci_script.sh @@ -23,7 +23,7 @@ function usage { echo ' --buildConfig= : The value of config should be either Debug or Release' echo ' Any other value is not accepted' echo 'Optional Arguments:' - echo ' --armel : Build as armel' + echo ' --armel : Build as armel' echo ' -v --verbose : Build made verbose' echo ' -h --help : Prints this usage message and exits' echo ''