Imported Upstream version 5.20.0.180

Former-commit-id: ff953ca879339fe1e1211f7220f563e1342e66cb
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2019-02-04 20:11:37 +00:00
parent 0e2d47d1c8
commit 0510252385
3360 changed files with 83827 additions and 39243 deletions

View File

@@ -43,20 +43,6 @@ clean()
fi
}
# Check the system to ensure the right pre-reqs are in place
check_native_prereqs()
{
echo "Checking pre-requisites..."
# Check presence of CMake on the path
hash cmake 2>/dev/null || { echo >&2 "Please install cmake before running this script"; exit 1; }
# Check for clang
hash clang-$__ClangMajorVersion.$__ClangMinorVersion 2>/dev/null || hash clang$__ClangMajorVersion$__ClangMinorVersion 2>/dev/null || hash clang 2>/dev/null || { echo >&2 "Please install clang before running this script"; exit 1; }
}
get_current_linux_rid() {
# Construct RID for current distro
@@ -65,9 +51,7 @@ get_current_linux_rid() {
if [ -e /etc/os-release ]; then
source /etc/os-release
if [[ $ID == "alpine" ]]; then
# remove the last version digit
VERSION_ID=${VERSION_ID%.*}
rid=alpine.$VERSION_ID
rid="linux-musl"
fi
elif [ -e /etc/redhat-release ]; then
@@ -105,18 +89,10 @@ export __UnprocessedBuildArgs=
export __CleanBuild=0
export __VerboseBuild=0
export __ObjWriterBuild=0
export __ClangMajorVersion=3
export __ClangMinorVersion=9
export __CrossBuild=0
__BuildArch=$__HostArch
# Checking for any clang versions, if there is a symlink
if [ -x "$(command -v clang)" ]; then
__ClangMajorVersion="$(echo | clang -dM -E - | grep __clang_major__ | cut -f3 -d ' ')"
__ClangMinorVersion="$(echo | clang -dM -E - | grep __clang_minor__ | cut -f3 -d ' ')"
fi
while [ "$1" != "" ]; do
lowerI="$(echo $1 | awk '{print tolower($0)}')"
case $lowerI in
@@ -130,24 +106,6 @@ while [ "$1" != "" ]; do
native)
export __buildnative=true
;;
x86)
__BuildArch=x86
;;
x64)
__BuildArch=x64
;;
arm)
__BuildArch=arm
;;
arm64)
__BuildArch=arm64
;;
armel)
__BuildArch=armel
;;
wasm)
__BuildArch=wasm
;;
debug)
export __BuildType=Debug
;;
@@ -162,38 +120,7 @@ while [ "$1" != "" ]; do
;;
objwriter)
export __ObjWriterBuild=1
;;
clang3.6)
export __ClangMajorVersion=3
export __ClangMinorVersion=6
;;
clang3.7)
export __ClangMajorVersion=3
export __ClangMinorVersion=7
;;
clang3.8)
export __ClangMajorVersion=3
export __ClangMinorVersion=8
;;
clang3.9)
export __ClangMajorVersion=3
export __ClangMinorVersion=9
;;
clang4.0)
export __ClangMajorVersion=4
export __ClangMinorVersion=0
;;
clang5.0)
export __ClangMajorVersion=5
export __ClangMinorVersion=0
;;
clang6.0)
export __ClangMajorVersion=6
export __ClangMinorVersion=0
;;
clang7.0)
export __ClangMajorVersion=7
export __ClangMinorVersion=0
export __ExtraMsBuildArgs="$__ExtraMsBuildArgs /p:ObjWriterBuild=true"
;;
cross)
export __CrossBuild=1
@@ -209,12 +136,37 @@ while [ "$1" != "" ]; do
skiptests)
export __SkipTests=true
;;
x86|x64|arm|arm64|armel|wasm)
__BuildArch=$lowerI
;;
clang*)
export __ClangMajorVersion=${lowerI:5:1}
export __ClangMinorVersion=${lowerI:7:1}
;;
*)
export __UnprocessedBuildArgs="$__UnprocessedBuildArgs $1"
export __UnprocessedBuildArgs="$__UnprocessedBuildArgs $1"
esac
shift
done
if [ -z "$__ClangMajorVersion" ] || [ -z "$__ClangMinorVersion" ]; then
# Checking for any clang versions, if there is a symlink
if [ -x "$(command -v clang)" ]; then
export __ClangMajorVersion="$(echo | clang -dM -E - | grep __clang_major__ | cut -f3 -d ' ')"
export __ClangMinorVersion="$(echo | clang -dM -E - | grep __clang_minor__ | cut -f3 -d ' ')"
if [ "${__HostOS}" != "OSX" ]; then
export CppCompilerAndLinker=clang
fi
else
export __ClangMajorVersion=3
export __ClangMinorVersion=9
fi
fi
if [ "${__HostOS}" != "OSX" ] && [ -z "$CppCompilerAndLinker" ]; then
export CppCompilerAndLinker=clang-${__ClangMajorVersion}.${__ClangMinorVersion}
fi
export $__BuildArch
# Use uname to determine what the OS is.
@@ -250,11 +202,6 @@ case $OSName in
;;
esac
# For msbuild
if [ $__HostOS != "OSX" ]; then
export CppCompilerAndLinker=clang-${__ClangMajorVersion}.${__ClangMinorVersion}
fi
export __BuildOS="$__HostOS"
# Overwrite __BuildOS with WebAssembly if wasm is target build arch, but keep the __NugetRuntimeId to match the Host OS