@@ -12,6 +12,32 @@ if [ -z "${1:-}" ]; then
1212 exit 1
1313fi
1414
15+ # Use uname to determine what the CPU is.
16+ cpuname=$( uname -p)
17+ # Some Linux platforms report unknown for platform, but the arch for machine.
18+ if [[ " $cpuname " == " unknown" ]]; then
19+ cpuname=$( uname -m)
20+ fi
21+
22+ case $cpuname in
23+ aarch64)
24+ targetArchitecture=arm64
25+ ;;
26+ amd64|x86_64)
27+ targetArchitecture=x64
28+ ;;
29+ armv7l)
30+ targetArchitecture=arm
31+ ;;
32+ i686)
33+ targetArchitecture=x86
34+ ;;
35+ * )
36+ echo " Unknown CPU $cpuname detected, treating it as x64"
37+ targetArchitecture=x64
38+ ;;
39+ esac
40+
1541TARBALL_ROOT=$1
1642shift
1743
@@ -217,28 +243,28 @@ cp $SCRIPT_ROOT/support/tarball/build.sh $TARBALL_ROOT/build.sh
217243mkdir -p $TARBALL_ROOT /packages/prebuilt
218244mkdir -p $TARBALL_ROOT /packages/source-built
219245find $SCRIPT_ROOT /packages/restored/ -name ' *.nupkg' -exec cp {} $TARBALL_ROOT /packages/prebuilt/ \;
220- find $SCRIPT_ROOT /bin/obj/x64 /Release/nuget-packages -name ' *.nupkg' -exec cp {} $TARBALL_ROOT /packages/prebuilt/ \;
246+ find $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/nuget-packages -name ' *.nupkg' -exec cp {} $TARBALL_ROOT /packages/prebuilt/ \;
221247
222248# Copy reference-packages from bin dir to reference-packages directory.
223249# See corresponding change in dir.props to change ReferencePackagesBasePath conditionally in offline build.
224250mkdir -p $TARBALL_ROOT /packages/reference
225- cp -r $SCRIPT_ROOT /bin/obj/x64 /Release/reference-packages/source $TARBALL_ROOT /packages/reference/source
226- cp -r $SCRIPT_ROOT /bin/obj/x64 /Release/reference-packages/staging $TARBALL_ROOT /packages/reference/staging
251+ cp -r $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/reference-packages/source $TARBALL_ROOT /packages/reference/source
252+ cp -r $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/reference-packages/staging $TARBALL_ROOT /packages/reference/staging
227253
228254# Copy tarballs to ./packages/archive directory
229255mkdir -p $TARBALL_ROOT /packages/archive
230- cp -r $SCRIPT_ROOT /bin/obj/x64 /Release/external-tarballs/* .tar.gz $TARBALL_ROOT /packages/archive/
256+ cp -r $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/external-tarballs/* .tar.gz $TARBALL_ROOT /packages/archive/
231257
232258# Copy generated source from bin to src/generatedSrc
233- cp -r $SCRIPT_ROOT /bin/obj/x64 /Release/generatedSrc $TARBALL_ROOT /src/generatedSrc
259+ cp -r $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/generatedSrc $TARBALL_ROOT /src/generatedSrc
234260
235261if [ -e $SCRIPT_ROOT /testing-smoke/smoke-test-packages ]; then
236262 cp -rf $SCRIPT_ROOT /testing-smoke/smoke-test-packages $TARBALL_ROOT /packages
237263fi
238264
239265echo ' Removing source-built packages from tarball prebuilts...'
240266
241- for built_package in $( find $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/ -name ' *.nupkg' | tr ' [:upper:]' ' [:lower:]' )
267+ for built_package in $( find $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/ -name ' *.nupkg' | tr ' [:upper:]' ' [:lower:]' )
242268do
243269 if [ -e $TARBALL_ROOT /packages/prebuilt/$( basename $built_package ) ]; then
244270 rm $TARBALL_ROOT /packages/prebuilt/$( basename $built_package )
@@ -251,16 +277,16 @@ done
251277echo ' Copying source-built packages to tarball to replace packages needed before they are built...'
252278mkdir -p $TARBALL_ROOT /packages/source-built
253279cp -r $SCRIPT_ROOT /Tools/source-built/coreclr-tools $TARBALL_ROOT /packages/source-built/
254- cp $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/* Arcade* .nupkg $TARBALL_ROOT /packages/source-built/
255- cp $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/* SourceLink* .nupkg $TARBALL_ROOT /packages/source-built/
256- cp $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/* Build* Tasks* .nupkg $TARBALL_ROOT /packages/source-built/
257- cp $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/runtime* .nupkg $TARBALL_ROOT /packages/source-built/
258- cp $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/* DotNetHost* .nupkg $TARBALL_ROOT /packages/source-built/
259- cp $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/* DotNetAppHost* .nupkg $TARBALL_ROOT /packages/source-built/
280+ cp $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/* Arcade* .nupkg $TARBALL_ROOT /packages/source-built/
281+ cp $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/* SourceLink* .nupkg $TARBALL_ROOT /packages/source-built/
282+ cp $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/* Build* Tasks* .nupkg $TARBALL_ROOT /packages/source-built/
283+ cp $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/runtime* .nupkg $TARBALL_ROOT /packages/source-built/
284+ cp $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/* DotNetHost* .nupkg $TARBALL_ROOT /packages/source-built/
285+ cp $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/* DotNetAppHost* .nupkg $TARBALL_ROOT /packages/source-built/
260286
261287# Setup package version props to include both source-built and running PackageVersions.props
262- mkdir --parents $TARBALL_ROOT /bin/obj/x64 /Release/
263- cp $SCRIPT_ROOT /support/tarball/PackageVersions.props $TARBALL_ROOT /bin/obj/x64 /Release/
288+ mkdir --parents $TARBALL_ROOT /bin/obj/$targetArchitecture /Release/
289+ cp $SCRIPT_ROOT /support/tarball/PackageVersions.props $TARBALL_ROOT /bin/obj/$targetArchitecture /Release/
264290
265291if [ $INCLUDE_LEAK_DETECTION -eq 1 ]; then
266292 echo ' Building leak detection MSBuild tasks...'
270296
271297echo ' Removing reference-only packages from tarball prebuilts...'
272298
273- for ref_package in $( find $SCRIPT_ROOT /bin/obj/x64 /Release/reference-packages/packages-to-delete/ -name ' *.nupkg' | tr ' [:upper:]' ' [:lower:]' )
299+ for ref_package in $( find $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/reference-packages/packages-to-delete/ -name ' *.nupkg' | tr ' [:upper:]' ' [:lower:]' )
274300do
275301 if [ -e $TARBALL_ROOT /packages/prebuilt/$( basename $ref_package ) ]; then
276302 rm $TARBALL_ROOT /packages/prebuilt/$( basename $ref_package )
328354echo ' Removing source-built, previously source-built packages and reference packages from il pkg src...'
329355OLDIFS= $IFS
330356
331- allBuiltPkgs= (` ls $SCRIPT_ROOT /bin/obj/x64 /Release/blob-feed/packages/* .nupkg | xargs -n1 basename | tr ' [:upper:]' ' [:lower:]' ` )
357+ allBuiltPkgs= (` ls $SCRIPT_ROOT /bin/obj/$targetArchitecture /Release/blob-feed/packages/* .nupkg | xargs -n1 basename | tr ' [:upper:]' ' [:lower:]' ` )
332358pushd $TARBALL_ROOT /packages/reference/staging/
333359ilSrcPaths= (` find . -maxdepth 2 -mindepth 2` )
334360popd
0 commit comments