From ae7747673ab91be913df025e85d407f9db70321f Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Fri, 3 Jul 2020 23:32:16 +0200 Subject: [PATCH 01/48] Build for armhf --- native/linux-arm-clang/build.cake | 58 +++++++++++++++++++ native/linux/build.cake | 56 +++++++++--------- .../Docker/ubuntu16/armhf-clang/Dockerfile | 32 ++++++++++ scripts/Docker/ubuntu16/armhf/Dockerfile | 54 +++++++++++++++++ 4 files changed, 171 insertions(+), 29 deletions(-) create mode 100644 native/linux-arm-clang/build.cake create mode 100644 scripts/Docker/ubuntu16/armhf-clang/Dockerfile create mode 100644 scripts/Docker/ubuntu16/armhf/Dockerfile diff --git a/native/linux-arm-clang/build.cake b/native/linux-arm-clang/build.cake new file mode 100644 index 0000000000..340ebb9fd6 --- /dev/null +++ b/native/linux-arm-clang/build.cake @@ -0,0 +1,58 @@ +DirectoryPath ROOT_PATH = MakeAbsolute(Directory("../..")); +DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); + +#load "../../cake/shared.cake" + +var BUILD_VARIANT = Argument("variant", EnvironmentVariable("BUILD_VARIANT") ?? "linux"); +OUTPUT_PATH = OUTPUT_PATH.Combine(BUILD_VARIANT); + +Task("libSkiaSharp") + .WithCriteria(IsRunningOnLinux()) + .Does(() => +{ + // RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { + // { "variant", BUILD_VARIANT }, + // { "arch", "arm" }, + // }); + + var sysroot = "/usr/arm-linux-gnueabihf"; + var target = "armv7a-linux-gnueabihf"; + var includes = + "'-I/usr/arm-linux-gnueabihf/include', " + + "'-I/usr/arm-linux-gnueabihf/include/c++/4.8.5', " + + "'-I/usr/arm-linux-gnueabihf/include/c++/4.8.5/arm-linux-gnueabihf'"; + RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { + { "variant", BUILD_VARIANT }, + { "arch", "arm" }, + { "gnArgs", + $"extra_asmflags+=[ '--sysroot={sysroot}', '--target={target}', '-mfloat-abi=hard', '-march=armv7-a', '-mfpu=neon', '-mthumb', {includes} ] " + + $"extra_cflags+=[ '--sysroot={sysroot}', '--target={target}', '-mfloat-abi=hard', '-march=armv7-a', '-mfpu=neon', '-mthumb', {includes} ] " + + $"extra_ldflags+=[ '--sysroot={sysroot}', '--target={target}' , '-mfloat-abi=hard', '-march=armv7-a', '-mfpu=neon', '-mthumb'] " + }, + }); + + RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"x64/libSkiaSharp.so").FullPath, out var stdout); + + if (stdout.Any(o => o.Contains("fontconfig"))) + throw new Exception("libSkiaSharp.so contained a dependency on fontconfig."); +}); + +Task("libHarfBuzzSharp") + .WithCriteria(IsRunningOnLinux()) + .Does(() => +{ + RunCake("../linux/build.cake", "libHarfBuzzSharp", new Dictionary { + { "variant", BUILD_VARIANT }, + }); + + RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"x64/libHarfBuzzSharp.so").FullPath, out var stdout); + + if (stdout.Any(o => o.Contains("fontconfig"))) + throw new Exception("libHarfBuzzSharp.so contained a dependency on fontconfig."); +}); + +Task("Default") + .IsDependentOn("libSkiaSharp") + .IsDependentOn("libHarfBuzzSharp"); + +RunTarget(TARGET); diff --git a/native/linux/build.cake b/native/linux/build.cake index 29328a0bc5..ae1a614353 100644 --- a/native/linux/build.cake +++ b/native/linux/build.cake @@ -15,31 +15,31 @@ string AR = Argument("ar", EnvironmentVariable("AR")); string VARIANT = BUILD_VARIANT ?? "linux"; +if (BUILD_ARCH.Length == 0) + BUILD_ARCH = new [] { "x64" }; + Task("libSkiaSharp") .IsDependentOn("git-sync-deps") .WithCriteria(IsRunningOnLinux()) .Does(() => { - var COMPILERS = ""; - if (!string.IsNullOrEmpty(CC)) - COMPILERS += $"cc='{CC}' "; - if (!string.IsNullOrEmpty(CXX)) - COMPILERS += $"cxx='{CXX}' "; - if (!string.IsNullOrEmpty(AR)) - COMPILERS += $"ar='{AR}' "; - - Build("x64", "x64", "x64"); + foreach (var ARCH in BUILD_ARCH) { + if (Skip(ARCH)) return; - void Build(string arch, string skiaArch, string dir) - { - if (Skip(arch)) return; + var COMPILERS = ""; + if (!string.IsNullOrEmpty(CC)) + COMPILERS += $"cc='{CC}' "; + if (!string.IsNullOrEmpty(CXX)) + COMPILERS += $"cxx='{CXX}' "; + if (!string.IsNullOrEmpty(AR)) + COMPILERS += $"ar='{AR}' "; var soname = GetVersion("libSkiaSharp", "soname"); var map = MakeAbsolute((FilePath)"libSkiaSharp/libSkiaSharp.map"); - GnNinja($"{VARIANT}/{arch}", "SkiaSharp", + GnNinja($"{VARIANT}/{ARCH}", "SkiaSharp", $"target_os='linux' " + - $"target_cpu='{arch}' " + + $"target_cpu='{ARCH}' " + $"is_official_build=true " + $"skia_enable_gpu={(SUPPORT_GPU ? "true" : "false")} " + $"skia_enable_tools=false " + @@ -53,15 +53,16 @@ Task("libSkiaSharp") $"skia_use_system_libwebp=false " + $"skia_use_system_zlib=false " + $"skia_use_vulkan={SUPPORT_VULKAN} ".ToLower () + + $"extra_asmflags=[] " + $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_SYSCALL_GETRANDOM', '-DXML_DEV_URANDOM' ] " + $"extra_ldflags=[ '-static-libstdc++', '-static-libgcc', '-Wl,--version-script={map}' ] " + COMPILERS + $"linux_soname_version='{soname}' " + ADDITIONAL_GN_ARGS); - var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{dir}"); + var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{ARCH}"); EnsureDirectoryExists(outDir); - var so = SKIA_PATH.CombineWithFilePath($"out/{VARIANT}/{arch}/libSkiaSharp.so.{soname}"); + var so = SKIA_PATH.CombineWithFilePath($"out/{VARIANT}/{ARCH}/libSkiaSharp.so.{soname}"); CopyFileToDirectory(so, outDir); CopyFile(so, outDir.CombineWithFilePath("libSkiaSharp.so")); } @@ -71,28 +72,25 @@ Task("libHarfBuzzSharp") .WithCriteria(IsRunningOnLinux()) .Does(() => { - var COMPILERS = ""; - if (!string.IsNullOrEmpty(CC)) - COMPILERS += $"CC='{CC}' "; - if (!string.IsNullOrEmpty(CXX)) - COMPILERS += $"CXX='{CXX}' "; - - Build("x64", "x64"); + foreach (var ARCH in BUILD_ARCH) { + if (Skip(ARCH)) return; - void Build(string arch, string dir) - { - if (Skip(arch)) return; + var COMPILERS = ""; + if (!string.IsNullOrEmpty(CC)) + COMPILERS += $"CC='{CC}' "; + if (!string.IsNullOrEmpty(CXX)) + COMPILERS += $"CXX='{CXX}' "; var soname = GetVersion("HarfBuzz", "soname"); RunProcess("make", new ProcessSettings { - Arguments = $"{COMPILERS} ARCH={arch} SONAME_VERSION={soname} VARIANT={VARIANT} LDFLAGS=-static-libstdc++", + Arguments = $"{COMPILERS} ARCH={ARCH} SONAME_VERSION={soname} VARIANT={VARIANT} LDFLAGS=-static-libstdc++", WorkingDirectory = "libHarfBuzzSharp", }); - var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{dir}"); + var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{ARCH}"); EnsureDirectoryExists(outDir); - var so = $"libHarfBuzzSharp/bin/{VARIANT}/{arch}/libHarfBuzzSharp.so.{soname}"; + var so = $"libHarfBuzzSharp/bin/{VARIANT}/{ARCH}/libHarfBuzzSharp.so.{soname}"; CopyFileToDirectory(so, outDir); CopyFile(so, outDir.CombineWithFilePath("libHarfBuzzSharp.so")); } diff --git a/scripts/Docker/ubuntu16/armhf-clang/Dockerfile b/scripts/Docker/ubuntu16/armhf-clang/Dockerfile new file mode 100644 index 0000000000..68d5ff825d --- /dev/null +++ b/scripts/Docker/ubuntu16/armhf-clang/Dockerfile @@ -0,0 +1,32 @@ +FROM amd64/ubuntu:16.04 + +RUN apt-get update \ + && apt-get install -y apt-transport-https curl wget \ + && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ + && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/6.4.0 main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ + && curl -L https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ + && echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" | tee /etc/apt/sources.list.d/llvm.list \ + && apt-get update \ + && apt-get install -y mono-complete msbuild python git libfontconfig1-dev clang-10 make \ + && rm -rf /var/lib/apt/lists/* + +RUN apt-get update +RUN apt-get install -y libstdc++-4.8-dev-armhf-cross libgcc-4.8-dev-armhf-cross binutils-arm-linux-gnueabihf + +# ARG FONTCONFIG_VERSION=2.12.6-0ubuntu2 +# RUN (mkdir -p /skia-utils \ +# && cd /skia-utils \ +# && wget -O libfontconfig1-dev_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${FONTCONFIG_VERSION}_armhf.deb \ +# && ar vx libfontconfig1-dev_armhf.deb \ +# && tar -xJvf data.tar.xz) + +# ARG LIBJPEG_VERSION=2.12.6-0ubuntu2 +# RUN (mkdir -p /skia-utils \ +# && cd /skia-utils \ +# && wget -O libfontconfig1-dev_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${LIBJPEG_VERSION}_armhf.deb \ +# && ar vx libfontconfig1-dev_armhf.deb \ +# && tar -xJvf data.tar.xz) + +ENV CC=clang-10 CXX=clang++-10 + +WORKDIR /work diff --git a/scripts/Docker/ubuntu16/armhf/Dockerfile b/scripts/Docker/ubuntu16/armhf/Dockerfile new file mode 100644 index 0000000000..b84d8e005f --- /dev/null +++ b/scripts/Docker/ubuntu16/armhf/Dockerfile @@ -0,0 +1,54 @@ +FROM amd64/ubuntu:16.04 + +ARG MONO_VERSION=6.4.0 + +RUN apt-get update \ + && apt-get install -y apt-transport-https curl wget python \ + && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ + && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/${MONO_VERSION} main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ + && apt-get update \ + && apt-get install -y mono-devel + +ARG TOOLCHAIN_VERSION=9.2-2019.12 +ARG TOOLCHAIN_URL=https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/${TOOLCHAIN_VERSION}/binrel/gcc-arm-${TOOLCHAIN_VERSION}-x86_64-arm-none-linux-gnueabihf.tar.xz + +RUN (mkdir -p /skia-utils/toolchain \ + && cd /skia-utils/toolchain \ + && wget -O toolchain.tar.xz ${TOOLCHAIN_URL}) + +RUN (mkdir -p /skia-utils/toolchain \ + && cd /skia-utils/toolchain \ + && tar -xJvf toolchain.tar.xz) + +RUN mv /skia-utils/toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf /opt/arm-none-linux-gnueabihf + +RUN apt-get install -y git + +ENV PATH="${PATH}:/opt/arm-none-linux-gnueabihf/bin" + +ARG FONTCONFIG_VERSION=2.11.0-6.7+b1 + +RUN (mkdir -p /skia-utils/libfontconfig1-dev \ + && cd /skia-utils/libfontconfig1-dev \ + && wget -O libfontconfig1-dev_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${FONTCONFIG_VERSION}_armhf.deb \ + && ar vx libfontconfig1-dev_armhf.deb \ + && tar -xJvf data.tar.xz) + +RUN (cd /skia-utils/libfontconfig1-dev \ + && cp -R usr/lib/arm-linux-gnueabihf/* /opt/arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/lib/ \ + && cp -R usr/include/* /opt/arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/include/ ) + +RUN (mkdir -p /skia-utils/libfontconfig1 \ + && cd /skia-utils/libfontconfig1 \ + && wget -O libfontconfig1_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1_${FONTCONFIG_VERSION}_armhf.deb \ + && ar vx libfontconfig1_armhf.deb \ + && tar -xJvf data.tar.xz) + +RUN (cd /skia-utils/libfontconfig1 \ + && cp -R usr/lib/arm-linux-gnueabihf/* /opt/arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/lib/ ) + +ENV CC=arm-none-linux-gnueabihf-gcc \ + CXX=arm-none-linux-gnueabihf-g++ \ + AR=arm-none-linux-gnueabihf-gcc-ar + +WORKDIR /work From 104b629b2b3b7c6449050d47a12d525862a2601b Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Fri, 3 Jul 2020 23:35:42 +0200 Subject: [PATCH 02/48] Add to yaml --- scripts/azure-pipelines.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 93a60269c9..5848f0beca 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -249,6 +249,14 @@ stages: docker: scripts/Docker/ubuntu16/amd64 target: externals-linux additionalArgs: --buildarch=x64 + - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) + parameters: + name: native_linux_armhf_linux + displayName: Build Native Linux|armhf (Linux) + vmImage: $(VM_IMAGE_LINUX) + docker: scripts/Docker/ubuntu16/armhf + target: externals-linux + additionalArgs: --buildarch=arm --gnArgs="extra_cflags+=[ '-Wno-psabi' ]" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From 789d05a7d92bfb84b2448f47b1cc847816e07933 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Fri, 3 Jul 2020 23:38:43 +0200 Subject: [PATCH 03/48] diff --- native/linux/build.cake | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/native/linux/build.cake b/native/linux/build.cake index ae1a614353..50a85b6447 100644 --- a/native/linux/build.cake +++ b/native/linux/build.cake @@ -23,8 +23,8 @@ Task("libSkiaSharp") .WithCriteria(IsRunningOnLinux()) .Does(() => { - foreach (var ARCH in BUILD_ARCH) { - if (Skip(ARCH)) return; + foreach (var arch in BUILD_ARCH) { + if (Skip(arch)) return; var COMPILERS = ""; if (!string.IsNullOrEmpty(CC)) @@ -37,9 +37,9 @@ Task("libSkiaSharp") var soname = GetVersion("libSkiaSharp", "soname"); var map = MakeAbsolute((FilePath)"libSkiaSharp/libSkiaSharp.map"); - GnNinja($"{VARIANT}/{ARCH}", "SkiaSharp", + GnNinja($"{VARIANT}/{arch}", "SkiaSharp", $"target_os='linux' " + - $"target_cpu='{ARCH}' " + + $"target_cpu='{arch}' " + $"is_official_build=true " + $"skia_enable_gpu={(SUPPORT_GPU ? "true" : "false")} " + $"skia_enable_tools=false " + @@ -60,9 +60,9 @@ Task("libSkiaSharp") $"linux_soname_version='{soname}' " + ADDITIONAL_GN_ARGS); - var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{ARCH}"); + var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{arch}"); EnsureDirectoryExists(outDir); - var so = SKIA_PATH.CombineWithFilePath($"out/{VARIANT}/{ARCH}/libSkiaSharp.so.{soname}"); + var so = SKIA_PATH.CombineWithFilePath($"out/{VARIANT}/{arch}/libSkiaSharp.so.{soname}"); CopyFileToDirectory(so, outDir); CopyFile(so, outDir.CombineWithFilePath("libSkiaSharp.so")); } @@ -72,8 +72,8 @@ Task("libHarfBuzzSharp") .WithCriteria(IsRunningOnLinux()) .Does(() => { - foreach (var ARCH in BUILD_ARCH) { - if (Skip(ARCH)) return; + foreach (var arch in BUILD_ARCH) { + if (Skip(arch)) return; var COMPILERS = ""; if (!string.IsNullOrEmpty(CC)) @@ -84,13 +84,13 @@ Task("libHarfBuzzSharp") var soname = GetVersion("HarfBuzz", "soname"); RunProcess("make", new ProcessSettings { - Arguments = $"{COMPILERS} ARCH={ARCH} SONAME_VERSION={soname} VARIANT={VARIANT} LDFLAGS=-static-libstdc++", + Arguments = $"{COMPILERS} ARCH={arch} SONAME_VERSION={soname} VARIANT={VARIANT} LDFLAGS=-static-libstdc++", WorkingDirectory = "libHarfBuzzSharp", }); - var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{ARCH}"); + var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{arch}"); EnsureDirectoryExists(outDir); - var so = $"libHarfBuzzSharp/bin/{VARIANT}/{ARCH}/libHarfBuzzSharp.so.{soname}"; + var so = $"libHarfBuzzSharp/bin/{VARIANT}/{arch}/libHarfBuzzSharp.so.{soname}"; CopyFileToDirectory(so, outDir); CopyFile(so, outDir.CombineWithFilePath("libHarfBuzzSharp.so")); } From e4ec30d288ffc555575ac43f28720a13dfbdb698 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 00:01:35 +0200 Subject: [PATCH 04/48] gonna be a few tries --- scripts/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 5848f0beca..265b4d55b5 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -256,7 +256,7 @@ stages: vmImage: $(VM_IMAGE_LINUX) docker: scripts/Docker/ubuntu16/armhf target: externals-linux - additionalArgs: --buildarch=arm --gnArgs="extra_cflags+=[ '-Wno-psabi' ]" + additionalArgs: --buildarch=arm --gnArgs=""extra_cflags+=[ '-Wno-psabi' ]"" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From 54d9fecfb79d7b7dc7ac15ae8a75642aa2915dd2 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 00:08:54 +0200 Subject: [PATCH 05/48] we need to go faster --- scripts/Docker/ubuntu16/mono/Dockerfile | 3 +++ scripts/azure-pipelines.yml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 scripts/Docker/ubuntu16/mono/Dockerfile diff --git a/scripts/Docker/ubuntu16/mono/Dockerfile b/scripts/Docker/ubuntu16/mono/Dockerfile new file mode 100644 index 0000000000..27431393ce --- /dev/null +++ b/scripts/Docker/ubuntu16/mono/Dockerfile @@ -0,0 +1,3 @@ +FROM mono:latest + +WORKDIR /work diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 265b4d55b5..125d0c19b4 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -254,7 +254,7 @@ stages: name: native_linux_armhf_linux displayName: Build Native Linux|armhf (Linux) vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/armhf + docker: scripts/Docker/ubuntu16/mono target: externals-linux additionalArgs: --buildarch=arm --gnArgs=""extra_cflags+=[ '-Wno-psabi' ]"" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) From bf65662f231a95eb2d873d8ddc05e5fc138453a5 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 00:18:51 +0200 Subject: [PATCH 06/48] Slap a new one on --- scripts/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 125d0c19b4..ec887d6aba 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -256,7 +256,7 @@ stages: vmImage: $(VM_IMAGE_LINUX) docker: scripts/Docker/ubuntu16/mono target: externals-linux - additionalArgs: --buildarch=arm --gnArgs=""extra_cflags+=[ '-Wno-psabi' ]"" + additionalArgs: --buildarch=arm --gnArgs="""extra_cflags+=[ '-Wno-psabi' ]""" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From a7f2d3e0e953c0ef0af14fc1bccff7679e9f0ca7 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 00:26:35 +0200 Subject: [PATCH 07/48] This? --- scripts/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index ec887d6aba..7e65d6b340 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -256,7 +256,7 @@ stages: vmImage: $(VM_IMAGE_LINUX) docker: scripts/Docker/ubuntu16/mono target: externals-linux - additionalArgs: --buildarch=arm --gnArgs="""extra_cflags+=[ '-Wno-psabi' ]""" + additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ '-Wno-psabi' ]\"" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From e0f03460bde1b26b0cda4ada7d1ac64173563dc7 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 00:31:56 +0200 Subject: [PATCH 08/48] I think I got it... --- scripts/Docker/ubuntu16/mono/Dockerfile | 3 --- scripts/azure-pipelines.yml | 4 ++-- 2 files changed, 2 insertions(+), 5 deletions(-) delete mode 100644 scripts/Docker/ubuntu16/mono/Dockerfile diff --git a/scripts/Docker/ubuntu16/mono/Dockerfile b/scripts/Docker/ubuntu16/mono/Dockerfile deleted file mode 100644 index 27431393ce..0000000000 --- a/scripts/Docker/ubuntu16/mono/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -FROM mono:latest - -WORKDIR /work diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 7e65d6b340..9b9c54a9b8 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -254,9 +254,9 @@ stages: name: native_linux_armhf_linux displayName: Build Native Linux|armhf (Linux) vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/mono + docker: scripts/Docker/ubuntu16/armhf target: externals-linux - additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ '-Wno-psabi' ]\"" + additionalArgs: --buildarch=arm --gnArgs='extra_cflags+=[ \'-Wno-psabi\' ]' - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From 43c1e6154aff211fce23c4d5f8c05d0ed9a76142 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 00:53:07 +0200 Subject: [PATCH 09/48] Nope! --- scripts/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 9b9c54a9b8..b5842a2181 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -256,7 +256,7 @@ stages: vmImage: $(VM_IMAGE_LINUX) docker: scripts/Docker/ubuntu16/armhf target: externals-linux - additionalArgs: --buildarch=arm --gnArgs='extra_cflags+=[ \'-Wno-psabi\' ]' + additionalArgs: --buildarch=arm --gnArgs='"extra_cflags+=[ \'-Wno-psabi\' ]"' - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From 0cecbd85d4b70de7779c9d5c862b9a238046e55b Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 01:08:42 +0200 Subject: [PATCH 10/48] try everything --- scripts/azure-pipelines.yml | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index b5842a2181..cee843c2a3 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -256,7 +256,31 @@ stages: vmImage: $(VM_IMAGE_LINUX) docker: scripts/Docker/ubuntu16/armhf target: externals-linux - additionalArgs: --buildarch=arm --gnArgs='"extra_cflags+=[ \'-Wno-psabi\' ]"' + additionalArgs: --buildarch=arm # --gnArgs='"extra_cflags+=[ \'-Wno-psabi\' ]"' + - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) + parameters: + name: native_linux_armhf2_linux + displayName: Build Native Linux|armhf2 (Linux) + vmImage: $(VM_IMAGE_LINUX) + docker: scripts/Docker/ubuntu16/armhf + target: externals-linux + additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" + - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) + parameters: + name: native_linux_armhf3_linux + displayName: Build Native Linux|armhf3 (Linux) + vmImage: $(VM_IMAGE_LINUX) + docker: scripts/Docker/ubuntu16/armhf + target: externals-linux + additionalArgs: --buildarch=arm --gnArgs="\""extra_cflags+=[ \'-Wno-psabi\' ]\""" + - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) + parameters: + name: native_linux_armhf4_linux + displayName: Build Native Linux|armhf4 (Linux) + vmImage: $(VM_IMAGE_LINUX) + docker: scripts/Docker/ubuntu16/armhf + target: externals-linux + additionalArgs: --buildarch=arm --gnArgs="""extra_cflags+=[ \'-Wno-psabi\' ]""" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From d7ecf467b62ef91ea4d1c18755eab8e0eeec8cf5 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 02:04:52 +0200 Subject: [PATCH 11/48] Add arm to the nugets --- native/linuxnodeps/build.cake | 39 ++++++++++++------- nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec | 1 + ...p.NativeAssets.Linux.NoDependencies.nuspec | 1 + nuget/SkiaSharp.NativeAssets.Linux.nuspec | 1 + scripts/azure-pipelines.yml | 24 ------------ 5 files changed, 27 insertions(+), 39 deletions(-) diff --git a/native/linuxnodeps/build.cake b/native/linuxnodeps/build.cake index d52257ff7c..a1c4292168 100644 --- a/native/linuxnodeps/build.cake +++ b/native/linuxnodeps/build.cake @@ -4,35 +4,44 @@ DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); #load "../../cake/shared.cake" var BUILD_VARIANT = Argument("variant", EnvironmentVariable("BUILD_VARIANT") ?? "linuxnodeps"); +var BUILD_ARCH = Argument("arch", Argument("buildarch", EnvironmentVariable("BUILD_ARCH") ?? "")) + .ToLower().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + OUTPUT_PATH = OUTPUT_PATH.Combine(BUILD_VARIANT); Task("libSkiaSharp") .WithCriteria(IsRunningOnLinux()) .Does(() => { - RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { - { "variant", BUILD_VARIANT }, - { "gnArgs", "skia_use_fontconfig=false" }, - }); - - RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"x64/libSkiaSharp.so").FullPath, out var stdout); - - if (stdout.Any(o => o.Contains("fontconfig"))) - throw new Exception("libSkiaSharp.so contained a dependency on fontconfig."); + foreach (var arch in BUILD_ARCH) { + RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { + { "variant", BUILD_VARIANT }, + { "arch", arch }, + { "gnArgs", "skia_use_fontconfig=false" }, + }); + + RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"{arch}/libSkiaSharp.so").FullPath, out var stdout); + + if (stdout.Any(o => o.Contains("fontconfig"))) + throw new Exception("libSkiaSharp.so contained a dependency on fontconfig."); + } }); Task("libHarfBuzzSharp") .WithCriteria(IsRunningOnLinux()) .Does(() => { - RunCake("../linux/build.cake", "libHarfBuzzSharp", new Dictionary { - { "variant", BUILD_VARIANT }, - }); + foreach (var arch in BUILD_ARCH) { + RunCake("../linux/build.cake", "libHarfBuzzSharp", new Dictionary { + { "variant", BUILD_VARIANT }, + { "arch", arch }, + }); - RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"x64/libHarfBuzzSharp.so").FullPath, out var stdout); + RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"{arch}/libHarfBuzzSharp.so").FullPath, out var stdout); - if (stdout.Any(o => o.Contains("fontconfig"))) - throw new Exception("libHarfBuzzSharp.so contained a dependency on fontconfig."); + if (stdout.Any(o => o.Contains("fontconfig"))) + throw new Exception("libHarfBuzzSharp.so contained a dependency on fontconfig."); + } }); Task("Default") diff --git a/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec b/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec index 61159f62ea..425e05ea39 100644 --- a/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec +++ b/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec @@ -44,6 +44,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release + diff --git a/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec b/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec index ed3ec9ea18..cef43536fc 100644 --- a/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec +++ b/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec @@ -57,6 +57,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release + diff --git a/nuget/SkiaSharp.NativeAssets.Linux.nuspec b/nuget/SkiaSharp.NativeAssets.Linux.nuspec index 4007d49b0f..b6e25a82b7 100644 --- a/nuget/SkiaSharp.NativeAssets.Linux.nuspec +++ b/nuget/SkiaSharp.NativeAssets.Linux.nuspec @@ -45,6 +45,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release + diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index cee843c2a3..e5dd014282 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -256,31 +256,7 @@ stages: vmImage: $(VM_IMAGE_LINUX) docker: scripts/Docker/ubuntu16/armhf target: externals-linux - additionalArgs: --buildarch=arm # --gnArgs='"extra_cflags+=[ \'-Wno-psabi\' ]"' - - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) - parameters: - name: native_linux_armhf2_linux - displayName: Build Native Linux|armhf2 (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/armhf - target: externals-linux additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) - parameters: - name: native_linux_armhf3_linux - displayName: Build Native Linux|armhf3 (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/armhf - target: externals-linux - additionalArgs: --buildarch=arm --gnArgs="\""extra_cflags+=[ \'-Wno-psabi\' ]\""" - - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) - parameters: - name: native_linux_armhf4_linux - displayName: Build Native Linux|armhf4 (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/armhf - target: externals-linux - additionalArgs: --buildarch=arm --gnArgs="""extra_cflags+=[ \'-Wno-psabi\' ]""" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux From e73698a7b3d3ab63df5a2a72e385b2858203fad6 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 04:15:00 +0200 Subject: [PATCH 12/48] aarch64 --- scripts/Docker/ubuntu16/armhf/Dockerfile | 54 -------------------- scripts/Docker/ubuntu16/gcc-cross/Dockerfile | 46 +++++++++++++++++ scripts/azure-pipelines.yml | 43 ++++++++++++---- scripts/azure-templates-bootstrapper.yml | 3 +- 4 files changed, 82 insertions(+), 64 deletions(-) delete mode 100644 scripts/Docker/ubuntu16/armhf/Dockerfile create mode 100644 scripts/Docker/ubuntu16/gcc-cross/Dockerfile diff --git a/scripts/Docker/ubuntu16/armhf/Dockerfile b/scripts/Docker/ubuntu16/armhf/Dockerfile deleted file mode 100644 index b84d8e005f..0000000000 --- a/scripts/Docker/ubuntu16/armhf/Dockerfile +++ /dev/null @@ -1,54 +0,0 @@ -FROM amd64/ubuntu:16.04 - -ARG MONO_VERSION=6.4.0 - -RUN apt-get update \ - && apt-get install -y apt-transport-https curl wget python \ - && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ - && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/${MONO_VERSION} main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ - && apt-get update \ - && apt-get install -y mono-devel - -ARG TOOLCHAIN_VERSION=9.2-2019.12 -ARG TOOLCHAIN_URL=https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/${TOOLCHAIN_VERSION}/binrel/gcc-arm-${TOOLCHAIN_VERSION}-x86_64-arm-none-linux-gnueabihf.tar.xz - -RUN (mkdir -p /skia-utils/toolchain \ - && cd /skia-utils/toolchain \ - && wget -O toolchain.tar.xz ${TOOLCHAIN_URL}) - -RUN (mkdir -p /skia-utils/toolchain \ - && cd /skia-utils/toolchain \ - && tar -xJvf toolchain.tar.xz) - -RUN mv /skia-utils/toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf /opt/arm-none-linux-gnueabihf - -RUN apt-get install -y git - -ENV PATH="${PATH}:/opt/arm-none-linux-gnueabihf/bin" - -ARG FONTCONFIG_VERSION=2.11.0-6.7+b1 - -RUN (mkdir -p /skia-utils/libfontconfig1-dev \ - && cd /skia-utils/libfontconfig1-dev \ - && wget -O libfontconfig1-dev_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${FONTCONFIG_VERSION}_armhf.deb \ - && ar vx libfontconfig1-dev_armhf.deb \ - && tar -xJvf data.tar.xz) - -RUN (cd /skia-utils/libfontconfig1-dev \ - && cp -R usr/lib/arm-linux-gnueabihf/* /opt/arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/lib/ \ - && cp -R usr/include/* /opt/arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/include/ ) - -RUN (mkdir -p /skia-utils/libfontconfig1 \ - && cd /skia-utils/libfontconfig1 \ - && wget -O libfontconfig1_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1_${FONTCONFIG_VERSION}_armhf.deb \ - && ar vx libfontconfig1_armhf.deb \ - && tar -xJvf data.tar.xz) - -RUN (cd /skia-utils/libfontconfig1 \ - && cp -R usr/lib/arm-linux-gnueabihf/* /opt/arm-none-linux-gnueabihf/arm-none-linux-gnueabihf/lib/ ) - -ENV CC=arm-none-linux-gnueabihf-gcc \ - CXX=arm-none-linux-gnueabihf-g++ \ - AR=arm-none-linux-gnueabihf-gcc-ar - -WORKDIR /work diff --git a/scripts/Docker/ubuntu16/gcc-cross/Dockerfile b/scripts/Docker/ubuntu16/gcc-cross/Dockerfile new file mode 100644 index 0000000000..7d87aa4959 --- /dev/null +++ b/scripts/Docker/ubuntu16/gcc-cross/Dockerfile @@ -0,0 +1,46 @@ +FROM amd64/ubuntu:16.04 + +ARG MONO_VERSION=6.4.0 +ARG TOOLCHAIN_VERSION=9.2-2019.12 +ARG TOOLCHAIN_ARCH=arm-none-linux-gnueabihf +ARG FONTCONFIG_VERSION=2.11.0-6.7+b1 +ARG FONTCONFIG_ARCH=armhf + +# pre-requisites for building (python, git, mono) +RUN apt-get update \ + && apt-get install -y apt-transport-https curl wget python git \ + && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ + && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/${MONO_VERSION} main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ + && apt-get update \ + && apt-get install -y mono-devel + +# toolchain (gcc/g++) +ARG TOOLCHAIN_URL=https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/${TOOLCHAIN_VERSION}/binrel/gcc-arm-${TOOLCHAIN_VERSION}-x86_64-${TOOLCHAIN_ARCH}.tar.xz +RUN (mkdir -p /skia-utils/toolchain \ + && cd /skia-utils/toolchain \ + && wget -O toolchain.tar.xz ${TOOLCHAIN_URL} \ + && tar -xJvf toolchain.tar.xz \ + && mv gcc-arm-${TOOLCHAIN_VERSION}-x86_64-${TOOLCHAIN_ARCH} /opt/${TOOLCHAIN_ARCH}) + +# skia dependencies (fontconfig) +RUN (mkdir -p /skia-utils/libfontconfig1-dev \ + && cd /skia-utils/libfontconfig1-dev \ + && wget -O libfontconfig1-dev.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${FONTCONFIG_VERSION}_${FONTCONFIG_ARCH}.deb \ + && ar vx libfontconfig1-dev.deb \ + && tar -xJvf data.tar.xz \ + && cp -R usr/lib/*/* /opt/${TOOLCHAIN_ARCH}/${TOOLCHAIN_ARCH}/lib/ \ + && cp -R usr/include/* /opt/${TOOLCHAIN_ARCH}/${TOOLCHAIN_ARCH}/include/ ) +RUN (mkdir -p /skia-utils/libfontconfig1 \ + && cd /skia-utils/libfontconfig1 \ + && wget -O libfontconfig1.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1_${FONTCONFIG_VERSION}_${FONTCONFIG_ARCH}.deb \ + && ar vx libfontconfig1.deb \ + && tar -xJvf data.tar.xz \ + && cp -R usr/lib/*/* /opt/${TOOLCHAIN_ARCH}/${TOOLCHAIN_ARCH}/lib/ ) + +# container environment +ENV PATH="${PATH}:/opt/${TOOLCHAIN_ARCH}/bin" +ENV CC=${TOOLCHAIN_ARCH}-gcc \ + CXX=${TOOLCHAIN_ARCH}-g++ \ + AR=${TOOLCHAIN_ARCH}-gcc-ar + +WORKDIR /work diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index e5dd014282..64e3f1014d 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -249,14 +249,23 @@ stages: docker: scripts/Docker/ubuntu16/amd64 target: externals-linux additionalArgs: --buildarch=x64 - - template: azure-templates-bootstrapper.yml # Build Native Linux|armhf (Linux) + - template: azure-templates-bootstrapper.yml # Build Native Linux|arm (Linux) parameters: - name: native_linux_armhf_linux - displayName: Build Native Linux|armhf (Linux) + name: native_linux_arm_linux + displayName: Build Native Linux|arm (Linux) vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/armhf + docker: scripts/Docker/ubuntu16/gcc-cross target: externals-linux additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" + - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 (Linux) + parameters: + name: native_linux_arm64_linux + displayName: Build Native Linux|arm64 (Linux) + vmImage: $(VM_IMAGE_LINUX) + docker: scripts/Docker/ubuntu16/gcc-cross + dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 + target: externals-linux + additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) parameters: name: native_linux_nodependencies_linux @@ -265,6 +274,23 @@ stages: docker: scripts/Docker/ubuntu16/amd64 target: externals-linuxnodeps additionalArgs: --buildarch=x64 + - template: azure-templates-bootstrapper.yml # Build Native Linux|arm [No Dependencies] (Linux) + parameters: + name: native_linux_arm_nodependencies_linux + displayName: Build Native Linux|arm [No Dependencies] (Linux) + vmImage: $(VM_IMAGE_LINUX) + docker: scripts/Docker/ubuntu16/gcc-cross + target: externals-linuxnodeps + additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" + - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 [No Dependencies] (Linux) + parameters: + name: native_linux_arm64_nodependencies_linux + displayName: Build Native Linux|arm64 [No Dependencies] (Linux) + vmImage: $(VM_IMAGE_LINUX) + docker: scripts/Docker/ubuntu16/gcc-cross + dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 + target: externals-linuxnodeps + additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - template: azure-templates-bootstrapper.yml # Build Native Linux [Alpine] (Linux) parameters: name: native_linux_alpine_linux @@ -354,7 +380,11 @@ stages: additionalArgs: --exclusive requiredArtifacts: - native_linux_linux + - native_linux_arm_linux + - native_linux_arm64_linux - native_linux_nodependencies_linux + - native_linux_arm_nodependencies_linux + - native_linux_arm64_nodependencies_linux - native_linux_alpinenodependencies_linux - native_linux_alpine_linux - native_tizen_linux @@ -442,8 +472,6 @@ stages: requiredArtifacts: - native_win32_x86_windows - native_win32_x64_windows - - native_win32_arm64_windows - - native_win32_x64_nanoserver_windows tools: - dotnet-reportgenerator-globaltool postBuildSteps: @@ -509,9 +537,6 @@ stages: shouldPublish: false requiredArtifacts: - native_linux_linux - - native_linux_nodependencies_linux - - native_linux_alpinenodependencies_linux - - native_linux_alpine_linux tools: - dotnet-reportgenerator-globaltool postBuildSteps: diff --git a/scripts/azure-templates-bootstrapper.yml b/scripts/azure-templates-bootstrapper.yml index 8b4bb6cd1f..328b6cba67 100644 --- a/scripts/azure-templates-bootstrapper.yml +++ b/scripts/azure-templates-bootstrapper.yml @@ -18,6 +18,7 @@ parameters: buildExternals: '' # the build number to download externals from verbosity: $(VERBOSITY) # the level of verbosity to use when building docker: '' # the Docker image to build and use + dockerArgs: '' # any additional arguments to pass to docker build jobs: # - ${{ if and(ne(parameters.buildExternals, ''), startsWith(parameters.name, 'native_')) }}: @@ -159,7 +160,7 @@ jobs: JavaSdkDirectory: $(JAVA_HOME) displayName: Run the bootstrapper for ${{ parameters.target }} - ${{ if ne(parameters.docker, '') }}: - - bash: docker build --tag skiasharp . + - bash: docker build --tag skiasharp ${{ parmeters.dockerArgs }} . workingDirectory: ${{ parameters.docker }} displayName: Build the Docker image for ${{ parameters.docker }} - bash: | From e1fd94797c0559d09f3e6baff04b0ae5d3770172 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 04:20:38 +0200 Subject: [PATCH 13/48] Add arm64 to the nuspec --- nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec | 1 + nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec | 1 + nuget/SkiaSharp.NativeAssets.Linux.nuspec | 1 + 3 files changed, 3 insertions(+) diff --git a/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec b/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec index 425e05ea39..91e368241a 100644 --- a/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec +++ b/nuget/HarfbuzzSharp.NativeAssets.Linux.nuspec @@ -45,6 +45,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release + diff --git a/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec b/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec index cef43536fc..bfcff4df5e 100644 --- a/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec +++ b/nuget/SkiaSharp.NativeAssets.Linux.NoDependencies.nuspec @@ -58,6 +58,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release + diff --git a/nuget/SkiaSharp.NativeAssets.Linux.nuspec b/nuget/SkiaSharp.NativeAssets.Linux.nuspec index b6e25a82b7..9fd18cbd23 100644 --- a/nuget/SkiaSharp.NativeAssets.Linux.nuspec +++ b/nuget/SkiaSharp.NativeAssets.Linux.nuspec @@ -46,6 +46,7 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release + From 546c36bf3f25a7cb9c0058e8991c188c0203df50 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 06:24:37 +0200 Subject: [PATCH 14/48] Update scripts/azure-templates-bootstrapper.yml Co-authored-by: jp2masa --- scripts/azure-templates-bootstrapper.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-bootstrapper.yml b/scripts/azure-templates-bootstrapper.yml index 328b6cba67..9b5bb2b732 100644 --- a/scripts/azure-templates-bootstrapper.yml +++ b/scripts/azure-templates-bootstrapper.yml @@ -160,7 +160,7 @@ jobs: JavaSdkDirectory: $(JAVA_HOME) displayName: Run the bootstrapper for ${{ parameters.target }} - ${{ if ne(parameters.docker, '') }}: - - bash: docker build --tag skiasharp ${{ parmeters.dockerArgs }} . + - bash: docker build --tag skiasharp ${{ parameters.dockerArgs }} . workingDirectory: ${{ parameters.docker }} displayName: Build the Docker image for ${{ parameters.docker }} - bash: | From a90d688336718408e3b965054df800114b4341ba Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sat, 4 Jul 2020 14:01:07 +0200 Subject: [PATCH 15/48] readelf --- native/linuxnodeps/build.cake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/native/linuxnodeps/build.cake b/native/linuxnodeps/build.cake index a1c4292168..77021e94d0 100644 --- a/native/linuxnodeps/build.cake +++ b/native/linuxnodeps/build.cake @@ -6,6 +6,7 @@ DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); var BUILD_VARIANT = Argument("variant", EnvironmentVariable("BUILD_VARIANT") ?? "linuxnodeps"); var BUILD_ARCH = Argument("arch", Argument("buildarch", EnvironmentVariable("BUILD_ARCH") ?? "")) .ToLower().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); +var ADDITIONAL_GN_ARGS = Argument("gnArgs", EnvironmentVariable("ADDITIONAL_GN_ARGS")); OUTPUT_PATH = OUTPUT_PATH.Combine(BUILD_VARIANT); @@ -17,10 +18,10 @@ Task("libSkiaSharp") RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { { "variant", BUILD_VARIANT }, { "arch", arch }, - { "gnArgs", "skia_use_fontconfig=false" }, + { "gnArgs", "skia_use_fontconfig=false " + ADDITIONAL_GN_ARGS }, }); - RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"{arch}/libSkiaSharp.so").FullPath, out var stdout); + RunProcess("readelf", $"-d {OUTPUT_PATH.CombineWithFilePath($"{arch}/libSkiaSharp.so")}", out var stdout); if (stdout.Any(o => o.Contains("fontconfig"))) throw new Exception("libSkiaSharp.so contained a dependency on fontconfig."); @@ -37,7 +38,7 @@ Task("libHarfBuzzSharp") { "arch", arch }, }); - RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"{arch}/libHarfBuzzSharp.so").FullPath, out var stdout); + RunProcess("readelf", $"-d {OUTPUT_PATH.CombineWithFilePath($"{arch}/libHarfBuzzSharp.so")}", out var stdout); if (stdout.Any(o => o.Contains("fontconfig"))) throw new Exception("libHarfBuzzSharp.so contained a dependency on fontconfig."); From 388f7b6444c046223ae72c4b566b1311faa3ee9a Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:18:07 +0200 Subject: [PATCH 16/48] things --- cake/native-shared.cake | 10 +- cake/shared.cake | 6 + externals/skia | 2 +- native/linux-arm-clang/build.cake | 58 ------ native/linux-clang-cross/build.cake | 61 ++++++ native/linux/build.cake | 66 +++--- native/linux/libHarfBuzzSharp/Makefile | 125 ------------ native/linux/libHarfBuzzSharp/config.h | 192 ------------------ .../libHarfBuzzSharp/libHarfBuzzSharp.map | 6 + native/linuxnodeps/build.cake | 39 +--- scripts/Docker/alpine/amd64/Dockerfile | 2 + scripts/Docker/ubuntu16/amd64/Dockerfile | 4 +- .../Docker/ubuntu16/armhf-clang/Dockerfile | 32 --- .../Docker/ubuntu16/clang-cross/Dockerfile | 62 ++++++ scripts/Docker/ubuntu16/gcc-cross/Dockerfile | 8 +- scripts/Docker/wasm/Dockerfile | 4 +- scripts/azure-pipelines.yml | 165 +++++++++------ scripts/azure-templates-linux-matrix.yml | 26 +++ 18 files changed, 324 insertions(+), 544 deletions(-) delete mode 100644 native/linux-arm-clang/build.cake create mode 100644 native/linux-clang-cross/build.cake delete mode 100644 native/linux/libHarfBuzzSharp/Makefile delete mode 100644 native/linux/libHarfBuzzSharp/config.h create mode 100644 native/linux/libHarfBuzzSharp/libHarfBuzzSharp.map delete mode 100644 scripts/Docker/ubuntu16/armhf-clang/Dockerfile create mode 100644 scripts/Docker/ubuntu16/clang-cross/Dockerfile create mode 100644 scripts/azure-templates-linux-matrix.yml diff --git a/cake/native-shared.cake b/cake/native-shared.cake index 0dbd9d1f1f..9abdbaa829 100644 --- a/cake/native-shared.cake +++ b/cake/native-shared.cake @@ -1,11 +1,5 @@ #load "shared.cake" -var BUILD_ARCH = Argument("arch", Argument("buildarch", EnvironmentVariable("BUILD_ARCH") ?? "")) - .ToLower().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - -var BUILD_VARIANT = Argument("variant", EnvironmentVariable("BUILD_VARIANT")); -var ADDITIONAL_GN_ARGS = Argument("gnArgs", EnvironmentVariable("ADDITIONAL_GN_ARGS")); - var PYTHON_EXE = Argument("python", EnvironmentVariable("PYTHON_EXE") ?? "python"); if (!string.IsNullOrEmpty(PYTHON_EXE) && FileExists(PYTHON_EXE)) { @@ -85,7 +79,7 @@ void GnNinja(DirectoryPath outDir, string target, string skiaArgs) void StripSign(FilePath target) { if (!IsRunningOnMac()) - throw new InvalidOperationException("lipo is only available on Unix."); + throw new InvalidOperationException("lipo is only available on macOS."); target = MakeAbsolute(target); var archive = target; @@ -107,7 +101,7 @@ void StripSign(FilePath target) void RunLipo(DirectoryPath directory, FilePath output, FilePath[] inputs) { if (!IsRunningOnMac()) - throw new InvalidOperationException("lipo is only available on Unix."); + throw new InvalidOperationException("lipo is only available on macOS."); EnsureDirectoryExists(directory.CombineWithFilePath(output).GetDirectory()); diff --git a/cake/shared.cake b/cake/shared.cake index 12e2a459a7..b01206ebf4 100644 --- a/cake/shared.cake +++ b/cake/shared.cake @@ -13,6 +13,12 @@ var CAKE_ARGUMENTS = (IReadOnlyDictionary)Context.Arguments .GetProperty("Arguments") .GetValue(Context.Arguments); +var BUILD_ARCH = Argument("arch", Argument("buildarch", EnvironmentVariable("BUILD_ARCH") ?? "")) + .ToLower().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + +var BUILD_VARIANT = Argument("variant", EnvironmentVariable("BUILD_VARIANT")); +var ADDITIONAL_GN_ARGS = Argument("gnArgs", EnvironmentVariable("ADDITIONAL_GN_ARGS")); + DirectoryPath PROFILE_PATH = EnvironmentVariable("USERPROFILE") ?? EnvironmentVariable("HOME"); void RunCake(FilePath cake, string target = null, Dictionary arguments = null) diff --git a/externals/skia b/externals/skia index 042510730b..67ea1fcaf0 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit 042510730b439ae43829e5200f08889878e282e4 +Subproject commit 67ea1fcaf0a3cf2aff46a16eac5d1fa92a6b21a5 diff --git a/native/linux-arm-clang/build.cake b/native/linux-arm-clang/build.cake deleted file mode 100644 index 340ebb9fd6..0000000000 --- a/native/linux-arm-clang/build.cake +++ /dev/null @@ -1,58 +0,0 @@ -DirectoryPath ROOT_PATH = MakeAbsolute(Directory("../..")); -DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); - -#load "../../cake/shared.cake" - -var BUILD_VARIANT = Argument("variant", EnvironmentVariable("BUILD_VARIANT") ?? "linux"); -OUTPUT_PATH = OUTPUT_PATH.Combine(BUILD_VARIANT); - -Task("libSkiaSharp") - .WithCriteria(IsRunningOnLinux()) - .Does(() => -{ - // RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { - // { "variant", BUILD_VARIANT }, - // { "arch", "arm" }, - // }); - - var sysroot = "/usr/arm-linux-gnueabihf"; - var target = "armv7a-linux-gnueabihf"; - var includes = - "'-I/usr/arm-linux-gnueabihf/include', " + - "'-I/usr/arm-linux-gnueabihf/include/c++/4.8.5', " + - "'-I/usr/arm-linux-gnueabihf/include/c++/4.8.5/arm-linux-gnueabihf'"; - RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { - { "variant", BUILD_VARIANT }, - { "arch", "arm" }, - { "gnArgs", - $"extra_asmflags+=[ '--sysroot={sysroot}', '--target={target}', '-mfloat-abi=hard', '-march=armv7-a', '-mfpu=neon', '-mthumb', {includes} ] " + - $"extra_cflags+=[ '--sysroot={sysroot}', '--target={target}', '-mfloat-abi=hard', '-march=armv7-a', '-mfpu=neon', '-mthumb', {includes} ] " + - $"extra_ldflags+=[ '--sysroot={sysroot}', '--target={target}' , '-mfloat-abi=hard', '-march=armv7-a', '-mfpu=neon', '-mthumb'] " - }, - }); - - RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"x64/libSkiaSharp.so").FullPath, out var stdout); - - if (stdout.Any(o => o.Contains("fontconfig"))) - throw new Exception("libSkiaSharp.so contained a dependency on fontconfig."); -}); - -Task("libHarfBuzzSharp") - .WithCriteria(IsRunningOnLinux()) - .Does(() => -{ - RunCake("../linux/build.cake", "libHarfBuzzSharp", new Dictionary { - { "variant", BUILD_VARIANT }, - }); - - RunProcess("ldd", OUTPUT_PATH.CombineWithFilePath($"x64/libHarfBuzzSharp.so").FullPath, out var stdout); - - if (stdout.Any(o => o.Contains("fontconfig"))) - throw new Exception("libHarfBuzzSharp.so contained a dependency on fontconfig."); -}); - -Task("Default") - .IsDependentOn("libSkiaSharp") - .IsDependentOn("libHarfBuzzSharp"); - -RunTarget(TARGET); diff --git a/native/linux-clang-cross/build.cake b/native/linux-clang-cross/build.cake new file mode 100644 index 0000000000..c7fed1eadd --- /dev/null +++ b/native/linux-clang-cross/build.cake @@ -0,0 +1,61 @@ +DirectoryPath ROOT_PATH = MakeAbsolute(Directory("../..")); + +#load "../../cake/shared.cake" + +if (BUILD_ARCH.Length == 0) + BUILD_ARCH = new [] { "arm" }; + +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 sysroot = $"/usr/{toolchainArch}"; + var init = $"'--sysroot={sysroot}', '--target={targetArch}'"; + var bin = $"'-B{sysroot}/bin/' "; + var libs = $"'-L{sysroot}/lib/' "; + var includes = + $"'-I{sysroot}/include', " + + $"'-I{sysroot}/include/c++/current', " + + $"'-I{sysroot}/include/c++/current/{toolchainArch}' "; + + return + $"extra_asmflags+=[ {init}, '-no-integrated-as', {bin}, {includes} ] " + + $"extra_cflags+=[ {init}, {bin}, {includes} ] " + + $"extra_ldflags+=[ {init}, {bin}, {libs} ] " + + ADDITIONAL_GN_ARGS; +} + +Task("libSkiaSharp") + .WithCriteria(IsRunningOnLinux()) + .Does(() => +{ + foreach (var arch in BUILD_ARCH) { + RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { + { "arch", arch }, + { "gnArgs", GetGnArgs(arch) }, + }); + } +}); + +Task("libHarfBuzzSharp") + .WithCriteria(IsRunningOnLinux()) + .Does(() => +{ + foreach (var arch in BUILD_ARCH) { + RunCake("../linux/build.cake", "libHarfBuzzSharp", new Dictionary { + { "arch", arch }, + { "gnArgs", GetGnArgs(arch) }, + }); + } +}); + +Task("Default") + .IsDependentOn("libSkiaSharp") + .IsDependentOn("libHarfBuzzSharp"); + +RunTarget(TARGET); diff --git a/native/linux/build.cake b/native/linux/build.cake index 50a85b6447..516589b791 100644 --- a/native/linux/build.cake +++ b/native/linux/build.cake @@ -6,18 +6,29 @@ DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); string SUPPORT_GPU_VAR = Argument("supportGpu", EnvironmentVariable("SUPPORT_GPU") ?? "true").ToLower(); bool SUPPORT_GPU = SUPPORT_GPU_VAR == "1" || SUPPORT_GPU_VAR == "true"; -string SUPPORT_VULKAN_VAR = Argument ("supportVulkan", EnvironmentVariable ("SUPPORT_VULKAN") ?? "true"); -bool SUPPORT_VULKAN = SUPPORT_VULKAN_VAR == "1" || SUPPORT_VULKAN_VAR.ToLower () == "true"; +string SUPPORT_VULKAN_VAR = Argument("supportVulkan", EnvironmentVariable("SUPPORT_VULKAN") ?? "true"); +bool SUPPORT_VULKAN = SUPPORT_VULKAN_VAR == "1" || SUPPORT_VULKAN_VAR.ToLower() == "true"; + +var VERIFY_EXCLUDED = Argument("verifyExcluded", "") + .ToLower().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string CC = Argument("cc", EnvironmentVariable("CC")); string CXX = Argument("cxx", EnvironmentVariable("CXX")); string AR = Argument("ar", EnvironmentVariable("AR")); -string VARIANT = BUILD_VARIANT ?? "linux"; +string VARIANT = string.IsNullOrEmpty(BUILD_VARIANT) ? "linux" : BUILD_VARIANT?.Trim(); if (BUILD_ARCH.Length == 0) BUILD_ARCH = new [] { "x64" }; +var COMPILERS = ""; +if (!string.IsNullOrEmpty(CC)) + COMPILERS += $"cc='{CC}' "; +if (!string.IsNullOrEmpty(CXX)) + COMPILERS += $"cxx='{CXX}' "; +if (!string.IsNullOrEmpty(AR)) + COMPILERS += $"ar='{AR}' "; + Task("libSkiaSharp") .IsDependentOn("git-sync-deps") .WithCriteria(IsRunningOnLinux()) @@ -26,14 +37,6 @@ Task("libSkiaSharp") foreach (var arch in BUILD_ARCH) { if (Skip(arch)) return; - var COMPILERS = ""; - if (!string.IsNullOrEmpty(CC)) - COMPILERS += $"cc='{CC}' "; - if (!string.IsNullOrEmpty(CXX)) - COMPILERS += $"cxx='{CXX}' "; - if (!string.IsNullOrEmpty(AR)) - COMPILERS += $"ar='{AR}' "; - var soname = GetVersion("libSkiaSharp", "soname"); var map = MakeAbsolute((FilePath)"libSkiaSharp/libSkiaSharp.map"); @@ -52,7 +55,7 @@ Task("libSkiaSharp") $"skia_use_system_libpng=false " + $"skia_use_system_libwebp=false " + $"skia_use_system_zlib=false " + - $"skia_use_vulkan={SUPPORT_VULKAN} ".ToLower () + + $"skia_use_vulkan={SUPPORT_VULKAN} ".ToLower() + $"extra_asmflags=[] " + $"extra_cflags=[ '-DSKIA_C_DLL', '-DHAVE_SYSCALL_GETRANDOM', '-DXML_DEV_URANDOM' ] " + $"extra_ldflags=[ '-static-libstdc++', '-static-libgcc', '-Wl,--version-script={map}' ] " + @@ -65,34 +68,51 @@ Task("libSkiaSharp") var so = SKIA_PATH.CombineWithFilePath($"out/{VARIANT}/{arch}/libSkiaSharp.so.{soname}"); CopyFileToDirectory(so, outDir); CopyFile(so, outDir.CombineWithFilePath("libSkiaSharp.so")); + + foreach (var exclude in VERIFY_EXCLUDED) { + RunProcess("readelf", $"-d {so}", out var stdout); + + if (stdout.Any(o => o.Contains($"[{exclude}."))) + throw new Exception($"libSkiaSharp.so contained a dependency on {exclude}."); + } } }); Task("libHarfBuzzSharp") + .IsDependentOn("git-sync-deps") .WithCriteria(IsRunningOnLinux()) .Does(() => { foreach (var arch in BUILD_ARCH) { if (Skip(arch)) return; - var COMPILERS = ""; - if (!string.IsNullOrEmpty(CC)) - COMPILERS += $"CC='{CC}' "; - if (!string.IsNullOrEmpty(CXX)) - COMPILERS += $"CXX='{CXX}' "; - var soname = GetVersion("HarfBuzz", "soname"); + var map = MakeAbsolute((FilePath)"libHarfBuzzSharp/libHarfBuzzSharp.map"); - RunProcess("make", new ProcessSettings { - Arguments = $"{COMPILERS} ARCH={arch} SONAME_VERSION={soname} VARIANT={VARIANT} LDFLAGS=-static-libstdc++", - WorkingDirectory = "libHarfBuzzSharp", - }); + GnNinja($"{VARIANT}/{arch}", "HarfBuzzSharp", + $"target_os='linux' " + + $"target_cpu='{arch}' " + + $"is_official_build=true " + + $"strip_unused_symbols=false " + + $"extra_asmflags=[] " + + $"extra_cflags=[] " + + $"extra_ldflags=[ '-static-libstdc++', '-static-libgcc', '-Wl,--version-script={map}' ] " + + COMPILERS + + $"linux_soname_version='{soname}' " + + ADDITIONAL_GN_ARGS); var outDir = OUTPUT_PATH.Combine($"{VARIANT}/{arch}"); EnsureDirectoryExists(outDir); - var so = $"libHarfBuzzSharp/bin/{VARIANT}/{arch}/libHarfBuzzSharp.so.{soname}"; + var so = SKIA_PATH.CombineWithFilePath($"out/{VARIANT}/{arch}/libHarfBuzzSharp.so.{soname}"); CopyFileToDirectory(so, outDir); CopyFile(so, outDir.CombineWithFilePath("libHarfBuzzSharp.so")); + + foreach (var exclude in VERIFY_EXCLUDED) { + RunProcess("readelf", $"-d {so}", out var stdout); + + if (stdout.Any(o => o.Contains($"[{exclude}."))) + throw new Exception($"libHarfBuzzSharp.so contained a dependency on {exclude}."); + } } }); diff --git a/native/linux/libHarfBuzzSharp/Makefile b/native/linux/libHarfBuzzSharp/Makefile deleted file mode 100644 index 68f9364a1b..0000000000 --- a/native/linux/libHarfBuzzSharp/Makefile +++ /dev/null @@ -1,125 +0,0 @@ -ARCH ?= x64 -SONAME_VERSION ?= 0.0.0 -CC ?= clang -CXX ?= clang++ -LDFLAGS += -VARIANT ?= linux - -noop = -space = ${noop} ${noop} - -src_root = ../../../externals/harfbuzz/src -obj_root = obj/${VARIANT} -bin_root = bin/${VARIANT} -objarch_root = ${obj_root}/${ARCH} -target_name = libHarfBuzzSharp.so -target = ${bin_root}/${ARCH}/${target_name}.${SONAME_VERSION} - -library_dirs = -include_dirs = \ - . \ - ${src_root} -library_paths = -defines = \ - -DHAVE_CONFIG_H -DNDEBUG -cflags = \ - -fno-rtti -fno-exceptions -fno-threadsafe-statics -fPIC \ - -g -Os -ffunction-sections -fdata-sections -ifeq "${ARCH}" "x86" - arch_cflags = -m32 -else - arch_cflags = -endif -cflags_c = ${cflags} ${CFLAGS} -cflags_cc = -std=c++11 ${CXXFLAGS} -ldflags = -s -Wl,--gc-sections $(library_dirs:%=-L%) ${LDFLAGS} -includes = $(include_dirs:%=-I%) -library_names = $(notdir ${library_paths}) -libraries = $(library_names:lib%.a=-l%) - -src = \ - ${src_root}/hb-aat-layout.cc \ - ${src_root}/hb-aat-map.cc \ - ${src_root}/hb-blob.cc \ - ${src_root}/hb-buffer-serialize.cc \ - ${src_root}/hb-buffer.cc \ - ${src_root}/hb-common.cc \ - ${src_root}/hb-face.cc \ - ${src_root}/hb-fallback-shape.cc \ - ${src_root}/hb-font.cc \ - ${src_root}/hb-map.cc \ - ${src_root}/hb-ot-cff1-table.cc \ - ${src_root}/hb-ot-cff2-table.cc \ - ${src_root}/hb-ot-color.cc \ - ${src_root}/hb-ot-face.cc \ - ${src_root}/hb-ot-font.cc \ - ${src_root}/hb-ot-layout.cc \ - ${src_root}/hb-ot-map.cc \ - ${src_root}/hb-ot-math.cc \ - ${src_root}/hb-ot-meta.cc \ - ${src_root}/hb-ot-metrics.cc \ - ${src_root}/hb-ot-name.cc \ - ${src_root}/hb-ot-shape-complex-arabic.cc \ - ${src_root}/hb-ot-shape-complex-default.cc \ - ${src_root}/hb-ot-shape-complex-hangul.cc \ - ${src_root}/hb-ot-shape-complex-hebrew.cc \ - ${src_root}/hb-ot-shape-complex-indic-table.cc \ - ${src_root}/hb-ot-shape-complex-indic.cc \ - ${src_root}/hb-ot-shape-complex-khmer.cc \ - ${src_root}/hb-ot-shape-complex-myanmar.cc \ - ${src_root}/hb-ot-shape-complex-thai.cc \ - ${src_root}/hb-ot-shape-complex-use-table.cc \ - ${src_root}/hb-ot-shape-complex-use.cc \ - ${src_root}/hb-ot-shape-complex-vowel-constraints.cc \ - ${src_root}/hb-ot-shape-fallback.cc \ - ${src_root}/hb-ot-shape-normalize.cc \ - ${src_root}/hb-ot-shape.cc \ - ${src_root}/hb-ot-tag.cc \ - ${src_root}/hb-ot-var.cc \ - ${src_root}/hb-set.cc \ - ${src_root}/hb-shape-plan.cc \ - ${src_root}/hb-shape.cc \ - ${src_root}/hb-shaper.cc \ - ${src_root}/hb-static.cc \ - ${src_root}/hb-subset-cff-common.cc \ - ${src_root}/hb-subset-cff1.cc \ - ${src_root}/hb-subset-cff2.cc \ - ${src_root}/hb-subset-input.cc \ - ${src_root}/hb-subset-plan.cc \ - ${src_root}/hb-subset.cc \ - ${src_root}/hb-ucd.cc \ - ${src_root}/hb-unicode.cc \ - ${src_root}/hb-warning.cc - -src_names = $(subst ${src_root}/,${noop},${src}) -objs = $(src_names:%=${objarch_root}/%.o) -deps = $(objs:.o=.d) - -${objarch_root}/%.o: ${src_root}/% -# build the local source - @echo Building $<... - @mkdir -p $(dir $@) - @if [ "$(filter %.cc,$<)" = "" ]; then \ - $(CC) -MMD -MF $@.d \ - ${defines} ${includes} ${arch_cflags} ${cflags_c} \ - -c $< -o $@ \ - ; else \ - $(CXX) -MMD -MF $@.d \ - ${defines} ${includes} ${arch_cflags} ${cflags_c} ${cflags_cc} \ - -c $< -o $@ \ - ; fi - -${target}: ${objs} -# link - @echo Linking $@... - @mkdir -p $(dir $@) - $(CXX) -shared -rdynamic -s -o $@ \ - ${defines} ${includes} ${arch_cflags} ${cflags_c} ${cflags_cc} \ - -Wl,--start-group ${objarch_root}/*.o ${library_paths} -Wl,--end-group \ - ${ldflags} -Wl,--gc-sections -Wl,--no-undefined \ - -Wl,-soname,libHarfBuzzSharp.so.${SONAME_VERSION} - -all: ${target} - -clean: - rm -rf ${obj_root} ${bin_root} diff --git a/native/linux/libHarfBuzzSharp/config.h b/native/linux/libHarfBuzzSharp/config.h deleted file mode 100644 index 2fa53a6326..0000000000 --- a/native/linux/libHarfBuzzSharp/config.h +++ /dev/null @@ -1,192 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* The normal alignment of `struct{char;}', in bytes. */ -#define ALIGNOF_STRUCT_CHAR__ 1 - -/* Define to 1 if you have the `atexit' function. */ -#define HAVE_ATEXIT 1 - -/* Have cairo graphics library */ -/* #undef HAVE_CAIRO */ - -/* Have cairo-ft support in cairo graphics library */ -/* #undef HAVE_CAIRO_FT */ - -/* Have Core Text backend */ -/* #undef HAVE_CORETEXT */ - -/* Define to 1 if you have the declaration of `round', and to 0 if you don't. - */ -/* #undef HAVE_DECL_ROUND */ - -/* Have DirectWrite library */ -/* #undef HAVE_DIRECTWRITE */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DLFCN_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_DWRITE_H */ - -/* Have simple TrueType Layout backend */ -/* #undef HAVE_FALLBACK */ - -/* Have fontconfig library */ -/* #undef HAVE_FONTCONFIG */ - -/* Have FreeType 2 library */ -/* #undef HAVE_FREETYPE */ - -/* Define to 1 if you have the `FT_Done_MM_Var' function. */ -/* #undef HAVE_FT_DONE_MM_VAR */ - -/* Define to 1 if you have the `FT_Get_Var_Blend_Coordinates' function. */ -#define HAVE_FT_GET_VAR_BLEND_COORDINATES 1 - -/* Define to 1 if you have the `FT_Set_Var_Blend_Coordinates' function. */ -#define HAVE_FT_SET_VAR_BLEND_COORDINATES 1 - -/* Define to 1 if you have the `getpagesize' function. */ -#define HAVE_GETPAGESIZE 1 - -/* Have glib2 library */ -/* #undef HAVE_GLIB */ - -/* Have gobject2 library */ -/* #undef HAVE_GOBJECT */ - -/* Have Graphite2 library */ -/* #undef HAVE_GRAPHITE2 */ - -/* Have ICU library */ -/* #undef HAVE_ICU */ - -/* Use hb-icu Unicode callbacks */ -/* #undef HAVE_ICU_BUILTIN */ - -/* Have Intel __sync_* atomic primitives */ -#define HAVE_INTEL_ATOMIC_PRIMITIVES 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the `isatty' function. */ -#define HAVE_ISATTY 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `mmap' function. */ -#define HAVE_MMAP 1 - -/* Define to 1 if you have the `mprotect' function. */ -#define HAVE_MPROTECT 1 - -/* Define to 1 if you have the `newlocale' function. */ -#define HAVE_NEWLOCALE 1 - -/* Define to 1 if you have the `posix_memalign' function. */ -#define HAVE_POSIX_MEMALIGN 1 - -/* Have POSIX threads */ -#define HAVE_PTHREAD 1 - -/* Have PTHREAD_PRIO_INHERIT. */ -#define HAVE_PTHREAD_PRIO_INHERIT 1 - -/* Define to 1 if you have the `round' function. */ -#define HAVE_ROUND 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_SCHED_H */ - -/* Have sched_yield */ -/* #undef HAVE_SCHED_YIELD */ - -/* Have Solaris __machine_*_barrier and atomic_* operations */ -/* #undef HAVE_SOLARIS_ATOMIC_OPS */ - -/* Define to 1 if you have the header file. */ -#define HAVE_STDBOOL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the `strtod_l' function. */ -#define HAVE_STRTOD_L 1 - -/* Define to 1 if you have the `sysconf' function. */ -#define HAVE_SYSCONF 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_MMAN_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Have Uniscribe library */ -/* #undef HAVE_UNISCRIBE */ - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_USP10_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_WINDOWS_H */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_XLOCALE_H */ - -/* Define to the sub-directory where libtool stores uninstalled libraries. */ -#define LT_OBJDIR ".libs/" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "https://github.com/harfbuzz/harfbuzz/issues/new" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "HarfBuzz" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "HarfBuzz 2.6.1" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "harfbuzz" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "http://harfbuzz.org/" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "2.6.1" - -/* Define to necessary symbol if this constant uses a non-standard name on - your system. */ -/* #undef PTHREAD_CREATE_JOINABLE */ - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -/* #undef _FILE_OFFSET_BITS */ - -/* Define for large files, on AIX-style hosts. */ -/* #undef _LARGE_FILES */ diff --git a/native/linux/libHarfBuzzSharp/libHarfBuzzSharp.map b/native/linux/libHarfBuzzSharp/libHarfBuzzSharp.map new file mode 100644 index 0000000000..c695972de4 --- /dev/null +++ b/native/linux/libHarfBuzzSharp/libHarfBuzzSharp.map @@ -0,0 +1,6 @@ +libHarfBuzzSharp { + global: + hb_*; + local: + *; +}; diff --git a/native/linuxnodeps/build.cake b/native/linuxnodeps/build.cake index 77021e94d0..9095350451 100644 --- a/native/linuxnodeps/build.cake +++ b/native/linuxnodeps/build.cake @@ -1,48 +1,25 @@ DirectoryPath ROOT_PATH = MakeAbsolute(Directory("../..")); -DirectoryPath OUTPUT_PATH = MakeAbsolute(ROOT_PATH.Combine("output/native")); #load "../../cake/shared.cake" -var BUILD_VARIANT = Argument("variant", EnvironmentVariable("BUILD_VARIANT") ?? "linuxnodeps"); -var BUILD_ARCH = Argument("arch", Argument("buildarch", EnvironmentVariable("BUILD_ARCH") ?? "")) - .ToLower().Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); -var ADDITIONAL_GN_ARGS = Argument("gnArgs", EnvironmentVariable("ADDITIONAL_GN_ARGS")); - -OUTPUT_PATH = OUTPUT_PATH.Combine(BUILD_VARIANT); - Task("libSkiaSharp") .WithCriteria(IsRunningOnLinux()) .Does(() => { - foreach (var arch in BUILD_ARCH) { - RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { - { "variant", BUILD_VARIANT }, - { "arch", arch }, - { "gnArgs", "skia_use_fontconfig=false " + ADDITIONAL_GN_ARGS }, - }); - - RunProcess("readelf", $"-d {OUTPUT_PATH.CombineWithFilePath($"{arch}/libSkiaSharp.so")}", out var stdout); - - if (stdout.Any(o => o.Contains("fontconfig"))) - throw new Exception("libSkiaSharp.so contained a dependency on fontconfig."); - } + RunCake("../linux/build.cake", "libSkiaSharp", new Dictionary { + { "gnArgs", "skia_use_fontconfig=false " + ADDITIONAL_GN_ARGS }, + { "verifyExcluded", "fontconfig" }, + }); }); Task("libHarfBuzzSharp") .WithCriteria(IsRunningOnLinux()) .Does(() => { - foreach (var arch in BUILD_ARCH) { - RunCake("../linux/build.cake", "libHarfBuzzSharp", new Dictionary { - { "variant", BUILD_VARIANT }, - { "arch", arch }, - }); - - RunProcess("readelf", $"-d {OUTPUT_PATH.CombineWithFilePath($"{arch}/libHarfBuzzSharp.so")}", out var stdout); - - if (stdout.Any(o => o.Contains("fontconfig"))) - throw new Exception("libHarfBuzzSharp.so contained a dependency on fontconfig."); - } + RunCake("../linux/build.cake", "libHarfBuzzSharp", new Dictionary { + { "gnArgs", ADDITIONAL_GN_ARGS }, + { "verifyExcluded", "fontconfig" }, + }); }); Task("Default") diff --git a/scripts/Docker/alpine/amd64/Dockerfile b/scripts/Docker/alpine/amd64/Dockerfile index b17d01b623..697b475653 100644 --- a/scripts/Docker/alpine/amd64/Dockerfile +++ b/scripts/Docker/alpine/amd64/Dockerfile @@ -5,4 +5,6 @@ RUN apk add --no-cache samurai --repository http://dl-cdn.alpinelinux.org/alpine RUN apk add --no-cache mono clang gn --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing RUN cert-sync /etc/ssl/certs/ca-certificates.crt +ENV GN_EXE=gn NINJA_EXE=ninja + WORKDIR /work diff --git a/scripts/Docker/ubuntu16/amd64/Dockerfile b/scripts/Docker/ubuntu16/amd64/Dockerfile index 5f9c2a13f4..e54e50ca04 100644 --- a/scripts/Docker/ubuntu16/amd64/Dockerfile +++ b/scripts/Docker/ubuntu16/amd64/Dockerfile @@ -1,13 +1,13 @@ FROM amd64/ubuntu:16.04 RUN apt-get update \ - && apt-get install -y apt-transport-https curl wget \ + && apt-get install -y apt-transport-https curl wget python git make \ && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/6.4.0 main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ && curl -L https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ && echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" | tee /etc/apt/sources.list.d/llvm.list \ && apt-get update \ - && apt-get install -y mono-complete msbuild python git libfontconfig1-dev clang-10 make \ + && apt-get install -y mono-devel libfontconfig1-dev clang-10 \ && rm -rf /var/lib/apt/lists/* ENV CC=clang-10 CXX=clang++-10 diff --git a/scripts/Docker/ubuntu16/armhf-clang/Dockerfile b/scripts/Docker/ubuntu16/armhf-clang/Dockerfile deleted file mode 100644 index 68d5ff825d..0000000000 --- a/scripts/Docker/ubuntu16/armhf-clang/Dockerfile +++ /dev/null @@ -1,32 +0,0 @@ -FROM amd64/ubuntu:16.04 - -RUN apt-get update \ - && apt-get install -y apt-transport-https curl wget \ - && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ - && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/6.4.0 main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ - && curl -L https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ - && echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" | tee /etc/apt/sources.list.d/llvm.list \ - && apt-get update \ - && apt-get install -y mono-complete msbuild python git libfontconfig1-dev clang-10 make \ - && rm -rf /var/lib/apt/lists/* - -RUN apt-get update -RUN apt-get install -y libstdc++-4.8-dev-armhf-cross libgcc-4.8-dev-armhf-cross binutils-arm-linux-gnueabihf - -# ARG FONTCONFIG_VERSION=2.12.6-0ubuntu2 -# RUN (mkdir -p /skia-utils \ -# && cd /skia-utils \ -# && wget -O libfontconfig1-dev_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${FONTCONFIG_VERSION}_armhf.deb \ -# && ar vx libfontconfig1-dev_armhf.deb \ -# && tar -xJvf data.tar.xz) - -# ARG LIBJPEG_VERSION=2.12.6-0ubuntu2 -# RUN (mkdir -p /skia-utils \ -# && cd /skia-utils \ -# && wget -O libfontconfig1-dev_armhf.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${LIBJPEG_VERSION}_armhf.deb \ -# && ar vx libfontconfig1-dev_armhf.deb \ -# && tar -xJvf data.tar.xz) - -ENV CC=clang-10 CXX=clang++-10 - -WORKDIR /work diff --git a/scripts/Docker/ubuntu16/clang-cross/Dockerfile b/scripts/Docker/ubuntu16/clang-cross/Dockerfile new file mode 100644 index 0000000000..2967866bfa --- /dev/null +++ b/scripts/Docker/ubuntu16/clang-cross/Dockerfile @@ -0,0 +1,62 @@ +FROM amd64/ubuntu:16.04 + +# Arguments: +# MONO_VERSION - the version of mono for the Cake script [ 6.4.0 | * ] +# TOOLCHAIN_VERSION - the version of the GCC toolchain [ 4.8 | * ] +# TOOLCHAIN_ARCH - the architecture of the GCC toolchain [ arm-linux-gnueabihf | aarch64-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.11.0-6.7+b1 | * ] +# +# To build a arm64 image: +# --build-arg TOOLCHAIN_ARCH=aarch64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=arm64 + +# pre-requisites for building (python, git, mono) +ARG MONO_VERSION=6.4.0 +RUN apt-get update \ + && apt-get install -y apt-transport-https curl wget python git make \ + && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ + && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/${MONO_VERSION} main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ + && curl -L https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - \ + && echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" | tee /etc/apt/sources.list.d/llvm.list \ + && apt-get update \ + && apt-get install -y mono-devel clang-10 \ + && rm -rf /var/lib/apt/lists/* + +# toolchain (gcc/g++) +ARG TOOLCHAIN_VERSION=4.8 +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 it easier for the build script +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 \ + && sed -i "s/\/usr\/${TOOLCHAIN_ARCH}\/lib\///g" /usr/${TOOLCHAIN_ARCH}/lib/libc.so + +# skia dependencies (fontconfig) +ARG FONTCONFIG_VERSION=2.11.0-6.7+b1 +RUN (mkdir -p /skia-utils/libfontconfig1-dev \ + && cd /skia-utils/libfontconfig1-dev \ + && wget -O libfontconfig1-dev.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1-dev_${FONTCONFIG_VERSION}_${TOOLCHAIN_ARCH_SHORT}.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 \ + && wget -O libfontconfig1.deb http://ftp.nl.debian.org/debian/pool/main/f/fontconfig/libfontconfig1_${FONTCONFIG_VERSION}_${TOOLCHAIN_ARCH_SHORT}.deb \ + && ar vx libfontconfig1.deb \ + && tar -xJvf data.tar.xz \ + && rm libfontconfig1.deb \ + && cp -R usr/lib/*/* /usr/${TOOLCHAIN_ARCH}/lib/ ) + +# container environment +ENV CC=clang-10 CXX=clang++-10 + +WORKDIR /work diff --git a/scripts/Docker/ubuntu16/gcc-cross/Dockerfile b/scripts/Docker/ubuntu16/gcc-cross/Dockerfile index 7d87aa4959..37fa135162 100644 --- a/scripts/Docker/ubuntu16/gcc-cross/Dockerfile +++ b/scripts/Docker/ubuntu16/gcc-cross/Dockerfile @@ -8,17 +8,17 @@ ARG FONTCONFIG_ARCH=armhf # pre-requisites for building (python, git, mono) RUN apt-get update \ - && apt-get install -y apt-transport-https curl wget python git \ + && apt-get install -y apt-transport-https curl wget python git make \ && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ && echo "deb https://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/${MONO_VERSION} main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ && apt-get update \ - && apt-get install -y mono-devel + && apt-get install -y mono-devel \ + && rm -rf /var/lib/apt/lists/* # toolchain (gcc/g++) -ARG TOOLCHAIN_URL=https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/${TOOLCHAIN_VERSION}/binrel/gcc-arm-${TOOLCHAIN_VERSION}-x86_64-${TOOLCHAIN_ARCH}.tar.xz RUN (mkdir -p /skia-utils/toolchain \ && cd /skia-utils/toolchain \ - && wget -O toolchain.tar.xz ${TOOLCHAIN_URL} \ + && wget -O toolchain.tar.xz https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/${TOOLCHAIN_VERSION}/binrel/gcc-arm-${TOOLCHAIN_VERSION}-x86_64-${TOOLCHAIN_ARCH}.tar.xz \ && tar -xJvf toolchain.tar.xz \ && mv gcc-arm-${TOOLCHAIN_VERSION}-x86_64-${TOOLCHAIN_ARCH} /opt/${TOOLCHAIN_ARCH}) diff --git a/scripts/Docker/wasm/Dockerfile b/scripts/Docker/wasm/Dockerfile index b1d998d39c..9e29022b40 100644 --- a/scripts/Docker/wasm/Dockerfile +++ b/scripts/Docker/wasm/Dockerfile @@ -3,11 +3,11 @@ FROM mcr.microsoft.com/dotnet/core/sdk:3.1.201-bionic ARG EMSCRIPTEN_VERSION=1.39.11 RUN apt-get update \ - && apt-get install -y apt-transport-https curl wget \ + && apt-get install -y apt-transport-https curl wget python git make \ && apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF \ && echo "deb https://download.mono-project.com/repo/ubuntu stable-bionic main" | tee /etc/apt/sources.list.d/mono-official-stable.list \ && apt-get update \ - && apt-get install -y mono-complete msbuild python git \ + && apt-get install -y mono-devel \ && rm -rf /var/lib/apt/lists/* RUN git clone https://github.com/emscripten-core/emsdk ~/emsdk && \ diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 64e3f1014d..a446179b75 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -241,72 +241,105 @@ stages: vmImage: $(VM_IMAGE_MAC) target: externals-watchos # NATIVE JOBS - LINUX - - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) - parameters: - name: native_linux_linux - displayName: Build Native Linux (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/amd64 - target: externals-linux - additionalArgs: --buildarch=x64 - - template: azure-templates-bootstrapper.yml # Build Native Linux|arm (Linux) - parameters: - name: native_linux_arm_linux - displayName: Build Native Linux|arm (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/gcc-cross - target: externals-linux - additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 (Linux) - parameters: - name: native_linux_arm64_linux - displayName: Build Native Linux|arm64 (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/gcc-cross - dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 - target: externals-linux - additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) - parameters: - name: native_linux_nodependencies_linux - displayName: Build Native Linux [No Dependencies] (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/amd64 - target: externals-linuxnodeps - additionalArgs: --buildarch=x64 - - template: azure-templates-bootstrapper.yml # Build Native Linux|arm [No Dependencies] (Linux) - parameters: - name: native_linux_arm_nodependencies_linux - displayName: Build Native Linux|arm [No Dependencies] (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/gcc-cross - target: externals-linuxnodeps - additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 [No Dependencies] (Linux) - parameters: - name: native_linux_arm64_nodependencies_linux - displayName: Build Native Linux|arm64 [No Dependencies] (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/ubuntu16/gcc-cross - dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 - target: externals-linuxnodeps - additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - - template: azure-templates-bootstrapper.yml # Build Native Linux [Alpine] (Linux) - parameters: - name: native_linux_alpine_linux - displayName: Build Native Linux [Alpine] (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/alpine/amd64 - target: externals-linux - additionalArgs: --buildarch=x64 --gn=gn --ninja=ninja --variant=alpine - - template: azure-templates-bootstrapper.yml # Build Native Linux [Alpine, No Dependencies] (Linux) - parameters: - name: native_linux_alpinenodependencies_linux - displayName: Build Native Linux [Alpine, No Dependencies] (Linux) - vmImage: $(VM_IMAGE_LINUX) - docker: scripts/Docker/alpine/amd64 - target: externals-linuxnodeps - additionalArgs: --buildarch=x64 --gn=gn --ninja=ninja --variant=alpinenodeps + - template: azure-templates-linux-matrix.yml # Build Native Linux (Linux) + parameters: + # target: externals-linux + builds: + - name: default + desc: '' + - name: nodependencies + desc: 'No Dependencies' + additionalArgs: --verifyExcluded=fontconfig + gnArgs: skia_use_fontconfig=false + matrix: + - arch: x64 + docker: scripts/Docker/ubuntu16/amd64 + - arch: x64 + variant: alpine + docker: scripts/Docker/alpine/amd64 + - arch: arm + docker: scripts/Docker/ubuntu16/clang-cross + target: externals-linux-clang-cross + - arch: arm64 + docker: scripts/Docker/ubuntu16/clang-cross + dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-linux-gnu --build-arg TOOLCHAIN_ARCH_SHORT=arm64 + target: externals-linux-clang-cross + - arch: arm + docker: scripts/Docker/ubuntu16/gcc-cross + gnArgs: 'extra_cflags+=[ \'-Wno-psabi\' ]' + - arch: arm64 + docker: scripts/Docker/ubuntu16/gcc-cross + dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 + gnArgs: 'extra_cflags+=[ \'-Wno-psabi\' ]' + + + # - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) + # parameters: + # name: native_linux_linux + # displayName: Build Native Linux (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/ubuntu16/amd64 + # target: externals-linux + # additionalArgs: --buildarch=x64 + # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm (Linux) + # parameters: + # name: native_linux_arm_linux + # displayName: Build Native Linux|arm (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/ubuntu16/gcc-cross + # target: externals-linux + # additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" + # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 (Linux) + # parameters: + # name: native_linux_arm64_linux + # displayName: Build Native Linux|arm64 (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/ubuntu16/gcc-cross + # dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 + # target: externals-linux + # additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" + # - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) + # parameters: + # name: native_linux_nodependencies_linux + # displayName: Build Native Linux [No Dependencies] (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/ubuntu16/amd64 + # target: externals-linuxnodeps + # additionalArgs: --buildarch=x64 + # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm [No Dependencies] (Linux) + # parameters: + # name: native_linux_arm_nodependencies_linux + # displayName: Build Native Linux|arm [No Dependencies] (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/ubuntu16/gcc-cross + # target: externals-linuxnodeps + # additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" + # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 [No Dependencies] (Linux) + # parameters: + # name: native_linux_arm64_nodependencies_linux + # displayName: Build Native Linux|arm64 [No Dependencies] (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/ubuntu16/gcc-cross + # dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 + # target: externals-linuxnodeps + # additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" + # - template: azure-templates-bootstrapper.yml # Build Native Linux [Alpine] (Linux) + # parameters: + # name: native_linux_alpine_linux + # displayName: Build Native Linux [Alpine] (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/alpine/amd64 + # target: externals-linux + # additionalArgs: --buildarch=x64 --gn=gn --ninja=ninja --variant=alpine + # - template: azure-templates-bootstrapper.yml # Build Native Linux [Alpine, No Dependencies] (Linux) + # parameters: + # name: native_linux_alpinenodependencies_linux + # displayName: Build Native Linux [Alpine, No Dependencies] (Linux) + # vmImage: $(VM_IMAGE_LINUX) + # docker: scripts/Docker/alpine/amd64 + # target: externals-linuxnodeps + # additionalArgs: --buildarch=x64 --gn=gn --ninja=ninja --variant=alpinenodeps + - template: azure-templates-bootstrapper.yml # Build Native Tizen (Linux) parameters: name: native_tizen_linux diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml new file mode 100644 index 0000000000..c4fa63f6c4 --- /dev/null +++ b/scripts/azure-templates-linux-matrix.yml @@ -0,0 +1,26 @@ +parameters: + builds: + - name: '' + desc: '' + additionalArgs: '' + gnArgs: '' + matrix: + - arch: '' + variant: '' + docker: '' + dockerArgs: '' + target: 'externals-linux' + gnArgs: '' + +jobs: + - ${{ each item in parameters.matrix }}: + - ${{ each build in parameters.builds }}: + - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) + parameters: + name: native_linux_${{ item.arch }}_${{ build.variant }}_${{ build.name }}_linux + displayName: Build Native Linux|${{ item.arch }} [${{ build.variant }}|${{ build.desc }}] + vmImage: $(VM_IMAGE_LINUX) + docker: ${{ item.docker }} + dockerArgs: ${{ item.dockerArgs }} + target: ${{ item.target }} + additionalArgs: --buildarch=${{ item.arch }} --variant=${{ build.variant }} ${{ item.additionalArgs }} ${{ build.additionalArgs }} \ No newline at end of file From d7981a98e1c64b6d27fe3902b0979793747a0499 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:19:37 +0200 Subject: [PATCH 17/48] maybe --- scripts/azure-pipelines.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index a446179b75..cb1d150f52 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -266,11 +266,11 @@ stages: target: externals-linux-clang-cross - arch: arm docker: scripts/Docker/ubuntu16/gcc-cross - gnArgs: 'extra_cflags+=[ \'-Wno-psabi\' ]' + gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] - arch: arm64 docker: scripts/Docker/ubuntu16/gcc-cross dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 - gnArgs: 'extra_cflags+=[ \'-Wno-psabi\' ]' + gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] # - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) From 84e9d1b88ca95dfbf8995fe742e9250b663009d4 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:21:56 +0200 Subject: [PATCH 18/48] oopsie --- scripts/azure-templates-linux-matrix.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index c4fa63f6c4..9b57b826f9 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -17,10 +17,10 @@ jobs: - ${{ each build in parameters.builds }}: - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) parameters: - name: native_linux_${{ item.arch }}_${{ build.variant }}_${{ build.name }}_linux - displayName: Build Native Linux|${{ item.arch }} [${{ build.variant }}|${{ build.desc }}] + name: native_linux_${{ item.arch }}_${{ item.variant }}_${{ build.name }}_linux + displayName: Build Native Linux|${{ item.arch }} [${{ item.variant }}|${{ build.desc }}] vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} target: ${{ item.target }} - additionalArgs: --buildarch=${{ item.arch }} --variant=${{ build.variant }} ${{ item.additionalArgs }} ${{ build.additionalArgs }} \ No newline at end of file + additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }} ${{ item.additionalArgs }} ${{ build.additionalArgs }} \ No newline at end of file From 581189111859cced558bad97bbe3b352eb6a971c Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:24:57 +0200 Subject: [PATCH 19/48] cvcx --- scripts/azure-pipelines.yml | 1 - scripts/azure-templates-linux-matrix.yml | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index cb1d150f52..6b2e077323 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -246,7 +246,6 @@ stages: # target: externals-linux builds: - name: default - desc: '' - name: nodependencies desc: 'No Dependencies' additionalArgs: --verifyExcluded=fontconfig diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 9b57b826f9..4e22f57233 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -17,8 +17,8 @@ jobs: - ${{ each build in parameters.builds }}: - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) parameters: - name: native_linux_${{ item.arch }}_${{ item.variant }}_${{ build.name }}_linux - displayName: Build Native Linux|${{ item.arch }} [${{ item.variant }}|${{ build.desc }}] + name: native_linux_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}_${{ build.name }}_linux + displayName: Build Native Linux|${{ item.arch }} [${{ coalesce(item.variant, 'default') }}|${{ build.desc }}] vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From f92a8d38c1e9e841a2e0bf4b77ffe187e498cfeb Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:28:27 +0200 Subject: [PATCH 20/48] asdf --- scripts/azure-pipelines.yml | 4 ++-- scripts/azure-templates-linux-matrix.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 6b2e077323..34f6f5b3b3 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -245,8 +245,8 @@ stages: parameters: # target: externals-linux builds: - - name: default - - name: nodependencies + - name: linux + - name: linux_nodeps desc: 'No Dependencies' additionalArgs: --verifyExcluded=fontconfig gnArgs: skia_use_fontconfig=false diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 4e22f57233..b081b71f7e 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -15,9 +15,9 @@ parameters: jobs: - ${{ each item in parameters.matrix }}: - ${{ each build in parameters.builds }}: - - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) + - template: azure-templates-bootstrapper.yml parameters: - name: native_linux_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}_${{ build.name }}_linux + name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}_linux displayName: Build Native Linux|${{ item.arch }} [${{ coalesce(item.variant, 'default') }}|${{ build.desc }}] vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} From 260aa8b40040494302ea133134a24e4a7982c5f0 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:29:41 +0200 Subject: [PATCH 21/48] dsfasdf --- scripts/azure-pipelines.yml | 1 - scripts/azure-templates-linux-matrix.yml | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 34f6f5b3b3..3846e86e30 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -243,7 +243,6 @@ stages: # NATIVE JOBS - LINUX - template: azure-templates-linux-matrix.yml # Build Native Linux (Linux) parameters: - # target: externals-linux builds: - name: linux - name: linux_nodeps diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index b081b71f7e..64a7e828a4 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -9,7 +9,7 @@ parameters: variant: '' docker: '' dockerArgs: '' - target: 'externals-linux' + target: '' gnArgs: '' jobs: @@ -22,5 +22,5 @@ jobs: vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} - target: ${{ item.target }} + target: ${{ coalesce(item.target, 'externals-linux') }} additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }} ${{ item.additionalArgs }} ${{ build.additionalArgs }} \ No newline at end of file From 2fbc17f44c1c67ed1805c9dd6fc2f5b601e988b4 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:35:53 +0200 Subject: [PATCH 22/48] alt --- scripts/azure-pipelines.yml | 2 ++ scripts/azure-templates-linux-matrix.yml | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 3846e86e30..162b4a9bce 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -265,10 +265,12 @@ stages: - arch: arm docker: scripts/Docker/ubuntu16/gcc-cross gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] + alt: _gcc - arch: arm64 docker: scripts/Docker/ubuntu16/gcc-cross dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] + alt: _gcc # - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 64a7e828a4..8e04a2b454 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -11,13 +11,14 @@ parameters: dockerArgs: '' target: '' gnArgs: '' + alt: '' jobs: - ${{ each item in parameters.matrix }}: - ${{ each build in parameters.builds }}: - template: azure-templates-bootstrapper.yml parameters: - name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}_linux + name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_') }}_linux displayName: Build Native Linux|${{ item.arch }} [${{ coalesce(item.variant, 'default') }}|${{ build.desc }}] vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} From 8b1add94fca5240ae8d35872b8b5b165171d085c Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:56:53 +0200 Subject: [PATCH 23/48] dfasdfasd --- scripts/azure-pipelines.yml | 186 ++++++++++------------- scripts/azure-templates-linux-matrix.yml | 2 +- 2 files changed, 80 insertions(+), 108 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 162b4a9bce..95eacf8391 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -55,192 +55,224 @@ stages: parameters: updateBuild: true - - stage: native - displayName: Build Native + - stage: native_android_windows + displayName: Build Native Android (Windows) dependsOn: prepare jobs: - # NATIVE JOBS - WINDOWS - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (Windows) parameters: name: native_android_x86_windows - displayName: Build Native Android|x86 (Windows) + displayName: x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=x86 - template: azure-templates-bootstrapper.yml # Build Native Android|x64 (Windows) parameters: name: native_android_x64_windows - displayName: Build Native Android|x64 (Windows) + displayName: x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=x64 - template: azure-templates-bootstrapper.yml # Build Native Android|arm (Windows) parameters: name: native_android_arm_windows - displayName: Build Native Android|arm (Windows) + displayName: arm vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=arm - template: azure-templates-bootstrapper.yml # Build Native Android|arm64 (Windows) parameters: name: native_android_arm64_windows - displayName: Build Native Android|arm64 (Windows) + displayName: arm64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=arm64 + + - stage: native_tizen_windows + displayName: Build Native Tizen (Windows) + dependsOn: prepare + jobs: - template: azure-templates-bootstrapper.yml # Build Native Tizen (Windows) parameters: name: native_tizen_windows - displayName: Build Native Tizen (Windows) + displayName: arm + x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-tizen + + - stage: native_uwp_windows + displayName: Build Native UWP (Windows) + dependsOn: prepare + jobs: - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|x86 (Windows) parameters: name: native_uwp_angle_x86_windows - displayName: Build ANGLE UWP|x86 (Windows) + displayName: ANGLE x86 vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=x86 - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|x64 (Windows) parameters: name: native_uwp_angle_x64_windows - displayName: Build ANGLE UWP|x64 (Windows) + displayName: ANGLE x64 vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=x64 - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|arm (Windows) parameters: name: native_uwp_angle_arm_windows - displayName: Build ANGLE UWP|arm (Windows) + displayName: ANGLE arm vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=arm - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|arm64 (Windows) parameters: name: native_uwp_angle_arm64_windows - displayName: Build ANGLE UWP|arm64 (Windows) + displayName: ANGLE arm64 vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=arm64 - template: azure-templates-bootstrapper.yml # Build Native UWP|x86 (Windows) parameters: name: native_uwp_x86_windows - displayName: Build Native UWP|x86 (Windows) + displayName: x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=x86 --skipAngle=true - template: azure-templates-bootstrapper.yml # Build Native UWP|x64 (Windows) parameters: name: native_uwp_x64_windows - displayName: Build Native UWP|x64 (Windows) + displayName: x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=x64 --skipAngle=true - template: azure-templates-bootstrapper.yml # Build Native UWP|arm (Windows) parameters: name: native_uwp_arm_windows - displayName: Build Native UWP|arm (Windows) + displayName: arm vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=arm --skipAngle=true - template: azure-templates-bootstrapper.yml # Build Native UWP|arm64 (Windows) parameters: name: native_uwp_arm64_windows - displayName: Build Native UWP|arm64 (Windows) + displayName: arm64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=arm64 --skipAngle=true + + - stage: native_win32_windows + displayName: Build Native Win32 (Windows) + dependsOn: prepare + jobs: - template: azure-templates-bootstrapper.yml # Build Native Win32|x86 (Windows) parameters: name: native_win32_x86_windows - displayName: Build Native Win32|x86 (Windows) + displayName: x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=x86 - template: azure-templates-bootstrapper.yml # Build Native Win32|x64 (Windows) parameters: name: native_win32_x64_windows - displayName: Build Native Win32|x64 (Windows) + displayName: x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=x64 - template: azure-templates-bootstrapper.yml # Build Native Win32|arm64 (Windows) parameters: name: native_win32_arm64_windows - displayName: Build Native Win32|arm64 (Windows) + displayName: arm64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=arm64 - template: azure-templates-bootstrapper.yml # Build Native NanoServer|x64 (Windows) parameters: name: native_win32_x64_nanoserver_windows - displayName: Build Native NanoServer|x64 (Windows) + displayName: NanoServer x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-nanoserver additionalArgs: --buildarch=x64 tools: - nano-api-scan - # NATIVE JOBS - MAC + + - stage: native_android_macos + displayName: Build Native Android (macOS) + dependsOn: prepare + jobs: - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (macOS) parameters: name: native_android_x86_macos - displayName: Build Native Android|x86 (macOS) + displayName: x86 vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=x86 - template: azure-templates-bootstrapper.yml # Build Native Android|x64 (macOS) parameters: name: native_android_x64_macos - displayName: Build Native Android|x64 (macOS) + displayName: x64 vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=x64 - template: azure-templates-bootstrapper.yml # Build Native Android|arm (macOS) parameters: name: native_android_arm_macos - displayName: Build Native Android|arm (macOS) + displayName: arm vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=arm - template: azure-templates-bootstrapper.yml # Build Native Android|arm64 (macOS) parameters: name: native_android_arm64_macos - displayName: Build Native Android|arm64 (macOS) + displayName: arm64 vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=arm64 + + - stage: native_apple_macos + displayName: Build Native Apple (macOS) + dependsOn: prepare + jobs: - template: azure-templates-bootstrapper.yml # Build Native iOS (macOS) parameters: name: native_ios_macos - displayName: Build Native iOS (macOS) + displayName: iOS vmImage: $(VM_IMAGE_MAC) target: externals-ios - template: azure-templates-bootstrapper.yml # Build Native macOS (macOS) parameters: name: native_macos_macos - displayName: Build Native macOS (macOS) + displayName: macOS vmImage: $(VM_IMAGE_MAC) target: externals-macos - - template: azure-templates-bootstrapper.yml # Build Native Tizen (macOS) - parameters: - name: native_tizen_macos - displayName: Build Native Tizen (macOS) - vmImage: $(VM_IMAGE_MAC) - target: externals-tizen - condition: false # TODO: TIZEN INSTALL BUGS - template: azure-templates-bootstrapper.yml # Build Native tvOS (macOS) parameters: name: native_tvos_macos - displayName: Build Native tvOS (macOS) + displayName: tvOS vmImage: $(VM_IMAGE_MAC) target: externals-tvos - template: azure-templates-bootstrapper.yml # Build Native watchOS (macOS) parameters: name: native_watchos_macos - displayName: Build Native watchOS (macOS) + displayName: watchOS vmImage: $(VM_IMAGE_MAC) target: externals-watchos - # NATIVE JOBS - LINUX + + - stage: native_tizen_macos + displayName: Build Native Tizen (macOS) + dependsOn: prepare + jobs: + - template: azure-templates-bootstrapper.yml # Build Native Tizen (macOS) + parameters: + name: native_tizen_macos + displayName: arm + x86 + vmImage: $(VM_IMAGE_MAC) + target: externals-tizen + condition: false # TODO: TIZEN INSTALL BUGS + + - stage: native_linux_linux + displayName: Build Native Linux (Linux) + dependsOn: prepare + jobs: - template: azure-templates-linux-matrix.yml # Build Native Linux (Linux) parameters: builds: @@ -272,74 +304,10 @@ stages: gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] alt: _gcc - - # - template: azure-templates-bootstrapper.yml # Build Native Linux (Linux) - # parameters: - # name: native_linux_linux - # displayName: Build Native Linux (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/ubuntu16/amd64 - # target: externals-linux - # additionalArgs: --buildarch=x64 - # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm (Linux) - # parameters: - # name: native_linux_arm_linux - # displayName: Build Native Linux|arm (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/ubuntu16/gcc-cross - # target: externals-linux - # additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 (Linux) - # parameters: - # name: native_linux_arm64_linux - # displayName: Build Native Linux|arm64 (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/ubuntu16/gcc-cross - # dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 - # target: externals-linux - # additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - # - template: azure-templates-bootstrapper.yml # Build Native Linux [No Dependencies] (Linux) - # parameters: - # name: native_linux_nodependencies_linux - # displayName: Build Native Linux [No Dependencies] (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/ubuntu16/amd64 - # target: externals-linuxnodeps - # additionalArgs: --buildarch=x64 - # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm [No Dependencies] (Linux) - # parameters: - # name: native_linux_arm_nodependencies_linux - # displayName: Build Native Linux|arm [No Dependencies] (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/ubuntu16/gcc-cross - # target: externals-linuxnodeps - # additionalArgs: --buildarch=arm --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - # - template: azure-templates-bootstrapper.yml # Build Native Linux|arm64 [No Dependencies] (Linux) - # parameters: - # name: native_linux_arm64_nodependencies_linux - # displayName: Build Native Linux|arm64 [No Dependencies] (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/ubuntu16/gcc-cross - # dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 - # target: externals-linuxnodeps - # additionalArgs: --buildarch=arm64 --gnArgs="\"extra_cflags+=[ \'-Wno-psabi\' ]\"" - # - template: azure-templates-bootstrapper.yml # Build Native Linux [Alpine] (Linux) - # parameters: - # name: native_linux_alpine_linux - # displayName: Build Native Linux [Alpine] (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/alpine/amd64 - # target: externals-linux - # additionalArgs: --buildarch=x64 --gn=gn --ninja=ninja --variant=alpine - # - template: azure-templates-bootstrapper.yml # Build Native Linux [Alpine, No Dependencies] (Linux) - # parameters: - # name: native_linux_alpinenodependencies_linux - # displayName: Build Native Linux [Alpine, No Dependencies] (Linux) - # vmImage: $(VM_IMAGE_LINUX) - # docker: scripts/Docker/alpine/amd64 - # target: externals-linuxnodeps - # additionalArgs: --buildarch=x64 --gn=gn --ninja=ninja --variant=alpinenodeps - + - stage: native_tizen_linux + displayName: Build Native Tizen (Linux) + dependsOn: prepare + jobs: - template: azure-templates-bootstrapper.yml # Build Native Tizen (Linux) parameters: name: native_tizen_linux @@ -347,11 +315,15 @@ stages: vmImage: $(VM_IMAGE_LINUX) packages: $(TIZEN_LINUX_PACKAGES) target: externals-tizen - # NATIVE JOBS - WASM + + - stage: native_wasm_linux + displayName: Build Native WASM (Linux) + dependsOn: prepare + jobs: - template: azure-templates-bootstrapper.yml # Build Native WASM (Linux) parameters: name: native_wasm_linux - displayName: Build Native WASM (Linux) + displayName: WASM vmImage: $(VM_IMAGE_LINUX) docker: scripts/Docker/wasm target: externals-wasm diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 8e04a2b454..f54b5b398a 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -19,7 +19,7 @@ jobs: - template: azure-templates-bootstrapper.yml parameters: name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_') }}_linux - displayName: Build Native Linux|${{ item.arch }} [${{ coalesce(item.variant, 'default') }}|${{ build.desc }}] + displayName: ${{ item.arch }} [${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_')|${{ build.desc }}] vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From 181731028e7513ec817197fb91c9be5a289da39f Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 00:59:49 +0200 Subject: [PATCH 24/48] vvv --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index f54b5b398a..4b3ca23acf 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -19,7 +19,7 @@ jobs: - template: azure-templates-bootstrapper.yml parameters: name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_') }}_linux - displayName: ${{ item.arch }} [${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_')|${{ build.desc }}] + displayName: ${{ item.arch }} [${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_') }}|${{ build.desc }}] vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From c14db64dd4e6b79fceb9943073f3bb9f11500c37 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:05:24 +0200 Subject: [PATCH 25/48] deps --- scripts/azure-pipelines.yml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 95eacf8391..2713d3d263 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -330,7 +330,17 @@ stages: - stage: managed displayName: Build Managed - dependsOn: native + dependsOn: + - native_android_windows + - native_tizen_windows + - native_uwp_windows + - native_win32_windows + - native_android_macos + - native_apple_macos + - native_tizen_macos + - native_linux_linux + - native_tizen_linux + - native_wasm_linux jobs: - template: azure-templates-bootstrapper.yml # Build Managed (Windows) parameters: @@ -464,7 +474,17 @@ stages: - stage: tests displayName: Run Tests - dependsOn: native + dependsOn: + - native_android_windows + - native_tizen_windows + - native_uwp_windows + - native_win32_windows + - native_android_macos + - native_apple_macos + - native_tizen_macos + - native_linux_linux + - native_tizen_linux + - native_wasm_linux jobs: - template: azure-templates-bootstrapper.yml # Tests (Windows) parameters: From 703d6d10c5ca1bffa90d81b6047b5253c395ba25 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:07:14 +0200 Subject: [PATCH 26/48] sadfasdf --- scripts/azure-templates-linux-matrix.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 4b3ca23acf..04114ae1e8 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -14,8 +14,8 @@ parameters: alt: '' jobs: - - ${{ each item in parameters.matrix }}: - - ${{ each build in parameters.builds }}: + - ${{ each build in parameters.builds }}: + - ${{ each item in parameters.matrix }}: - template: azure-templates-bootstrapper.yml parameters: name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_') }}_linux From cf0c14aba0f4d7f7a8f336121ece83a748d2fc96 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:30:10 +0200 Subject: [PATCH 27/48] sdfasdf --- scripts/azure-pipelines.yml | 6 +++--- scripts/azure-templates-linux-matrix.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 2713d3d263..cd8ab0cf84 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -278,7 +278,7 @@ stages: builds: - name: linux - name: linux_nodeps - desc: 'No Dependencies' + desc: 'No Deps' additionalArgs: --verifyExcluded=fontconfig gnArgs: skia_use_fontconfig=false matrix: @@ -297,12 +297,12 @@ stages: - arch: arm docker: scripts/Docker/ubuntu16/gcc-cross gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] - alt: _gcc + alt: gcc - arch: arm64 docker: scripts/Docker/ubuntu16/gcc-cross dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] - alt: _gcc + alt: gcc - stage: native_tizen_linux displayName: Build Native Tizen (Linux) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 04114ae1e8..5e9288ed30 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -18,8 +18,8 @@ jobs: - ${{ each item in parameters.matrix }}: - template: azure-templates-bootstrapper.yml parameters: - name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_') }}_linux - displayName: ${{ item.arch }} [${{ coalesce(item.variant, 'default') }}${{ coalesce(item.alt, '_') }}|${{ build.desc }}] + name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ item.alt }}_linux + displayName: ${{ item.arch }} (${{ join(',', [ coalesce(item.variant, 'default'), item.alt, build.desc ]) }}) vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From 0d7143c6591d7f74115df3f31042632edab4dced Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:31:48 +0200 Subject: [PATCH 28/48] sfdasf --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 5e9288ed30..d1a3ee7b59 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -19,7 +19,7 @@ jobs: - template: azure-templates-bootstrapper.yml parameters: name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ item.alt }}_linux - displayName: ${{ item.arch }} (${{ join(',', [ coalesce(item.variant, 'default'), item.alt, build.desc ]) }}) + displayName: ${{ item.arch }} (${{ join(',', [ item.variant, item.alt, build.desc ]) }}) vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From dd717c1f497c8c485457d2173a1daa091f4ebda0 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:35:13 +0200 Subject: [PATCH 29/48] dasdf --- scripts/azure-pipelines.yml | 62 ++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index cd8ab0cf84..5b9e8b68d9 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -56,31 +56,31 @@ stages: updateBuild: true - stage: native_android_windows - displayName: Build Native Android (Windows) + displayName: Native Android (Win) dependsOn: prepare jobs: - - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (Win) parameters: name: native_android_x86_windows displayName: x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=x86 - - template: azure-templates-bootstrapper.yml # Build Native Android|x64 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Android|x64 (Win) parameters: name: native_android_x64_windows displayName: x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=x64 - - template: azure-templates-bootstrapper.yml # Build Native Android|arm (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Android|arm (Win) parameters: name: native_android_arm_windows displayName: arm vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=arm - - template: azure-templates-bootstrapper.yml # Build Native Android|arm64 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Android|arm64 (Win) parameters: name: native_android_arm64_windows displayName: arm64 @@ -89,10 +89,10 @@ stages: additionalArgs: --buildarch=arm64 - stage: native_tizen_windows - displayName: Build Native Tizen (Windows) + displayName: Native Tizen (Win) dependsOn: prepare jobs: - - template: azure-templates-bootstrapper.yml # Build Native Tizen (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Tizen (Win) parameters: name: native_tizen_windows displayName: arm + x86 @@ -100,59 +100,59 @@ stages: target: externals-tizen - stage: native_uwp_windows - displayName: Build Native UWP (Windows) + displayName: Native UWP (Win) dependsOn: prepare jobs: - - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|x86 (Windows) + - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|x86 (Win) parameters: name: native_uwp_angle_x86_windows displayName: ANGLE x86 vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=x86 - - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|x64 (Windows) + - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|x64 (Win) parameters: name: native_uwp_angle_x64_windows displayName: ANGLE x64 vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=x64 - - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|arm (Windows) + - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|arm (Win) parameters: name: native_uwp_angle_arm_windows displayName: ANGLE arm vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=arm - - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|arm64 (Windows) + - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|arm64 (Win) parameters: name: native_uwp_angle_arm64_windows displayName: ANGLE arm64 vmImage: $(VM_IMAGE_WINDOWS) target: ANGLE additionalArgs: -Script .\native\uwp\build.cake --buildarch=arm64 - - template: azure-templates-bootstrapper.yml # Build Native UWP|x86 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native UWP|x86 (Win) parameters: name: native_uwp_x86_windows displayName: x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=x86 --skipAngle=true - - template: azure-templates-bootstrapper.yml # Build Native UWP|x64 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native UWP|x64 (Win) parameters: name: native_uwp_x64_windows displayName: x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=x64 --skipAngle=true - - template: azure-templates-bootstrapper.yml # Build Native UWP|arm (Windows) + - template: azure-templates-bootstrapper.yml # Build Native UWP|arm (Win) parameters: name: native_uwp_arm_windows displayName: arm vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=arm --skipAngle=true - - template: azure-templates-bootstrapper.yml # Build Native UWP|arm64 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native UWP|arm64 (Win) parameters: name: native_uwp_arm64_windows displayName: arm64 @@ -161,31 +161,31 @@ stages: additionalArgs: --buildarch=arm64 --skipAngle=true - stage: native_win32_windows - displayName: Build Native Win32 (Windows) + displayName: Native Win32 (Win) dependsOn: prepare jobs: - - template: azure-templates-bootstrapper.yml # Build Native Win32|x86 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Win32|x86 (Win) parameters: name: native_win32_x86_windows displayName: x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=x86 - - template: azure-templates-bootstrapper.yml # Build Native Win32|x64 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Win32|x64 (Win) parameters: name: native_win32_x64_windows displayName: x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=x64 - - template: azure-templates-bootstrapper.yml # Build Native Win32|arm64 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native Win32|arm64 (Win) parameters: name: native_win32_arm64_windows displayName: arm64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=arm64 - - template: azure-templates-bootstrapper.yml # Build Native NanoServer|x64 (Windows) + - template: azure-templates-bootstrapper.yml # Build Native NanoServer|x64 (Win) parameters: name: native_win32_x64_nanoserver_windows displayName: NanoServer x64 @@ -196,7 +196,7 @@ stages: - nano-api-scan - stage: native_android_macos - displayName: Build Native Android (macOS) + displayName: Native Android (macOS) dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (macOS) @@ -229,7 +229,7 @@ stages: additionalArgs: --buildarch=arm64 - stage: native_apple_macos - displayName: Build Native Apple (macOS) + displayName: Native Apple (macOS) dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native iOS (macOS) @@ -258,7 +258,7 @@ stages: target: externals-watchos - stage: native_tizen_macos - displayName: Build Native Tizen (macOS) + displayName: Native Tizen (macOS) dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native Tizen (macOS) @@ -270,7 +270,7 @@ stages: condition: false # TODO: TIZEN INSTALL BUGS - stage: native_linux_linux - displayName: Build Native Linux (Linux) + displayName: Native Linux (Linux) dependsOn: prepare jobs: - template: azure-templates-linux-matrix.yml # Build Native Linux (Linux) @@ -305,19 +305,19 @@ stages: alt: gcc - stage: native_tizen_linux - displayName: Build Native Tizen (Linux) + displayName: Native Tizen (Linux) dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native Tizen (Linux) parameters: name: native_tizen_linux - displayName: Build Native Tizen (Linux) + displayName: Native Tizen (Linux) vmImage: $(VM_IMAGE_LINUX) packages: $(TIZEN_LINUX_PACKAGES) target: externals-tizen - stage: native_wasm_linux - displayName: Build Native WASM (Linux) + displayName: Native WASM (Linux) dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native WASM (Linux) @@ -345,7 +345,7 @@ stages: - template: azure-templates-bootstrapper.yml # Build Managed (Windows) parameters: name: managed_windows - displayName: Build Managed (Windows) + displayName: Managed (Windows) vmImage: $(VM_IMAGE_WINDOWS) target: libs additionalArgs: --exclusive @@ -370,7 +370,7 @@ stages: - template: azure-templates-bootstrapper.yml # Build Managed (macOS) parameters: name: managed_macos - displayName: Build Managed (macOS) + displayName: Managed (macOS) vmImage: $(VM_IMAGE_MAC) target: libs additionalArgs: --exclusive @@ -388,7 +388,7 @@ stages: - template: azure-templates-bootstrapper.yml # Build Managed (Linux) parameters: name: managed_linux - displayName: Build Managed (Linux) + displayName: Managed (Linux) vmImage: $(VM_IMAGE_LINUX) packages: $(MANAGED_LINUX_PACKAGES) target: libs From cd3eb29a3f089804267f1be1760b4c9d74ea0286 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:39:04 +0200 Subject: [PATCH 30/48] sadfd --- scripts/azure-templates-bootstrapper.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/azure-templates-bootstrapper.yml b/scripts/azure-templates-bootstrapper.yml index 9b5bb2b732..a5bced191d 100644 --- a/scripts/azure-templates-bootstrapper.yml +++ b/scripts/azure-templates-bootstrapper.yml @@ -44,6 +44,8 @@ jobs: - checkout: self submodules: recursive - template: azure-templates-variables.yml + - pwsh: echo "${{ parameters.name }}" + displayName: Log Job Name # install any packages on linux - ${{ if and(eq(parameters.docker, ''), endsWith(parameters.name, '_linux')) }}: From ec5fc28980de65abf847f5c81b4f3bb69241756c Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:42:08 +0200 Subject: [PATCH 31/48] dsdf --- scripts/azure-pipelines.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 5b9e8b68d9..b64dadf9d1 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -473,7 +473,7 @@ stages: additionalConditions: eq(variables['Build.SourceBranch'], 'refs/heads/master') - stage: tests - displayName: Run Tests + displayName: Tests dependsOn: - native_android_windows - native_tizen_windows @@ -489,7 +489,7 @@ stages: - template: azure-templates-bootstrapper.yml # Tests (Windows) parameters: name: tests_windows - displayName: Tests (Windows) + displayName: Windows vmImage: $(VM_IMAGE_WINDOWS) target: tests additionalArgs: --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE) @@ -522,7 +522,7 @@ stages: - template: azure-templates-bootstrapper.yml # Tests (macOS) parameters: name: tests_macos - displayName: Tests (macOS) + displayName: macOS vmImage: $(VM_IMAGE_MAC) target: tests additionalArgs: --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE) @@ -554,7 +554,7 @@ stages: - template: azure-templates-bootstrapper.yml # Tests (Linux) parameters: name: tests_linux - displayName: Tests (Linux) + displayName: Linux vmImage: $(VM_IMAGE_LINUX) packages: $(MANAGED_LINUX_PACKAGES) target: tests @@ -587,7 +587,7 @@ stages: - template: azure-templates-bootstrapper.yml # Tests [WASM] (Linux) parameters: name: tests_wasm_linux - displayName: Tests [WASM] (Linux) + displayName: WASM (Linux) vmImage: $(VM_IMAGE_LINUX) packages: $(MANAGED_LINUX_PACKAGES) ninja-build target: tests-wasm @@ -644,13 +644,13 @@ stages: summaryFileLocation: 'output/**/Cobertura.xml' - stage: samples - displayName: Build Samples + displayName: Samples dependsOn: package jobs: - template: azure-templates-bootstrapper.yml # Build Samples (Windows) parameters: name: samples_windows - displayName: Build Samples (Windows) + displayName: Windows vmImage: $(VM_IMAGE_WINDOWS) target: samples shouldPublish: false @@ -664,7 +664,7 @@ stages: - template: azure-templates-bootstrapper.yml # Build Samples (macOS) parameters: name: samples_macos - displayName: Build Samples (macOS) + displayName: macOS vmImage: $(VM_IMAGE_MAC) target: samples shouldPublish: false @@ -693,7 +693,7 @@ stages: - template: azure-templates-bootstrapper.yml # Build Samples (Linux) parameters: name: samples_linux - displayName: Build Samples (Linux) + displayName: Linux vmImage: $(VM_IMAGE_LINUX) packages: $(MANAGED_LINUX_PACKAGES) target: samples From 7ece7bf3587d263026b47504ce688bf850fc8c5c Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 01:57:27 +0200 Subject: [PATCH 32/48] sadfasdf --- scripts/azure-templates-bootstrapper.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/azure-templates-bootstrapper.yml b/scripts/azure-templates-bootstrapper.yml index a5bced191d..9b5bb2b732 100644 --- a/scripts/azure-templates-bootstrapper.yml +++ b/scripts/azure-templates-bootstrapper.yml @@ -44,8 +44,6 @@ jobs: - checkout: self submodules: recursive - template: azure-templates-variables.yml - - pwsh: echo "${{ parameters.name }}" - displayName: Log Job Name # install any packages on linux - ${{ if and(eq(parameters.docker, ''), endsWith(parameters.name, '_linux')) }}: From 64fa40c097e61b266dd7d0007a0580247bfd2f27 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:13:59 +0200 Subject: [PATCH 33/48] sadfsadfsadf --- scripts/azure-pipelines.yml | 14 +++++++------- scripts/azure-templates-linux-matrix.yml | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index b64dadf9d1..d52772b3bf 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -276,8 +276,8 @@ stages: - template: azure-templates-linux-matrix.yml # Build Native Linux (Linux) parameters: builds: - - name: linux - - name: linux_nodeps + - name: '' + - name: nodeps desc: 'No Deps' additionalArgs: --verifyExcluded=fontconfig gnArgs: skia_use_fontconfig=false @@ -394,14 +394,14 @@ stages: target: libs additionalArgs: --exclusive requiredArtifacts: - - native_linux_linux + - native_linux_x64_linux - native_linux_arm_linux - native_linux_arm64_linux - - native_linux_nodependencies_linux - - native_linux_arm_nodependencies_linux - - native_linux_arm64_nodependencies_linux - - native_linux_alpinenodependencies_linux + - native_linux_x64_nodeps_linux + - native_linux_arm_nodeps_linux + - native_linux_arm64_nodeps_linux - native_linux_alpine_linux + - native_linux_alpine_nodeps_linux - native_tizen_linux - stage: package diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index d1a3ee7b59..830c130dce 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -18,7 +18,7 @@ jobs: - ${{ each item in parameters.matrix }}: - template: azure-templates-bootstrapper.yml parameters: - name: native_${{ build.name }}_${{ item.arch }}_${{ coalesce(item.variant, 'default') }}${{ item.alt }}_linux + name: ${{ replace(format('native_linux_{0}_{1}_{2}_{3}_linux', item.arch, item.variant, build.name, item.alt), '__', '_') }} displayName: ${{ item.arch }} (${{ join(',', [ item.variant, item.alt, build.desc ]) }}) vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} From 201f609b1a16306f141b3afa68cc4845548407c1 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:14:22 +0200 Subject: [PATCH 34/48] dsfadf --- scripts/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index d52772b3bf..d05168d96b 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -561,7 +561,7 @@ stages: additionalArgs: --skipExternals="all" --throwOnTestFailure=$(THROW_ON_TEST_FAILURE) --coverage=$(ENABLE_CODE_COVERAGE) shouldPublish: false requiredArtifacts: - - native_linux_linux + - native_linux_x64_linux tools: - dotnet-reportgenerator-globaltool postBuildSteps: From 9b970570a953bca2385469029495ea104eaf7561 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:16:40 +0200 Subject: [PATCH 35/48] sadfasdf --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 830c130dce..ce9b27025b 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -24,4 +24,4 @@ jobs: docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} target: ${{ coalesce(item.target, 'externals-linux') }} - additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }} ${{ item.additionalArgs }} ${{ build.additionalArgs }} \ No newline at end of file + additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }} ${{ build.additionalArgs }} ${{ item.additionalArgs }} \ No newline at end of file From 59a2ae6b72599bf8635f570695544ef2196980e6 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:19:21 +0200 Subject: [PATCH 36/48] sdfasdf --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index ce9b27025b..f8e16b45c9 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -19,7 +19,7 @@ jobs: - template: azure-templates-bootstrapper.yml parameters: name: ${{ replace(format('native_linux_{0}_{1}_{2}_{3}_linux', item.arch, item.variant, build.name, item.alt), '__', '_') }} - displayName: ${{ item.arch }} (${{ join(',', [ item.variant, item.alt, build.desc ]) }}) + displayName: ${{ item.arch }} (${{ replace(replace(format('{0},{1},{2},{3}', item.arch, item.variant, build.name, item.alt), ',,', ','), ',', ', ') }}) vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From e18357313b647cdc70c5666711f84b8feca8fa61 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:23:06 +0200 Subject: [PATCH 37/48] sadfasdf --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index f8e16b45c9..4f3acbed79 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -19,7 +19,7 @@ jobs: - template: azure-templates-bootstrapper.yml parameters: name: ${{ replace(format('native_linux_{0}_{1}_{2}_{3}_linux', item.arch, item.variant, build.name, item.alt), '__', '_') }} - displayName: ${{ item.arch }} (${{ replace(replace(format('{0},{1},{2},{3}', item.arch, item.variant, build.name, item.alt), ',,', ','), ',', ', ') }}) + displayName: ${{ item.arch }} ${{ replace(replace(replace(replace(format('({0}|{1}|{2}|{3})', item.arch, item.variant, build.name, item.alt), '||', '|'), '(|', '('), '|)', ')'), '|', ', ') }} vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From 8473d5f769f3881faef667df309577ab989d5c44 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:24:51 +0200 Subject: [PATCH 38/48] asdfasd --- scripts/azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index d05168d96b..b7439af256 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -311,7 +311,7 @@ stages: - template: azure-templates-bootstrapper.yml # Build Native Tizen (Linux) parameters: name: native_tizen_linux - displayName: Native Tizen (Linux) + displayName: arm + x86 vmImage: $(VM_IMAGE_LINUX) packages: $(TIZEN_LINUX_PACKAGES) target: externals-tizen From 92e0511e83f2b2e93dadfb262f0951a06a733c7b Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:29:42 +0200 Subject: [PATCH 39/48] asdfasdf --- scripts/azure-pipelines.yml | 106 +++++++++++------------------------- 1 file changed, 32 insertions(+), 74 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index b7439af256..e86e192f3c 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -55,54 +55,44 @@ stages: parameters: updateBuild: true - - stage: native_android_windows + - stage: native_windows displayName: Native Android (Win) dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (Win) parameters: name: native_android_x86_windows - displayName: x86 + displayName: Android x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=x86 - template: azure-templates-bootstrapper.yml # Build Native Android|x64 (Win) parameters: name: native_android_x64_windows - displayName: x64 + displayName: Android x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=x64 - template: azure-templates-bootstrapper.yml # Build Native Android|arm (Win) parameters: name: native_android_arm_windows - displayName: arm + displayName: Android arm vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=arm - template: azure-templates-bootstrapper.yml # Build Native Android|arm64 (Win) parameters: name: native_android_arm64_windows - displayName: arm64 + displayName: Android arm64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-android additionalArgs: --buildarch=arm64 - - - stage: native_tizen_windows - displayName: Native Tizen (Win) - dependsOn: prepare - jobs: - template: azure-templates-bootstrapper.yml # Build Native Tizen (Win) parameters: name: native_tizen_windows - displayName: arm + x86 + displayName: Tizen vmImage: $(VM_IMAGE_WINDOWS) target: externals-tizen - - - stage: native_uwp_windows - displayName: Native UWP (Win) - dependsOn: prepare - jobs: - template: azure-templates-bootstrapper.yml # Build ANGLE UWP|x86 (Win) parameters: name: native_uwp_angle_x86_windows @@ -134,104 +124,94 @@ stages: - template: azure-templates-bootstrapper.yml # Build Native UWP|x86 (Win) parameters: name: native_uwp_x86_windows - displayName: x86 + displayName: UWP x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=x86 --skipAngle=true - template: azure-templates-bootstrapper.yml # Build Native UWP|x64 (Win) parameters: name: native_uwp_x64_windows - displayName: x64 + displayName: UWP x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=x64 --skipAngle=true - template: azure-templates-bootstrapper.yml # Build Native UWP|arm (Win) parameters: name: native_uwp_arm_windows - displayName: arm + displayName: UWP arm vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=arm --skipAngle=true - template: azure-templates-bootstrapper.yml # Build Native UWP|arm64 (Win) parameters: name: native_uwp_arm64_windows - displayName: arm64 + displayName: UWP arm64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-uwp additionalArgs: --buildarch=arm64 --skipAngle=true - - - stage: native_win32_windows - displayName: Native Win32 (Win) - dependsOn: prepare - jobs: - template: azure-templates-bootstrapper.yml # Build Native Win32|x86 (Win) parameters: name: native_win32_x86_windows - displayName: x86 + displayName: Win32 x86 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=x86 - template: azure-templates-bootstrapper.yml # Build Native Win32|x64 (Win) parameters: name: native_win32_x64_windows - displayName: x64 + displayName: Win32 x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=x64 - template: azure-templates-bootstrapper.yml # Build Native Win32|arm64 (Win) parameters: name: native_win32_arm64_windows - displayName: arm64 + displayName: Win32 arm64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-windows additionalArgs: --buildarch=arm64 - template: azure-templates-bootstrapper.yml # Build Native NanoServer|x64 (Win) parameters: name: native_win32_x64_nanoserver_windows - displayName: NanoServer x64 + displayName: Nano Server x64 vmImage: $(VM_IMAGE_WINDOWS) target: externals-nanoserver additionalArgs: --buildarch=x64 tools: - nano-api-scan - - stage: native_android_macos + - stage: native_macos displayName: Native Android (macOS) dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (macOS) parameters: name: native_android_x86_macos - displayName: x86 + displayName: Android x86 vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=x86 - template: azure-templates-bootstrapper.yml # Build Native Android|x64 (macOS) parameters: name: native_android_x64_macos - displayName: x64 + displayName: Android x64 vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=x64 - template: azure-templates-bootstrapper.yml # Build Native Android|arm (macOS) parameters: name: native_android_arm_macos - displayName: arm + displayName: Android arm vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=arm - template: azure-templates-bootstrapper.yml # Build Native Android|arm64 (macOS) parameters: name: native_android_arm64_macos - displayName: arm64 + displayName: Android arm64 vmImage: $(VM_IMAGE_MAC) target: externals-android additionalArgs: --buildarch=arm64 - - - stage: native_apple_macos - displayName: Native Apple (macOS) - dependsOn: prepare - jobs: - template: azure-templates-bootstrapper.yml # Build Native iOS (macOS) parameters: name: native_ios_macos @@ -256,20 +236,15 @@ stages: displayName: watchOS vmImage: $(VM_IMAGE_MAC) target: externals-watchos - - - stage: native_tizen_macos - displayName: Native Tizen (macOS) - dependsOn: prepare - jobs: - template: azure-templates-bootstrapper.yml # Build Native Tizen (macOS) parameters: name: native_tizen_macos - displayName: arm + x86 + displayName: Tizen vmImage: $(VM_IMAGE_MAC) target: externals-tizen condition: false # TODO: TIZEN INSTALL BUGS - - stage: native_linux_linux + - stage: native_linux displayName: Native Linux (Linux) dependsOn: prepare jobs: @@ -303,21 +278,16 @@ stages: dockerArgs: --build-arg TOOLCHAIN_ARCH=aarch64-none-linux-gnu --build-arg FONTCONFIG_ARCH=arm64 gnArgs: extra_cflags+=[ \'-Wno-psabi\' ] alt: gcc - - - stage: native_tizen_linux - displayName: Native Tizen (Linux) - dependsOn: prepare - jobs: - template: azure-templates-bootstrapper.yml # Build Native Tizen (Linux) parameters: name: native_tizen_linux - displayName: arm + x86 + displayName: Tizen vmImage: $(VM_IMAGE_LINUX) packages: $(TIZEN_LINUX_PACKAGES) target: externals-tizen - - stage: native_wasm_linux - displayName: Native WASM (Linux) + - stage: native_wasm + displayName: Native WASM dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native WASM (Linux) @@ -331,16 +301,10 @@ stages: - stage: managed displayName: Build Managed dependsOn: - - native_android_windows - - native_tizen_windows - - native_uwp_windows - - native_win32_windows - - native_android_macos - - native_apple_macos - - native_tizen_macos - - native_linux_linux - - native_tizen_linux - - native_wasm_linux + - native_windows + - native_macos + - native_linux + - native_wasm jobs: - template: azure-templates-bootstrapper.yml # Build Managed (Windows) parameters: @@ -475,16 +439,10 @@ stages: - stage: tests displayName: Tests dependsOn: - - native_android_windows - - native_tizen_windows - - native_uwp_windows - - native_win32_windows - - native_android_macos - - native_apple_macos - - native_tizen_macos - - native_linux_linux - - native_tizen_linux - - native_wasm_linux + - native_windows + - native_macos + - native_linux + - native_wasm jobs: - template: azure-templates-bootstrapper.yml # Tests (Windows) parameters: From 30408de7b43dc717301928f1dc17ed91858e05dd Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:33:07 +0200 Subject: [PATCH 40/48] asdfasdfasdfdsfasdfdf --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 4f3acbed79..755bade258 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -19,7 +19,7 @@ jobs: - template: azure-templates-bootstrapper.yml parameters: name: ${{ replace(format('native_linux_{0}_{1}_{2}_{3}_linux', item.arch, item.variant, build.name, item.alt), '__', '_') }} - displayName: ${{ item.arch }} ${{ replace(replace(replace(replace(format('({0}|{1}|{2}|{3})', item.arch, item.variant, build.name, item.alt), '||', '|'), '(|', '('), '|)', ')'), '|', ', ') }} + displayName: ${{ item.arch }} ${{ replace(replace(replace(replace(replace(format('({0}|{1}|{2}|{3})', item.arch, item.variant, build.name, item.alt), '||', '|'), '||', '|'), '(|', '('), '|)', ')'), '|', ', ') }} vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From add4a3a783b8bca80a656ba02f53541b4da599de Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:35:54 +0200 Subject: [PATCH 41/48] asdasdf --- scripts/azure-pipelines.yml | 6 +++--- scripts/azure-templates-linux-matrix.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index e86e192f3c..18b0bfdb66 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -56,7 +56,7 @@ stages: updateBuild: true - stage: native_windows - displayName: Native Android (Win) + displayName: Native Windows dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (Win) @@ -181,7 +181,7 @@ stages: - nano-api-scan - stage: native_macos - displayName: Native Android (macOS) + displayName: Native macOS dependsOn: prepare jobs: - template: azure-templates-bootstrapper.yml # Build Native Android|x86 (macOS) @@ -245,7 +245,7 @@ stages: condition: false # TODO: TIZEN INSTALL BUGS - stage: native_linux - displayName: Native Linux (Linux) + displayName: Native Linux dependsOn: prepare jobs: - template: azure-templates-linux-matrix.yml # Build Native Linux (Linux) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 755bade258..d7e6c84bd7 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -19,7 +19,7 @@ jobs: - template: azure-templates-bootstrapper.yml parameters: name: ${{ replace(format('native_linux_{0}_{1}_{2}_{3}_linux', item.arch, item.variant, build.name, item.alt), '__', '_') }} - displayName: ${{ item.arch }} ${{ replace(replace(replace(replace(replace(format('({0}|{1}|{2}|{3})', item.arch, item.variant, build.name, item.alt), '||', '|'), '||', '|'), '(|', '('), '|)', ')'), '|', ', ') }} + displayName: Linux ${{ replace(replace(replace(replace(replace(format('({0}|{1}|{2}|{3})', item.arch, item.variant, build.name, item.alt), '||', '|'), '||', '|'), '(|', '('), '|)', ')'), '|', ', ') }} vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} From 6df1c51ea8382b9f2ddfe47613dc30bd7046fbc8 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 02:54:31 +0200 Subject: [PATCH 42/48] sadfasdf --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index d7e6c84bd7..767ae7d6ed 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -18,7 +18,7 @@ jobs: - ${{ each item in parameters.matrix }}: - template: azure-templates-bootstrapper.yml parameters: - name: ${{ replace(format('native_linux_{0}_{1}_{2}_{3}_linux', item.arch, item.variant, build.name, item.alt), '__', '_') }} + name: ${{ replace(replace(format('native_linux_{0}_{1}_{2}_{3}_linux', item.arch, item.variant, build.name, item.alt), '__', '_'), '__', '_') }} displayName: Linux ${{ replace(replace(replace(replace(replace(format('({0}|{1}|{2}|{3})', item.arch, item.variant, build.name, item.alt), '||', '|'), '||', '|'), '(|', '('), '|)', ')'), '|', ', ') }} vmImage: $(VM_IMAGE_LINUX) docker: ${{ item.docker }} From 9a77b52d94bfcfccf94e22cb8bc9cb7f0b68feb4 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 03:00:33 +0200 Subject: [PATCH 43/48] asdfsadfasdf --- build.cake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/build.cake b/build.cake index c4eaab302b..d163e399ee 100644 --- a/build.cake +++ b/build.cake @@ -75,6 +75,11 @@ var TRACKED_NUGETS = new Dictionary { { "SkiaSharp.Vulkan.SharpVk", new Version (1, 57, 0) }, }; +Information("Arguments:"); +foreach (var arg in CAKE_ARGUMENTS) { + Information($" {arg.Key.PadRight(30)} {{0}}", arg.Value); +} + #load "cake/msbuild.cake" #load "cake/UtilsManaged.cake" #load "cake/externals.cake" From 1ac1413e8258e7f880e25a9c5f4c97c087a93f57 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 05:07:36 +0200 Subject: [PATCH 44/48] saddfasdf --- externals/skia | 2 +- scripts/azure-pipelines.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/externals/skia b/externals/skia index 67ea1fcaf0..844ccdd6ce 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit 67ea1fcaf0a3cf2aff46a16eac5d1fa92a6b21a5 +Subproject commit 844ccdd6ce1cad7a1ee0be62743d50f0ca5932ad diff --git a/scripts/azure-pipelines.yml b/scripts/azure-pipelines.yml index 18b0bfdb66..df09335723 100644 --- a/scripts/azure-pipelines.yml +++ b/scripts/azure-pipelines.yml @@ -364,8 +364,8 @@ stages: - native_linux_x64_nodeps_linux - native_linux_arm_nodeps_linux - native_linux_arm64_nodeps_linux - - native_linux_alpine_linux - - native_linux_alpine_nodeps_linux + - native_linux_x64_alpine_linux + - native_linux_x64_alpine_nodeps_linux - native_tizen_linux - stage: package From 46ba09fb67865d48dea1fa171146788d7ed76d25 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 05:37:27 +0200 Subject: [PATCH 45/48] dafasdf --- externals/skia | 2 +- native/linux/build.cake | 2 +- scripts/azure-templates-linux-matrix.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/externals/skia b/externals/skia index 844ccdd6ce..dfed46d7b9 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit 844ccdd6ce1cad7a1ee0be62743d50f0ca5932ad +Subproject commit dfed46d7b9bcc12306c47907daf3535a456ce836 diff --git a/native/linux/build.cake b/native/linux/build.cake index 516589b791..a419a2dc15 100644 --- a/native/linux/build.cake +++ b/native/linux/build.cake @@ -93,7 +93,7 @@ Task("libHarfBuzzSharp") $"target_os='linux' " + $"target_cpu='{arch}' " + $"is_official_build=true " + - $"strip_unused_symbols=false " + + $"visibility_hidden=false " + $"extra_asmflags=[] " + $"extra_cflags=[] " + $"extra_ldflags=[ '-static-libstdc++', '-static-libgcc', '-Wl,--version-script={map}' ] " + diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 767ae7d6ed..76cc576be9 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -24,4 +24,4 @@ jobs: docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} target: ${{ coalesce(item.target, 'externals-linux') }} - additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }} ${{ build.additionalArgs }} ${{ item.additionalArgs }} \ No newline at end of file + additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }} ${{ build.additionalArgs }} ${{ item.additionalArgs }} From 50c1231cd335a0c46450e2a2470faa86259b92b4 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 07:01:03 +0200 Subject: [PATCH 46/48] minitest --- scripts/azure-templates-linux-matrix.yml | 2 +- utils/NativeLibraryMiniTest/docker/.gitignore | 1 + utils/NativeLibraryMiniTest/docker/Dockerfile | 12 ++++++++++++ .../docker/NativeLibraryMiniTest.csproj | 13 +++++++++++++ utils/NativeLibraryMiniTest/docker/build.sh | 11 +++++++++++ utils/NativeLibraryMiniTest/source/Program.cs | 4 +++- 6 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 utils/NativeLibraryMiniTest/docker/.gitignore create mode 100644 utils/NativeLibraryMiniTest/docker/Dockerfile create mode 100644 utils/NativeLibraryMiniTest/docker/NativeLibraryMiniTest.csproj create mode 100755 utils/NativeLibraryMiniTest/docker/build.sh diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index 76cc576be9..b45fb7ce5b 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -24,4 +24,4 @@ jobs: docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} target: ${{ coalesce(item.target, 'externals-linux') }} - additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }} ${{ build.additionalArgs }} ${{ item.additionalArgs }} + additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }}${{ build.name }} ${{ build.additionalArgs }} ${{ item.additionalArgs }} diff --git a/utils/NativeLibraryMiniTest/docker/.gitignore b/utils/NativeLibraryMiniTest/docker/.gitignore new file mode 100644 index 0000000000..eef52883d8 --- /dev/null +++ b/utils/NativeLibraryMiniTest/docker/.gitignore @@ -0,0 +1 @@ +source/ diff --git a/utils/NativeLibraryMiniTest/docker/Dockerfile b/utils/NativeLibraryMiniTest/docker/Dockerfile new file mode 100644 index 0000000000..65f547c94a --- /dev/null +++ b/utils/NativeLibraryMiniTest/docker/Dockerfile @@ -0,0 +1,12 @@ +FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build +WORKDIR /app +COPY source . +RUN dotnet publish -c Release -o /app/out -r linux-arm + +FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim-arm32v7 +RUN apt-get update \ + && apt-get install -y --no-install-recommends libfontconfig1 \ + && rm -rf /var/lib/apt/lists/* +WORKDIR /app +COPY --from=build /app/out . +ENTRYPOINT [ "./NativeLibraryMiniTest" ] diff --git a/utils/NativeLibraryMiniTest/docker/NativeLibraryMiniTest.csproj b/utils/NativeLibraryMiniTest/docker/NativeLibraryMiniTest.csproj new file mode 100644 index 0000000000..21aa313d61 --- /dev/null +++ b/utils/NativeLibraryMiniTest/docker/NativeLibraryMiniTest.csproj @@ -0,0 +1,13 @@ + + + + Exe + netcoreapp3.1 + True + + + + + + + \ No newline at end of file diff --git a/utils/NativeLibraryMiniTest/docker/build.sh b/utils/NativeLibraryMiniTest/docker/build.sh new file mode 100755 index 0000000000..b5a3158b13 --- /dev/null +++ b/utils/NativeLibraryMiniTest/docker/build.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + +mkdir -p $DIR/source +cp -R $DIR/../source/* $DIR/source/ +cp -R $DIR/NativeLibraryMiniTest.csproj $DIR/source/ +cp -R $DIR/../../../output/native/linux/arm/libSkiaSharp.so $DIR/source/ + +(cd $DIR && docker build --tag skiasharp/minitest .) +(cd $DIR && docker run --rm skiasharp/minitest) diff --git a/utils/NativeLibraryMiniTest/source/Program.cs b/utils/NativeLibraryMiniTest/source/Program.cs index 0a708704cc..26aef70ef9 100644 --- a/utils/NativeLibraryMiniTest/source/Program.cs +++ b/utils/NativeLibraryMiniTest/source/Program.cs @@ -13,6 +13,9 @@ unsafe class Program { static int Main() { Console.WriteLine("Starting test..."); + Console.WriteLine($"OS = {RuntimeInformation.OSDescription}"); + Console.WriteLine($"OS Arch = {RuntimeInformation.OSArchitecture}"); + Console.WriteLine($"Proc Arch = {RuntimeInformation.ProcessArchitecture}"); Console.WriteLine("Version test..."); Console.WriteLine($"sk_version_get_milestone() = {sk_version_get_milestone()}"); @@ -49,7 +52,6 @@ static int Main() { } [DllImport(SKIA, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.LPStr)] static extern void* sk_version_get_string(); [DllImport(SKIA, CallingConvention = CallingConvention.Cdecl)] From 1a25cbbdbc3e0821182854ea23b9929698789975 Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 18:57:32 +0200 Subject: [PATCH 47/48] ssadf --- scripts/azure-templates-linux-matrix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/azure-templates-linux-matrix.yml b/scripts/azure-templates-linux-matrix.yml index b45fb7ce5b..50826bc2e9 100644 --- a/scripts/azure-templates-linux-matrix.yml +++ b/scripts/azure-templates-linux-matrix.yml @@ -24,4 +24,4 @@ jobs: docker: ${{ item.docker }} dockerArgs: ${{ item.dockerArgs }} target: ${{ coalesce(item.target, 'externals-linux') }} - additionalArgs: --buildarch=${{ item.arch }} --variant=${{ item.variant }}${{ build.name }} ${{ build.additionalArgs }} ${{ item.additionalArgs }} + additionalArgs: --buildarch=${{ item.arch }} --variant=${{ coalesce(item.variant, 'linux') }}${{ build.name }} ${{ build.additionalArgs }} ${{ item.additionalArgs }} From b35d6ffb13e3e41763226859296dd0fe0952e46f Mon Sep 17 00:00:00 2001 From: Matthew Leibowitz Date: Sun, 5 Jul 2020 23:09:31 +0200 Subject: [PATCH 48/48] uodates --- externals/skia | 2 +- utils/NativeLibraryMiniTest/docker/build.sh | 1 + utils/NativeLibraryMiniTest/docker/nuget.config | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 utils/NativeLibraryMiniTest/docker/nuget.config diff --git a/externals/skia b/externals/skia index dfed46d7b9..dce303a105 160000 --- a/externals/skia +++ b/externals/skia @@ -1 +1 @@ -Subproject commit dfed46d7b9bcc12306c47907daf3535a456ce836 +Subproject commit dce303a105cd8f03cd911bd0b6d662caa830e971 diff --git a/utils/NativeLibraryMiniTest/docker/build.sh b/utils/NativeLibraryMiniTest/docker/build.sh index b5a3158b13..2470eb0183 100755 --- a/utils/NativeLibraryMiniTest/docker/build.sh +++ b/utils/NativeLibraryMiniTest/docker/build.sh @@ -5,6 +5,7 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" mkdir -p $DIR/source cp -R $DIR/../source/* $DIR/source/ cp -R $DIR/NativeLibraryMiniTest.csproj $DIR/source/ +cp -R $DIR/nuget.config $DIR/source/ cp -R $DIR/../../../output/native/linux/arm/libSkiaSharp.so $DIR/source/ (cd $DIR && docker build --tag skiasharp/minitest .) diff --git a/utils/NativeLibraryMiniTest/docker/nuget.config b/utils/NativeLibraryMiniTest/docker/nuget.config new file mode 100644 index 0000000000..b2a3df49f8 --- /dev/null +++ b/utils/NativeLibraryMiniTest/docker/nuget.config @@ -0,0 +1,8 @@ + + + + + + + +