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:
authorManu <manu-silicon@users.noreply.github.com>2015-11-26 11:41:09 +0300
committerManu <manu-silicon@users.noreply.github.com>2015-12-01 10:07:10 +0300
commit85461a4a77436b22b70e5b91a4fdf7fcdcfe5e39 (patch)
treedf41fc62f61b56b6031e706a413ef353a5a0f237 /build.sh
parent8199af35a5a5bbf932417d6b9c59809ced819bfd (diff)
Support for cross compilation
Using what has been done for CoreCLR, added support for cross compilation in CoreRT.
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh24
1 files changed, 18 insertions, 6 deletions
diff --git a/build.sh b/build.sh
index 6bfa468c8..48353697a 100755
--- a/build.sh
+++ b/build.sh
@@ -2,7 +2,7 @@
usage()
{
- echo "Usage: $0 [managed] [native] [BuildArch] [BuildType] [clean] [verbose] [clangx.y]"
+ echo "Usage: $0 [managed] [native] [BuildArch] [BuildType] [clean] [cross] [verbose] [clangx.y]"
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:"
@@ -11,6 +11,8 @@ usage()
echo "clean - optional argument to force a clean build."
echo "verbose - optional argument to enable verbose build output."
echo "clangx.y - optional argument to build using clang version x.y."
+ echo "cross - optional argument to signify cross compilation,"
+ echo " - will use ROOTFS_DIR environment variable if set."
exit 1
}
@@ -136,8 +138,8 @@ build_native_corert()
cd "$__IntermediatesDir"
# Regenerate the CMake solution
- echo "Invoking cmake with arguments: \"$__nativeroot\" $__CMakeArgs"
- "$__nativeroot/gen-buildsys-clang.sh" "$__nativeroot" $__ClangMajorVersion $__ClangMinorVersion $__CMakeArgs
+ echo "Invoking cmake with arguments: \"$__ProjectRoot\" $__BuildType"
+ "$__ProjectRoot/src/Native/gen-buildsys-clang.sh" "$__ProjectRoot" $__ClangMajorVersion $__ClangMinorVersion $__BuildArch $__BuildType
# Check that the makefiles were created.
@@ -169,7 +171,7 @@ build_native_corert()
}
__scriptpath=$(cd "$(dirname "$0")"; pwd -P)
-__nativeroot=$__scriptpath/src/Native
+__ProjectRoot=$__scriptpath
__packageroot=$__scriptpath/packages
__sourceroot=$__scriptpath/src
__nugetpath=$__packageroot/NuGet.exe
@@ -239,7 +241,6 @@ case $OSName in
;;
esac
__BuildType=Debug
-__CMakeArgs=DEBUG
case $__BuildOS in
FreeBSD)
@@ -262,6 +263,7 @@ __CleanBuild=0
__VerboseBuild=0
__ClangMajorVersion=3
__ClangMinorVersion=5
+__CrossBuild=0
for i in "$@"
do
@@ -294,7 +296,6 @@ for i in "$@"
;;
release)
__BuildType=Release
- __CMakeArgs=RELEASE
;;
clean)
__CleanBuild=1
@@ -314,6 +315,9 @@ for i in "$@"
__ClangMajorVersion=3
__ClangMinorVersion=7
;;
+ cross)
+ __CrossBuild=1
+ ;;
*)
__UnprocessedBuildArgs="$__UnprocessedBuildArgs $i"
esac
@@ -337,6 +341,14 @@ if [ $__CleanBuild == 1 ]; then
clean
fi
+# Configure environment if we are doing a cross compile.
+if [ $__CrossBuild == 1 ]; then
+ export CROSSCOMPILE=1
+ if ! [[ -n "$ROOTFS_DIR" ]]; then
+ export ROOTFS_DIR="$__ProjectRoot/cross/rootfs/$__BuildArch"
+ fi
+fi
+
setup_dirs
if $__buildnative; then