Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corert.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Ignatov <sergign60@mail.ru>2017-02-01 19:56:19 +0300
committerSergey Ignatov <sergign60@mail.ru>2017-02-06 15:29:42 +0300
commitf0dcb80f7b60f1f14d1efe3780c36d09e9b0b29f (patch)
tree84c10bcf59a1558572bbda21ea79004a13c8adfa
parente6ff5433da6027767eb87d7e0891bacddd87645a (diff)
Added armel building
-rwxr-xr-xbuildscripts/build-native.sh36
-rwxr-xr-xbuildscripts/buildvars-setup.sh9
-rw-r--r--src/Native/CMakeLists.txt7
3 files changed, 49 insertions, 3 deletions
diff --git a/buildscripts/build-native.sh b/buildscripts/build-native.sh
index ab861f493..47ba3d0ec 100755
--- a/buildscripts/build-native.sh
+++ b/buildscripts/build-native.sh
@@ -76,9 +76,45 @@ build_native_corert()
popd
}
+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
+}
+
if $__buildnative; then
+ # init the host distro name
+ initHostDistroRid
+
+ # init the target distro name
+ initTargetDistroRid
+
# Check prereqs.
check_native_prereqs
diff --git a/buildscripts/buildvars-setup.sh b/buildscripts/buildvars-setup.sh
index 588bcd626..59dd405e2 100755
--- a/buildscripts/buildvars-setup.sh
+++ b/buildscripts/buildvars-setup.sh
@@ -6,7 +6,7 @@ usage()
echo "managed - optional argument to build the managed code"
echo "native - optional argument to build the native code"
echo "The following arguments affect native builds only:"
- echo "BuildArch can be: x64, x86, arm, arm64"
+ echo "BuildArch can be: x64, x86, arm, arm64, armel"
echo "BuildType can be: Debug, Release"
echo "clean - optional argument to force a clean build."
echo "verbose - optional argument to enable verbose build output."
@@ -178,6 +178,11 @@ while [ "$1" != "" ]; do
arm64)
export __BuildArch=arm64
;;
+ armel)
+ export __BuildArch=armel
+ export __ClangMajorVersion=3
+ export __ClangMinorVersion=5
+ ;;
debug)
export __BuildType=Debug
;;
@@ -264,4 +269,4 @@ fi
setup_dirs
export BUILDERRORLEVEL=0
-export BUILDVARS_DONE=1 \ No newline at end of file
+export BUILDVARS_DONE=1
diff --git a/src/Native/CMakeLists.txt b/src/Native/CMakeLists.txt
index 0ed106efb..81ab1c1a1 100644
--- a/src/Native/CMakeLists.txt
+++ b/src/Native/CMakeLists.txt
@@ -22,7 +22,7 @@ function(clr_unknown_arch)
if (WIN32)
message(FATAL_ERROR "Only AMD64 and I386 are supported")
else()
- message(FATAL_ERROR "Only AMD64, ARM64 and ARM are supported")
+ message(FATAL_ERROR "Only AMD64, ARM64 ARM and ARMEL are supported")
endif()
endfunction()
@@ -32,7 +32,12 @@ elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
add_definitions(-DBIT32=1)
# Because we don't use CMAKE_C_COMPILER/CMAKE_CXX_COMPILER to use clang
# we have to set the triple by adding a compiler argument
+ if(TOOLCHAIN STREQUAL arm-linux-gnueabi)
+ add_compile_options(-target armv7-linux-gnueabi)
+ add_compile_options(-mfloat-abi=softfp)
+ else ()
add_compile_options(-target armv7-linux-gnueabihf)
+ endif ()
add_compile_options(-mthumb)
add_compile_options(-mfpu=vfpv3)
elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)