exit 1
}
-initDistroName()
+initDistroRid()
{
if [ "$__BuildOS" == "Linux" ]; then
- # Detect Distro
- if [ "$(cat /etc/*-release | grep -cim1 ubuntu)" -eq 1 ]; then
- export __DistroName=ubuntu
- elif [ "$(cat /etc/*-release | grep -cim1 centos)" -eq 1 ]; then
- export __DistroName=rhel
- elif [ "$(cat /etc/*-release | grep -cim1 rhel)" -eq 1 ]; then
- export __DistroName=rhel
- elif [ "$(cat /etc/*-release | grep -cim1 debian)" -eq 1 ]; then
- export __DistroName=debian
+ if [ ! -e /etc/os-release ]; then
+ echo "WARNING: Can not determine runtime id for current distro."
+ export __DistroRid=""
else
- export __DistroName=""
+ source /etc/os-release
+ export __DistroRid="$ID.$VERSION_ID-$__HostArch"
fi
fi
}
# This needs to be updated alongwith corresponding changes to netci.groovy.
__isMSBuildOnNETCoreSupported=0
- if [ "$__BuildArch" == "x64" ]; then
- if [ "$__BuildOS" == "Linux" ]; then
- if [ "$__DistroName" == "ubuntu" ]; then
- __OSVersion=$(lsb_release -rs)
- if [ "$__OSVersion" == "14.04" ]; then
+ if [ "$__HostArch" == "x64" ]; then
+ if [ "$__HostOS" == "Linux" ]; then
+ case "$__DistroRid" in
+ "centos.7-x64")
__isMSBuildOnNETCoreSupported=1
- elif [ "$(cat /etc/*-release | grep -cim1 14.04)" -eq 1 ]; then
- # Linux Mint based on Ubuntu 14.04
+ ;;
+ "debian.8-x64")
__isMSBuildOnNETCoreSupported=1
- fi
- elif [ "$__DistroName" == "rhel" ]; then
- __isMSBuildOnNETCoreSupported=1
- elif [ "$__DistroName" == "debian" ]; then
- __isMSBuildOnNETCoreSupported=1
- fi
- elif [ "$__BuildOS" == "OSX" ]; then
+ ;;
+ "fedora.23-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "opensuse.13.2-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "rhel.7.2-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "ubuntu.14.04-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ "ubuntu.16.04-x64")
+ __isMSBuildOnNETCoreSupported=1
+ ;;
+ *)
+ esac
+ elif [ "$__HostOS" == "OSX" ]; then
__isMSBuildOnNETCoreSupported=1
fi
- elif [ "$__BuildArch" == "arm" ] || [ "$__BuildArch" == "arm64" ] ; then
- if [ "$__BuildOS" == "Linux" ]; then
- if [ "$__DistroName" == "ubuntu" ]; then
- __isMSBuildOnNETCoreSupported=1
- fi
- fi
-
fi
}
return
fi
- echo "Generating nuget packages for "$__BuildOS
-
if [ $__SkipMSCorLib == 1 ]; then
# Restore buildTools, since we skipped doing so with the mscorlib build.
-
restoreBuildTools
echo "Unable to generate Microsoft.NETCore.Runtime.CoreCLR nuget package since mscorlib was not built."
- else
- # Build the CoreCLR packages
- $__ProjectRoot/Tools/corerun "$__MSBuildPath" /nologo "$__ProjectRoot/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/Microsoft.NETCore.Runtime.CoreCLR.builds" /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.log" /t:Build /p:__BuildOS=$__BuildOS /p:__BuildArch=$__BuildArch /p:__BuildType=$__BuildType /p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir /p:BuildNugetPackage=false /p:UseSharedCompilation=false
-
- if [ $? -ne 0 ]; then
- echo "Failed to generate Nuget packages."
- exit 1
- fi
- fi
-
- # Build the JIT packages
- $__ProjectRoot/Tools/corerun "$__MSBuildPath" /nologo "$__ProjectRoot/src/.nuget/Microsoft.NETCore.Jit/Microsoft.NETCore.Jit.builds" /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.log" /t:Build /p:__BuildOS=$__BuildOS /p:__BuildArch=$__BuildArch /p:__BuildType=$__BuildType /p:__IntermediatesDir=$__IntermediatesDir /p:BuildNugetPackage=false /p:__RootBinDir=$__RootBinDir /p:UseSharedCompilation=false
-
- if [ $? -ne 0 ]; then
- echo "Failed to generate Nuget packages."
- exit 1
fi
- # Build the ILAsm package
- $__ProjectRoot/Tools/corerun "$__MSBuildPath" /nologo "$__ProjectRoot/src/.nuget/Microsoft.NETCore.ILAsm/Microsoft.NETCore.ILAsm.builds" /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.log" /t:Build /p:__BuildOS=$__BuildOS /p:__BuildArch=$__BuildArch /p:__BuildType=$__BuildType /p:__IntermediatesDir=$__IntermediatesDir /p:BuildNugetPackage=false /p:__RootBinDir=$__RootBinDir /p:UseSharedCompilation=false
-
- if [ $? -ne 0 ]; then
- echo "Failed to generate ILAsm Nuget packages."
- exit 1
- fi
+ echo "Generating nuget packages for "$__BuildOS
- # Build the ILDAsm package
- $__ProjectRoot/Tools/corerun "$__MSBuildPath" /nologo "$__ProjectRoot/src/.nuget/Microsoft.NETCore.ILDAsm/Microsoft.NETCore.ILDAsm.builds" /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.log" /t:Build /p:__BuildOS=$__BuildOS /p:__BuildArch=$__BuildArch /p:__BuildType=$__BuildType /p:__IntermediatesDir=$__IntermediatesDir /p:BuildNugetPackage=false /p:__RootBinDir=$__RootBinDir /p:UseSharedCompilation=false
+ # Build the packages
+ $__ProjectRoot/Tools/corerun "$__MSBuildPath" /nologo "$__ProjectRoot/src/.nuget/packages.builds" /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__LogsDir/Nuget_$__BuildOS__$__BuildArch__$__BuildType.log" /t:Build /p:__BuildOS=$__BuildOS /p:__BuildArch=$__BuildArch /p:__BuildType=$__BuildType /p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir /p:BuildNugetPackage=false /p:UseSharedCompilation=false
if [ $? -ne 0 ]; then
- echo "Failed to generate ILDAsm Nuget packages."
+ echo "Failed to generate Nuget packages."
exit 1
fi
}
# Use uname to determine what the CPU is.
CPUName=$(uname -p)
# Some Linux platforms report unknown for platform, but the arch for machine.
-if [ $CPUName == "unknown" ]; then
+if [ "$CPUName" == "unknown" ]; then
CPUName=$(uname -m)
fi
case $OSName in
Linux)
__BuildOS=Linux
+ __HostOS=Linux
;;
Darwin)
__BuildOS=OSX
+ __HostOS=OSX
;;
FreeBSD)
__BuildOS=FreeBSD
+ __HostOS=FreeBSD
;;
OpenBSD)
__BuildOS=OpenBSD
+ __HostOS=OpenBSD
;;
NetBSD)
__BuildOS=NetBSD
+ __HostOS=NetBSD
;;
SunOS)
__BuildOS=SunOS
+ __HostOS=SunOS
;;
*)
echo "Unsupported OS $OSName detected, configuring as if for Linux"
__BuildOS=Linux
+ __HostOS=Linux
;;
esac
__ClangMinorVersion=0
__MSBuildPath=$__ProjectRoot/Tools/MSBuild.exe
__NuGetPath="$__PackagesDir/NuGet.exe"
-__DistroName=""
+__DistroRid=""
__cmakeargs=""
__OfficialBuildIdArg=
__SkipGenerateVersion=0
fi
# init the distro name
-initDistroName
+initDistroRid
# Set the remaining variables based upon the determined build configuration
__BinDir="$__RootBinDir/Product/$__BuildOS.$__BuildArch.$__BuildType"