Skip to content

Add riscv64 build support #3192

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Mar 12, 2025
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
// Features to add to the dev container. More info: https://containers.dev/features.
"features": {
"ghcr.io/devcontainers/features/dotnet:2": "latest",
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
Expand Down
4 changes: 4 additions & 0 deletions binding/Binding.Shared/LibraryLoader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,13 @@ public static IntPtr LoadLocalLibrary<T> (string libraryName)

static string GetLibraryPath (string libraryName)
{
#if NET
var arch = RuntimeInformation.ProcessArchitecture.ToString().ToLowerInvariant();
#else
var arch = PlatformConfiguration.Is64Bit
? PlatformConfiguration.IsArm ? "arm64" : "x64"
: PlatformConfiguration.IsArm ? "arm" : "x86";
#endif

var libWithExt = libraryName;
if (!libraryName.EndsWith (Extension, StringComparison.OrdinalIgnoreCase))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,21 @@
</PropertyGroup>
<ItemGroup>
<!-- glibc -->
<PackageFile Include="..\..\output\native\linux\x64\libHarfBuzzSharp*" PackagePath="runtimes\linux-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\x86\libHarfBuzzSharp*" PackagePath="runtimes\linux-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm64\libHarfBuzzSharp*" PackagePath="runtimes\linux-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm\libHarfBuzzSharp*" PackagePath="runtimes\linux-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\x64\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\x86\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm64\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\riscv64\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-riscv64\native\%(Filename)%(Extension)" />
<!-- Musl -->
<PackageFile Include="..\..\output\native\alpine\x64\libHarfBuzzSharp*" PackagePath="runtimes\linux-musl-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\x86\libHarfBuzzSharp*" PackagePath="runtimes\linux-musl-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm64\libHarfBuzzSharp*" PackagePath="runtimes\linux-musl-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm\libHarfBuzzSharp*" PackagePath="runtimes\linux-musl-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\x64\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-musl-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\x86\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-musl-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm64\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-musl-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-musl-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\riscv64\libHarfBuzzSharp*.so" PackagePath="runtimes\linux-musl-riscv64\native\%(Filename)%(Extension)" />
</ItemGroup>
<Target Name="IncludeAdditionalTfmSpecificPackageFiles">
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
<TfmSpecificPackageFile Include="buildTransitive\net4\HarfBuzzSharp.targets" PackagePath="buildTransitive\$(NuGetShortFolderName)\$(PackageId).targets" />
</ItemGroup>
</Target>
</Project>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
<_NativeHarfBuzzSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-arm64\native\libHarfBuzzSharp*.so">
<Dir>arm64\</Dir>
</_NativeHarfBuzzSharpFile>
<_NativeHarfBuzzSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-riscv64\native\libHarfBuzzSharp*.so">
<Dir>riscv64\</Dir>
</_NativeHarfBuzzSharpFile>

<!-- Musl -->
<_NativeHarfBuzzSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-x86\native\libHarfBuzzSharp*.so">
Expand All @@ -36,6 +39,9 @@
<_NativeHarfBuzzSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-arm64\native\libHarfBuzzSharp*.so">
<Dir>musl-arm64\</Dir>
</_NativeHarfBuzzSharpFile>
<_NativeHarfBuzzSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-riscv64\native\libHarfBuzzSharp*.so">
<Dir>musl-riscv64\</Dir>
</_NativeHarfBuzzSharpFile>

<!-- include everything -->
<Content Include="@(_NativeHarfBuzzSharpFile)">
Expand All @@ -46,4 +52,4 @@

</ItemGroup>

</Project>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ The excluded dependencies are:
<PackageFile Include="..\..\output\native\linuxnodeps\x86\libSkiaSharp*.so" PackagePath="runtimes\linux-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linuxnodeps\arm64\libSkiaSharp*.so" PackagePath="runtimes\linux-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linuxnodeps\arm\libSkiaSharp*.so" PackagePath="runtimes\linux-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linuxnodeps\riscv64\libSkiaSharp*.so" PackagePath="runtimes\linux-riscv64\native\%(Filename)%(Extension)" />
<!-- Musl -->
<PackageFile Include="..\..\output\native\alpinenodeps\x64\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpinenodeps\x86\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpinenodeps\arm64\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpinenodeps\arm\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpinenodeps\riscv64\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-riscv64\native\%(Filename)%(Extension)" />
</ItemGroup>
<Target Name="IncludeAdditionalTfmSpecificPackageFiles">
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-arm64\native\libSkiaSharp*.so">
<Dir>arm64\</Dir>
</_NativeSkiaSharpFile>
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-riscv64\native\libSkiaSharp*.so">
<Dir>riscv64\</Dir>
</_NativeSkiaSharpFile>

<!-- Musl -->
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-x86\native\libSkiaSharp*.so">
Expand All @@ -36,6 +39,9 @@
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-arm64\native\libSkiaSharp*.so">
<Dir>musl-arm64\</Dir>
</_NativeSkiaSharpFile>
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-riscv64\native\libSkiaSharp*.so">
<Dir>musl-riscv64\</Dir>
</_NativeSkiaSharpFile>

<!-- include everything -->
<Content Include="@(_NativeSkiaSharpFile)">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,22 @@
</PropertyGroup>
<ItemGroup>
<!-- glibc -->
<PackageFile Include="..\..\output\native\linux\x64\libSkiaSharp*" PackagePath="runtimes\linux-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\x86\libSkiaSharp*" PackagePath="runtimes\linux-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm64\libSkiaSharp*" PackagePath="runtimes\linux-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm\libSkiaSharp*" PackagePath="runtimes\linux-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\x64\libSkiaSharp*.so" PackagePath="runtimes\linux-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\x86\libSkiaSharp*.so" PackagePath="runtimes\linux-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm64\libSkiaSharp*.so" PackagePath="runtimes\linux-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\arm\libSkiaSharp*.so" PackagePath="runtimes\linux-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\linux\riscv64\libSkiaSharp*.so" PackagePath="runtimes\linux-riscv64\native\%(Filename)%(Extension)" />
<!-- Musl -->
<PackageFile Include="..\..\output\native\alpine\x64\libSkiaSharp*" PackagePath="runtimes\linux-musl-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\x86\libSkiaSharp*" PackagePath="runtimes\linux-musl-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm64\libSkiaSharp*" PackagePath="runtimes\linux-musl-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm\libSkiaSharp*" PackagePath="runtimes\linux-musl-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\x64\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-x64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\x86\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-x86\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm64\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-arm64\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\arm\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-arm\native\%(Filename)%(Extension)" />
<PackageFile Include="..\..\output\native\alpine\riscv64\libSkiaSharp*.so" PackagePath="runtimes\linux-musl-riscv64\native\%(Filename)%(Extension)" />
</ItemGroup>
<Target Name="IncludeAdditionalTfmSpecificPackageFiles">
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
<TfmSpecificPackageFile Include="buildTransitive\net4\SkiaSharp.targets" PackagePath="buildTransitive\$(NuGetShortFolderName)\$(PackageId).targets" />
<TfmSpecificPackageFile Include="buildTransitive\net4\SkiaSharp.targets" PackagePath="build\$(NuGetShortFolderName)\$(PackageId).targets" />
</ItemGroup>
</Target>
</Project>
</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-arm64\native\libSkiaSharp*.so">
<Dir>arm64\</Dir>
</_NativeSkiaSharpFile>
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-riscv64\native\libSkiaSharp*.so">
<Dir>riscv64\</Dir>
</_NativeSkiaSharpFile>

<!-- Musl -->
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-x86\native\libSkiaSharp*.so">
Expand All @@ -36,6 +39,9 @@
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-arm64\native\libSkiaSharp*.so">
<Dir>musl-arm64\</Dir>
</_NativeSkiaSharpFile>
<_NativeSkiaSharpFile Include="$(MSBuildThisFileDirectory)..\..\runtimes\linux-musl-riscv64\native\libSkiaSharp*.so">
<Dir>musl-riscv64\</Dir>
</_NativeSkiaSharpFile>

<!-- include everything -->
<Content Include="@(_NativeSkiaSharpFile)">
Expand All @@ -46,4 +52,4 @@

</ItemGroup>

</Project>
</Project>
14 changes: 7 additions & 7 deletions native/linux-clang-cross/build.cake
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ if (BUILD_ARCH.Length == 0)

string GetGnArgs(string arch)
{
var toolchainArch = arch == "arm"
? "arm-linux-gnueabihf"
: "aarch64-linux-gnu";
var targetArch = arch == "arm"
? "armv7a-linux-gnueabihf"
: "aarch64-linux-gnu";
var (toolchainArch, targetArch) = arch switch
{
"arm" => ("arm-linux-gnueabihf", "armv7a-linux-gnueabihf"),
"arm64" => ("aarch64-linux-gnu", "aarch64-linux-gnu"),
_ => ($"{arch}-linux-gnu", $"{arch}-linux-gnu"),
};

var sysroot = $"/usr/{toolchainArch}";
var init = $"'--sysroot={sysroot}', '--target={targetArch}'";
var init = $"'--target={targetArch}'";
var bin = $"'-B{sysroot}/bin/' ";
var libs = $"'-L{sysroot}/lib/' ";
var includes =
Expand Down
64 changes: 64 additions & 0 deletions scripts/Docker/debian/clang-cross/12/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Arguments:
# IMAGE_ARCH - the architecture of the image [ amd64 | arm64v8 | riscv64 ]
# DOTNET_SDK_VERSION - the version of dotnet for the Cake script [ 8.0 | * ]
# TOOLCHAIN_VERSION - the version of the GCC toolchain [ 9 | * ]
# TOOLCHAIN_ARCH - the architecture of the GCC toolchain [ arm-linux-gnueabihf | aarch64-linux-gnu | riscv64-linux-gnu ]
# TOOLCHAIN_ARCH_SHORT - the short form architecture of the GCC toolchain [ armhf | arm64 ]
# FONTCONFIG_VERSION - the exact version of libfontconfig1 to use [ 2.13.1-2 | * ]

ARG IMAGE_ARCH=amd64
FROM ${IMAGE_ARCH}/debian:12

# Install the required packages
RUN apt-get update \
&& apt-get install -y \
curl python3 git clang-19 ninja-build xz-utils \
&& rm -rf /var/lib/apt/lists/*

# Install the cross-compilation GCC toolchain
ARG TOOLCHAIN_VERSION=12
ARG TOOLCHAIN_ARCH=arm-linux-gnueabihf
ARG TOOLCHAIN_ARCH_SHORT=armhf
RUN apt-get update \
&& apt-get install -y \
libstdc++-${TOOLCHAIN_VERSION}-dev-${TOOLCHAIN_ARCH_SHORT}-cross \
libgcc-${TOOLCHAIN_VERSION}-dev-${TOOLCHAIN_ARCH_SHORT}-cross \
binutils-${TOOLCHAIN_ARCH} \
&& rm -rf /var/lib/apt/lists/*

# Make the script more flexible and use "current" instead of the actual version
RUN ln -s /usr/${TOOLCHAIN_ARCH}/include/c++/${TOOLCHAIN_VERSION} /usr/${TOOLCHAIN_ARCH}/include/c++/current \
&& sed -i "s/\/usr\/${TOOLCHAIN_ARCH}\/lib\///g" /usr/${TOOLCHAIN_ARCH}/lib/libpthread.so || true \
&& sed -i "s/\/usr\/${TOOLCHAIN_ARCH}\/lib\///g" /usr/${TOOLCHAIN_ARCH}/lib/libc.so

# Install the cross-compilation skia build dependencies (fontconfig)
ARG FONTCONFIG_VERSION=2.15.0-2
RUN (mkdir -p /skia-utils/libfontconfig1-dev \
&& cd /skia-utils/libfontconfig1-dev \
&& curl http://deb.debian.org/debian/pool/main/f/fontconfig/libfontconfig-dev_${FONTCONFIG_VERSION}_${TOOLCHAIN_ARCH_SHORT}.deb -L -o libfontconfig1-dev.deb \
&& ar vx libfontconfig1-dev.deb \
&& tar -xJvf data.tar.xz \
&& rm libfontconfig1-dev.deb \
&& cp -R usr/lib/*/* /usr/${TOOLCHAIN_ARCH}/lib/ \
&& cp -R usr/include/* /usr/${TOOLCHAIN_ARCH}/include/ )
RUN (mkdir -p /skia-utils/libfontconfig1 \
&& cd /skia-utils/libfontconfig1 \
&& curl http://deb.debian.org/debian/pool/main/f/fontconfig/libfontconfig1_${FONTCONFIG_VERSION}_${TOOLCHAIN_ARCH_SHORT}.deb -L -o libfontconfig1.deb \
&& ar vx libfontconfig1.deb \
&& tar -xJvf data.tar.xz \
&& rm libfontconfig1.deb \
&& cp -R usr/lib/*/* /usr/${TOOLCHAIN_ARCH}/lib/ )

# Install the .NET SDK
ARG DOTNET_SDK_VERSION=8.0
ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT 1
RUN curl https://dot.net/v1/dotnet-install.sh -L -o dotnet-install.sh \
&& bash dotnet-install.sh --channel ${DOTNET_SDK_VERSION} --install-dir /usr/share/dotnet --verbose \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \
&& rm dotnet-install.sh \
&& dotnet help \
&& dotnet --info

ENV CC=clang-19 CXX=clang++-19

WORKDIR /work
13 changes: 8 additions & 5 deletions scripts/Docker/debian/clang-cross/build-local.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,20 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
# the target architecture to build for
ARCH="${1:-arm}"
case $ARCH in
arm) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=arm-linux-gnueabihf --build-arg TOOLCHAIN_ARCH_SHORT=armhf" ;;
arm64) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=aarch64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=arm64" ;;
x86) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=i686-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=i386" ;;
x64) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=x86-64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=amd64" ;;
arm) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=arm-linux-gnueabihf --build-arg TOOLCHAIN_ARCH_SHORT=armhf" ;;
arm64) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=aarch64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=arm64" ;;
riscv64) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=riscv64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=riscv64" ;;
x86) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=i686-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=i386" ;;
x64) BUILD_ARGS="--build-arg TOOLCHAIN_ARCH=x86-64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=amd64" ;;
*) echo "Unsupported architecture: $ARCH" && exit 1 ;;
esac

# the docker image architecture to use
IMAGE_ARCH="${2:-$([[ "$(uname -m)" == "arm64" ]] && echo "arm64v8" || echo "amd64")}"

(cd $DIR && docker build --tag skiasharp-linux-cross-$ARCH $BUILD_ARGS --build-arg IMAGE_ARCH=$IMAGE_ARCH .)
DEBIAN_VERSION=${3:-11}

(cd $DIR && docker build --tag skiasharp-linux-cross-$ARCH $BUILD_ARGS --build-arg IMAGE_ARCH=$IMAGE_ARCH $DEBIAN_VERSION)
(cd $DIR/../../../../ &&
docker run --rm --name skiasharp-linux-cross-$ARCH --volume $(pwd):/work skiasharp-linux-cross-$ARCH /bin/bash -c "\
dotnet tool restore ; \
Expand Down
13 changes: 11 additions & 2 deletions scripts/azure-templates-stages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -366,12 +366,16 @@ stages:
variant: alpine
docker: scripts/Docker/alpine/amd64
- arch: arm
docker: scripts/Docker/debian/clang-cross
docker: scripts/Docker/debian/clang-cross/11
target: externals-linux-clang-cross
- arch: arm64
docker: scripts/Docker/debian/clang-cross
docker: scripts/Docker/debian/clang-cross/11
dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=arm64
target: externals-linux-clang-cross
- arch: riscv64
docker: scripts/Docker/debian/clang-cross/12
dockerArgs: --build-arg TOOLCHAIN_ARCH=riscv64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=riscv64
target: externals-linux-clang-cross
- template: /scripts/azure-templates-bootstrapper.yml@self # Build Native Tizen (Linux)
parameters:
name: native_tizen_linux
Expand Down Expand Up @@ -518,6 +522,8 @@ stages:
- name: native_linux_arm64_nodeps_linux
- name: native_linux_arm_linux
- name: native_linux_arm_nodeps_linux
- name: native_linux_riscv64_linux
- name: native_linux_riscv64_nodeps_linux
- name: native_linux_x64_alpine_linux
- name: native_linux_x64_alpine_nodeps_linux
- name: native_linux_x64_linux
Expand Down Expand Up @@ -557,6 +563,8 @@ stages:
- name: native_linux_arm64_nodeps_linux
- name: native_linux_arm_linux
- name: native_linux_arm_nodeps_linux
- name: native_linux_riscv64_linux
- name: native_linux_riscv64_nodeps_linux
- name: native_linux_x64_alpine_linux
- name: native_linux_x64_alpine_nodeps_linux
- name: native_linux_x64_linux
Expand Down Expand Up @@ -884,6 +892,7 @@ stages:
requiredArtifacts:
- name: native_linux_x64_linux
- name: native_linux_arm64_linux
- name: native_linux_riscv64_linux
postBuildSteps:
- task: PublishTestResults@2
displayName: Publish the .NET Core test results
Expand Down
Loading