gstreamer/ci/meson/vs2019-x64-native-file.txt
Nirbheek Chauhan 673b742751 ci: Add a Windows native cross-arm64 job with a new image
Needed an update to the windows Dockerfile to:

1. Install the 'UniversalBuildTools' workload for Cerbero
2. Install ARM and ARM64 workloads for cross-uwp-universal in Cerbero
3. Install VS 2019 since we need that for ARM64 NEON support in Opus

We can't test UWP in gstreamer.git because glib needs custom patches
for that. It will be tested in Cerbero.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1570>
2022-01-28 02:01:39 +05:30

38 lines
1.5 KiB
Text

[constants]
vs_path = 'C:\BuildTools'
msvc_version = '14.29.30133'
msvc_version_dir = vs_path / 'VC\Tools\MSVC' / msvc_version
msvc_x64_bindir = msvc_version_dir / 'bin\Hostx64\x64'
msvc_x64_libdir = msvc_version_dir / 'lib\x64'
wk_path = 'C:\Program Files (x86)\Windows Kits'
wk_version = '10.0.19041.0'
wk_x64_libdir = wk_path / '10\lib' / wk_version / 'um\x64'
wk_x64_crt_libdir = wk_path / '10\lib' / wk_version / 'ucrt\x64'
# Forcibly link to x64 libs when using native linker, otherwise the LIB
# variable in the env will cause link.exe to pick up libs from the cross
# msvc libdir. A better fix might be to use a wrapper script that calls
# link.exe inside the correct VS environment for x64.
msvc_x64_libs = [msvc_x64_libdir / 'msvcrt.lib', msvc_x64_libdir / 'msvcrtd.lib', msvc_x64_libdir / 'vcruntime.lib', msvc_x64_libdir / 'oldnames.lib', wk_x64_crt_libdir / 'ucrt.lib']
[host_machine]
system = 'windows'
cpu_family = 'x86_64'
cpu = 'x86_64'
endian = 'little'
[properties]
needs_exe_wrapper = true
[built-in options]
# Ensure that x64 libs are used for linking even when we're inside, say, an
# arm64 VS environment
c_link_args = ['/LIBPATH:' + wk_x64_libdir] + msvc_x64_libs
cpp_link_args = ['/LIBPATH:' + wk_x64_libdir] + msvc_x64_libs
[binaries]
lib = msvc_x64_bindir / 'lib.exe'
c = msvc_x64_bindir / 'cl.exe'
c_ld = msvc_x64_bindir / 'link.exe'
cpp = msvc_x64_bindir / 'cl.exe'
cpp_ld = msvc_x64_bindir / 'link.exe'
pkgconfig = 'false'