You've already forked linux-packaging-mono
Imported Upstream version 5.10.0.69
Former-commit-id: fc39669a0b707dd3c063977486506b6793da2890
This commit is contained in:
parent
d8f8abd549
commit
e2950ec768
102
external/corert/buildscripts/build-managed.sh
vendored
102
external/corert/buildscripts/build-managed.sh
vendored
@@ -6,6 +6,8 @@ if [ "$BUILDVARS_DONE" != 1 ]; then
|
||||
. $scriptRoot/buildvars-setup.sh $*
|
||||
fi
|
||||
|
||||
export __BuildArch
|
||||
|
||||
# Prepare the system for building
|
||||
|
||||
prepare_managed_build()
|
||||
@@ -13,10 +15,6 @@ prepare_managed_build()
|
||||
# Run Init-Tools to restore BuildTools and ToolRuntime
|
||||
$__ProjectRoot/init-tools.sh
|
||||
|
||||
# Tell nuget to always use repo-local nuget package cache. The "dotnet restore" invocations use the --packages
|
||||
# argument, but there are a few commands in publish and tests that do not.
|
||||
export NUGET_PACKAGES=$__packageroot
|
||||
|
||||
echo "Using CLI tools version:"
|
||||
ls "$__dotnetclipath/sdk"
|
||||
}
|
||||
@@ -26,17 +24,39 @@ build_managed_corert()
|
||||
__buildproj=$__ProjectRoot/build.proj
|
||||
__buildlog=$__ProjectRoot/msbuild.$__BuildArch.log
|
||||
|
||||
if [ -z "${ToolchainMilestone}" ]; then
|
||||
ToolchainMilestone=testing
|
||||
fi
|
||||
|
||||
__buildarch="$__BuildArch"
|
||||
if [ "$__buildarch" = "armel" ]; then
|
||||
__buildarch=arm
|
||||
__ExtraMsBuildArgs="$__ExtraMsBuildArgs /p:BinDirPlatform=armel"
|
||||
fi
|
||||
|
||||
$__ProjectRoot/Tools/msbuild.sh "$__buildproj" /m /nologo /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__buildlog" /t:Build /p:RepoPath=$__ProjectRoot /p:RepoLocalBuild="true" /p:RelativeProductBinDir=$__RelativeProductBinDir /p:CleanedTheBuild=$__CleanBuild /p:NuPkgRid=$__NugetRuntimeId /p:TestNugetRuntimeId=$__NugetRuntimeId /p:OSGroup=$__BuildOS /p:Configuration=$__BuildType /p:Platform=$__buildarch /p:COMPUTERNAME=$(hostname) /p:USERNAME=$(id -un) /p:ToolchainMilestone=${ToolchainMilestone} $__UnprocessedBuildArgs $__ExtraMsBuildArgs
|
||||
$__dotnetclipath/dotnet msbuild "$__buildproj" /m /nologo /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__buildlog" /t:Restore /p:RepoPath=$__ProjectRoot /p:RepoLocalBuild="true" /p:NuPkgRid=$__NugetRuntimeId /p:OSGroup=$__BuildOS /p:Configuration=$__BuildType /p:Platform=$__buildarch /p:COMPUTERNAME=$(hostname) /p:USERNAME=$(id -un) $__UnprocessedBuildArgs $__ExtraMsBuildArgs
|
||||
export BUILDERRORLEVEL=$?
|
||||
|
||||
echo
|
||||
|
||||
# Pull the build summary from the log file
|
||||
tail -n 4 "$__buildlog"
|
||||
echo Build Exit Code = $BUILDERRORLEVEL
|
||||
if [ $BUILDERRORLEVEL != 0 ]; then
|
||||
exit $BUILDERRORLEVEL
|
||||
fi
|
||||
|
||||
# Buildtools tooling is not capable of publishing netcoreapp currently. Use helper projects to publish skeleton of
|
||||
# the standalone app that the build injects actual binaries into later.
|
||||
$__dotnetclipath/dotnet restore $__sourceroot/ILCompiler/netcoreapp/ilc.csproj -r $__NugetRuntimeId
|
||||
export BUILDERRORLEVEL=$?
|
||||
if [ $BUILDERRORLEVEL != 0 ]; then
|
||||
exit $BUILDERRORLEVEL
|
||||
fi
|
||||
$__dotnetclipath/dotnet publish $__sourceroot/ILCompiler/netcoreapp/ilc.csproj -r $__NugetRuntimeId -o $__ProductBinDir/tools
|
||||
export BUILDERRORLEVEL=$?
|
||||
if [ $BUILDERRORLEVEL != 0 ]; then
|
||||
exit $BUILDERRORLEVEL
|
||||
fi
|
||||
chmod +x $__ProductBinDir/tools/ilc
|
||||
|
||||
$__ProjectRoot/Tools/msbuild.sh "$__buildproj" /m /nologo /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__buildlog" /t:Build /p:RepoPath=$__ProjectRoot /p:RepoLocalBuild="true" /p:NuPkgRid=$__NugetRuntimeId /p:OSGroup=$__BuildOS /p:Configuration=$__BuildType /p:Platform=$__buildarch /p:COMPUTERNAME=$(hostname) /p:USERNAME=$(id -un) $__UnprocessedBuildArgs $__ExtraMsBuildArgs
|
||||
export BUILDERRORLEVEL=$?
|
||||
|
||||
echo
|
||||
@@ -54,50 +74,52 @@ build_managed_corert()
|
||||
get_official_cross_builds()
|
||||
{
|
||||
if [ $__CrossBuild == 1 ]; then
|
||||
__corefxsite="https://ci.dot.net/job/dotnet_corefx/job/master/view/Official%20Builds/job/"
|
||||
__coreclrsite="https://ci.dot.net/job/dotnet_coreclr/job/master/view/Official%20Builds/job/"
|
||||
__corefxsource=
|
||||
__coreclrsource=
|
||||
__buildtype=
|
||||
if [ $__BuildType = "Debug" ]; then
|
||||
__buildtype="debug"
|
||||
else
|
||||
__buildtype="release"
|
||||
fi
|
||||
ID=
|
||||
case $__BuildArch in
|
||||
arm)
|
||||
;;
|
||||
arm64)
|
||||
;;
|
||||
armel)
|
||||
ID=
|
||||
if [ -e $ROOTFS_DIR/etc/os-release ]; then
|
||||
source $ROOTFS_DIR/etc/os-release
|
||||
fi
|
||||
if [ "$ID" = "tizen" ]; then
|
||||
__corefxsource="tizen_armel_cross_${__buildtype}/lastSuccessfulBuild/artifact/bin/build.tar.gz"
|
||||
__coreclrsource="armel_cross_${__buildtype}_tizen/lastSuccessfulBuild/artifact/bin/Product/Linux.armel.${__BuildType}/libSystem.Globalization.Native.a"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
if [ -n "${__corefxsource}" ]; then
|
||||
wget "${__corefxsite}${__corefxsource}"
|
||||
export BUILDERRORLEVEL=$?
|
||||
if [ $BUILDERRORLEVEL != 0 ]; then
|
||||
exit $BUILDERRORLEVEL
|
||||
fi
|
||||
tar xvf ./build.tar.gz ./System.Native.a
|
||||
mv ./System.Native.a $__ProjectRoot/bin/Product/Linux.${__BuildArch}.${__BuildType}/packaging/publish1/framework
|
||||
rm -rf ./build.tar.gz
|
||||
|
||||
# only tizen case now
|
||||
if [ "$ID" != "tizen" ]; then
|
||||
return 0
|
||||
fi
|
||||
if [ -n ${__coreclrsource} ]; then
|
||||
wget "${__coreclrsite}${__coreclrsource}"
|
||||
export BUILDERRORLEVEL=$?
|
||||
if [ $BUILDERRORLEVEL != 0 ]; then
|
||||
exit $BUILDERRORLEVEL
|
||||
fi
|
||||
mv ./libSystem.Globalization.Native.a $__ProjectRoot/bin/Product/Linux.${__BuildArch}.${__BuildType}/packaging/publish1/framework
|
||||
__tizenToolsRoot=${__ProjectRoot}/Tools/tizen
|
||||
__corefxsite="https://ci.dot.net/job/dotnet_corefx/job/master/view/Official%20Builds/job/"
|
||||
__coreclrsite="https://ci.dot.net/job/dotnet_coreclr/job/master/view/Official%20Builds/job/"
|
||||
__buildArchiveName="build.tar.gz"
|
||||
__systemNativeLibName="System.Native.a"
|
||||
__systemGlobNativeLibName="libSystem.Globalization.Native.a"
|
||||
if [ $__BuildType = "Debug" ]; then
|
||||
__buildtype="debug"
|
||||
else
|
||||
__buildtype="release"
|
||||
fi
|
||||
__corefxsource="tizen_armel_cross_${__buildtype}/lastSuccessfulBuild/artifact/bin/${__buildArchiveName}"
|
||||
__coreclrsource="armel_cross_${__buildtype}_tizen/lastSuccessfulBuild/artifact/bin/Product/Linux.armel.${__BuildType}/${__systemGlobNativeLibName}"
|
||||
mkdir -p $__tizenToolsRoot
|
||||
|
||||
(cd ${__tizenToolsRoot} && wget -N "${__corefxsite}${__corefxsource}")
|
||||
export BUILDERRORLEVEL=$?
|
||||
if [ $BUILDERRORLEVEL != 0 ]; then
|
||||
exit $BUILDERRORLEVEL
|
||||
fi
|
||||
tar xvf ${__tizenToolsRoot}/${__buildArchiveName} -C ${__tizenToolsRoot} ./${__systemNativeLibName}
|
||||
cp ${__tizenToolsRoot}/${__systemNativeLibName} $__ProjectRoot/bin/Linux.${__BuildArch}.${__BuildType}/framework
|
||||
|
||||
(cd ${__tizenToolsRoot} && wget -N "${__coreclrsite}${__coreclrsource}")
|
||||
export BUILDERRORLEVEL=$?
|
||||
if [ $BUILDERRORLEVEL != 0 ]; then
|
||||
exit $BUILDERRORLEVEL
|
||||
fi
|
||||
cp ${__tizenToolsRoot}/${__systemGlobNativeLibName} $__ProjectRoot/bin/Linux.${__BuildArch}.${__BuildType}/framework
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user