diff options
Diffstat (limited to 'subprojects/packagefiles')
10 files changed, 818 insertions, 36 deletions
diff --git a/subprojects/packagefiles/SPIRV-Cross/msvc_static_build.diff b/subprojects/packagefiles/SPIRV-Cross/msvc_static_build.diff new file mode 100644 index 0000000..5047537 --- /dev/null +++ b/subprojects/packagefiles/SPIRV-Cross/msvc_static_build.diff @@ -0,0 +1,17 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index b2ab5ed..49d7d5a 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,6 +31,12 @@ endif() + # Avoid error on Android NDK 27+'s CMake files + cmake_policy(SET CMP0057 NEW) + ++# https://github.com/KhronosGroup/SPIRV-Cross/issues/2341 ++if (POLICY CMP0091) ++ cmake_policy(SET CMP0091 NEW) ++endif() ++set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") ++ + project(SPIRV-Cross LANGUAGES CXX C) + enable_testing() + diff --git a/subprojects/packagefiles/ffmpeg-compat/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch b/subprojects/packagefiles/ffmpeg-compat/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch new file mode 100644 index 0000000..b4fec43 --- /dev/null +++ b/subprojects/packagefiles/ffmpeg-compat/ffmpeg.git-effadce6c756247ea8bae32dc13bb3e6f464f0eb.patch @@ -0,0 +1,73 @@ +From: Rémi Denis-Courmont <remi@remlab.net> +Date: Sun, 16 Jul 2023 15:18:02 +0000 (+0300) +Subject: avcodec/x86/mathops: clip constants used with shift instructions within inline assembly +X-Git-Tag: n6.1~1007 +X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/effadce6c756247ea8bae32dc13bb3e6f464f0eb + +avcodec/x86/mathops: clip constants used with shift instructions within inline assembly + +Fixes assembling with binutil as >= 2.41 + +Signed-off-by: James Almer <jamrial@gmail.com> +--- + +diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h +index 6298f5ed19..ca7e2dffc1 100644 +--- a/libavcodec/x86/mathops.h ++++ b/libavcodec/x86/mathops.h +@@ -35,12 +35,20 @@ + static av_always_inline av_const int MULL(int a, int b, unsigned shift) + { + int rt, dummy; ++ if (__builtin_constant_p(shift)) + __asm__ ( + "imull %3 \n\t" + "shrdl %4, %%edx, %%eax \n\t" + :"=a"(rt), "=d"(dummy) +- :"a"(a), "rm"(b), "ci"((uint8_t)shift) ++ :"a"(a), "rm"(b), "i"(shift & 0x1F) + ); ++ else ++ __asm__ ( ++ "imull %3 \n\t" ++ "shrdl %4, %%edx, %%eax \n\t" ++ :"=a"(rt), "=d"(dummy) ++ :"a"(a), "rm"(b), "c"((uint8_t)shift) ++ ); + return rt; + } + +@@ -113,19 +121,31 @@ __asm__ volatile(\ + // avoid +32 for shift optimization (gcc should do that ...) + #define NEG_SSR32 NEG_SSR32 + static inline int32_t NEG_SSR32( int32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("sarl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("sarl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + + #define NEG_USR32 NEG_USR32 + static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ ++ if (__builtin_constant_p(s)) + __asm__ ("shrl %1, %0\n\t" + : "+r" (a) +- : "ic" ((uint8_t)(-s)) ++ : "i" (-s & 0x1F) + ); ++ else ++ __asm__ ("shrl %1, %0\n\t" ++ : "+r" (a) ++ : "c" ((uint8_t)(-s)) ++ ); + return a; + } + diff --git a/subprojects/packagefiles/ffmpeg-compat/meson.build b/subprojects/packagefiles/ffmpeg-compat/meson.build new file mode 100644 index 0000000..7aeeb71 --- /dev/null +++ b/subprojects/packagefiles/ffmpeg-compat/meson.build @@ -0,0 +1,197 @@ +project('ffmpeg', 'c', version: '3.4.14', meson_version: '>=0.57.0') + +ffmpeg_version_string = meson.project_version() + +compiler = meson.get_compiler('c') + +cpu = target_machine.cpu_family() +is_64bit = (cpu == 'x86_64' or cpu == 'aarch64') +is_debug = get_option('debug') +is_minsize = get_option('optimization') == 's' +is_linux = host_machine.system() == 'linux' +is_windows = host_machine.system() == 'windows' +is_msvc = compiler.get_id() == 'msvc' or compiler.get_id() == 'clang-cl' +is_mingw = is_windows and not is_msvc +is_android = host_machine.system() == 'android' + +extra_options = [] + +if not is_debug + extra_options += ['--disable-debug'] +endif + +if is_minsize + extra_options += ['--enable-small'] +endif + +extra_options += ['--arch=' + cpu] +extra_options += ['--cc=' + compiler.cmd_array()[0]] +if meson.is_cross_build() + if is_msvc + extra_options += ['--ld=' + compiler.get_linker_id()] + endif + extra_options += ['--ar=' + meson.get_external_property('ar', 'ar')] + extra_options += ['--nm=' + meson.get_external_property('nm', 'nm')] +endif + +if cpu == 'x86_64' or cpu == 'x86' + extra_options += ['--enable-x86asm'] +endif + +if is_windows + extra_options += ['--extra-cflags=-D_WIN32_WINNT=0x0502'] # Windows Server 2003 with SP1, Windows XP with SP2. + if is_64bit + extra_options += ['--target-os=win64'] + else + extra_options += ['--target-os=win32'] + endif + if is_msvc + extra_options += ['--toolchain=msvc'] + endif + extra_options += ['--enable-w32threads'] +elif is_android + extra_options += ['--target-os=android'] +endif + +#'--extra-ldflags=-Lbuild/subprojects/libalabaster -l:libalabaster.a', +#'--malloc-prefix=al_', + +decoders = 'flac,mp3,mp3float,aac,opus,vorbis,h264,hevc,av1,vp9' +decoders += ',pcm_s32be,pcm_s32le,pcm_s24be,pcm_s24le,pcm_s16be,pcm_s16le' +#decoders += ',pcm_f32be,pcm_f32le,pcm_s32le_planar,pcm_s16be_planar,pcm_s16le_planar' +decoders += ',dca,eac3' +decoders += ',pcm_dvd,mpegvideo,mpeg2video' +#decoders += ',ass,srt' + +demuxers = '' +parsers = '' +if not get_option('sink-only') + demuxers += 'flac,mp3,aac,wav,matroska,mov,avi' + demuxers += ',pcm_s32be,pcm_s32le,pcm_s24be,pcm_s24le,pcm_s16be,pcm_s16le' + #demuxers += ',pcm_f32be,pcm_f32le,pcm_s32le_planar,pcm_s16be_planar,pcm_s16le_planar' + demuxers += ',eac3' + demuxers += ',mpegts,mpegtsraw,mpegps,mpegvideo' + #demuxers += ',ass,srt' + parsers += 'aac,opus,h264,hevc,av1,vp9' + parsers += ',dca' + parsers += ',mpegaudio,mpegvideo,dvd_nav' + extra_options += ['--enable-bzlib'] # matroska +endif + +extra_options += ['--enable-zlib'] +decoders += ',png,apng,mjpeg,jpeg2000,gif,' +if not get_option('sink-only') + demuxers += ',image_png_pipe,image2,mjpeg,image2pipe,image_jpeg_pipe,gif' + parsers += ',png,mjpeg,jpeg2000,gif' +endif + +bsfs = '' +if not get_option('sink-only') + bsfs += 'extract_extradata,mp3_header_decompress' +endif + +hwaccels = '' +if get_option('codec-hwaccel').enabled() + if get_option('renderer-api') == 'vulkan' + extra_options += ['--enable-vulkan'] + hwaccels += 'h264_vulkan,hevc_vulkan,av1_vulkan,vp9_vulkan' + elif is_windows + extra_options += ['--enable-d3d11va'] + hwaccels += 'h264_d3d11va,hevc_d3d11va,av1_d3d11va,vp9_d3d11va' + hwaccels += ',h264_d3d11va2,hevc_d3d11va2,av1_d3d11va2,vp9_d3d11va2' + #extra_options += ['--enable-dxva2'] + #hwaccels += ',h264_dxva2,hevc_dxva2,av1_dxva2,vp9_dxva2' + elif is_android + extra_options += ['--enable-jni', '--enable-mediacodec'] + decoders += ',h264_mediacodec,hevc_mediacodec,av1_mediacodec,vp9_mediacodec' + elif is_linux + extra_options += ['--enable-vaapi'] + endif +else + extra_options += ['--disable-hwaccels'] +endif + +protocols = '' +if not get_option('sink-only') + protocols += 'cache' +endif + +if decoders != '' + extra_options += ['--enable-decoder=' + decoders] +endif + +if demuxers != '' + extra_options += ['--enable-demuxer=' + demuxers] +endif + +if parsers != '' + extra_options += ['--enable-parser=' + parsers] +endif + +if bsfs != '' + extra_options += ['--enable-bsf=' + bsfs] +endif + +if protocols != '' + extra_options += ['--enable-protocol=' + protocols] +endif + +if hwaccels != '' + extra_options += ['--enable-hwaccel=' + hwaccels] +endif + +if is_linux or is_mingw + extra_options += ['--enable-libsoxr'] +endif + +ext_proj = import('unstable-external_project') + +proj = ext_proj.add_project('configure', + configure_options: [ + '--prefix=@PREFIX@', + '--libdir=@PREFIX@/@LIBDIR@', + '--incdir=@PREFIX@/@INCLUDEDIR@', + '--enable-pic', + '--enable-static', + '--disable-shared', + '--disable-logging', + '--disable-all', + '--disable-autodetect', + '--disable-everything', + '--disable-programs', + '--disable-doc', + '--disable-htmlpages', + '--disable-manpages', + '--disable-podpages', + '--disable-txtpages', + '--disable-safe-bitstream-reader', + '--disable-schannel', + '--disable-network', + '--disable-securetransport', + #'--disable-iconv', + '--enable-gpl', + '--enable-version3', + '--disable-nonfree', + '--enable-runtime-cpudetect', + '--enable-asm', + '--enable-inline-asm', + '--enable-avutil', + '--enable-avformat', + '--enable-avcodec', + #'--enable-avdevice', + '--enable-swresample', + '--enable-swscale', + '--disable-indevs', + '--disable-outdevs', + extra_options + ], + cross_configure_options: ['--enable-cross-compile'], + verbose: true) + +avutil = proj.dependency('avutil') +avformat = proj.dependency('avformat') +avcodec = proj.dependency('avcodec') +#avdevice = proj.dependency('avdevice') +swresample = proj.dependency('swresample') +swscale = proj.dependency('swscale') +ffmpeg_include = declare_dependency(include_directories: include_directories('.', 'build/')) diff --git a/subprojects/packagefiles/ffmpeg/meson.build b/subprojects/packagefiles/ffmpeg/meson.build index 0ecae9e..8bcce34 100644 --- a/subprojects/packagefiles/ffmpeg/meson.build +++ b/subprojects/packagefiles/ffmpeg/meson.build @@ -24,11 +24,14 @@ if is_minsize extra_options += ['--enable-small'] endif -extra_options += ['--cc=' + compiler.cmd_array()[0]] extra_options += ['--arch=' + cpu] +extra_options += ['--cc=' + compiler.cmd_array()[0]] if meson.is_cross_build() - extra_options += ['--nm=' + meson.get_external_property('nm', 'nm')] + if is_msvc + extra_options += ['--ld=' + compiler.get_linker_id()] + endif extra_options += ['--ar=' + meson.get_external_property('ar', 'ar')] + extra_options += ['--nm=' + meson.get_external_property('nm', 'nm')] endif if cpu == 'x86_64' or cpu == 'x86' @@ -52,32 +55,45 @@ endif #'--extra-ldflags=-Lbuild/subprojects/libalabaster -l:libalabaster.a', #'--malloc-prefix=al_', -decoders = 'flac,mp3,mp3float,aac,opus,vorbis,alac,mjpeg,jpeg2000,gif,h264,hevc,av1,vp9,vp8' -decoders += ',pcm_f32be,pcm_s32be,pcm_s32le,pcm_s32le_planar,pcm_f32le,pcm_s24be,pcm_s24le,pcm_s16be,pcm_s16be_planar,pcm_s16le,pcm_s16le_planar' -decoders += ',dca' -#decoders += ',pcm_dvd,mpegvideo,mpeg2video' +decoders = 'flac,mp3,mp3float,aac,opus,vorbis,h264,hevc,av1,vp9' +decoders += ',pcm_s32be,pcm_s32le,pcm_s24be,pcm_s24le,pcm_s16be,pcm_s16le' +#decoders += ',pcm_f32be,pcm_f32le,pcm_s32le_planar,pcm_s16be_planar,pcm_s16le_planar' +decoders += ',dca,eac3' +decoders += ',pcm_dvd,mpegvideo,mpeg2video' #decoders += ',ass,srt' -demuxers = 'flac,mp3,aac,wav,image2,mjpeg,image2pipe,image_jpeg_pipe,gif,matroska,mov,avi' -#demuxers += ',mpegts,mpegtsraw,mpegps,mpegvideo' -#demuxers += ',ass,srt' - -parsers = 'aac,opus,mjpeg,jpeg2000,gif,h264,hevc,av1,vp9,vp8' -parsers += ',dca' -#parsers += ',mpegaudio,mpegvideo,dvd_nav' +demuxers = '' +parsers = '' +if not get_option('sink-only') + demuxers += 'flac,mp3,aac,wav,matroska,mov,avi' + demuxers += ',pcm_s32be,pcm_s32le,pcm_s24be,pcm_s24le,pcm_s16be,pcm_s16le' + #demuxers += ',pcm_f32be,pcm_f32le,pcm_s32le_planar,pcm_s16be_planar,pcm_s16le_planar' + demuxers += ',eac3' + demuxers += ',mpegts,mpegtsraw,mpegps,mpegvideo' + #demuxers += ',ass,srt' + parsers += 'aac,opus,h264,hevc,av1,vp9' + parsers += ',dca' + parsers += ',mpegaudio,mpegvideo,dvd_nav' + extra_options += ['--enable-bzlib'] # matroska +endif extra_options += ['--enable-zlib'] -decoders += ',png,apng' -demuxers += ',image_png_pipe' -parsers += ',png' +decoders += ',png,apng,mjpeg,jpeg2000,gif,' +if not get_option('sink-only') + demuxers += ',image_png_pipe,image2,mjpeg,image2pipe,image_jpeg_pipe,gif' + parsers += ',png,mjpeg,jpeg2000,gif' +endif -bsfs = 'extract_extradata,mp3_header_decompress' +bsfs = '' +if not get_option('sink-only') + bsfs += 'extract_extradata,mp3_header_decompress' +endif hwaccels = '' if get_option('codec-hwaccel').enabled() if get_option('renderer-api') == 'vulkan' extra_options += ['--enable-vulkan'] - hwaccels += 'h264_vulkan,hevc_vulkan,av1_vulkan' + hwaccels += 'h264_vulkan,hevc_vulkan,av1_vulkan,vp9_vulkan' elif is_windows extra_options += ['--enable-d3d11va'] hwaccels += 'h264_d3d11va,hevc_d3d11va,av1_d3d11va,vp9_d3d11va' @@ -90,14 +106,39 @@ if get_option('codec-hwaccel').enabled() elif is_linux extra_options += ['--enable-vaapi'] endif +else + extra_options += ['--disable-hwaccels'] +endif + +protocols = '' +if not get_option('sink-only') + protocols += 'cache' +endif + +if decoders != '' + extra_options += ['--enable-decoder=' + decoders] +endif + +if demuxers != '' + extra_options += ['--enable-demuxer=' + demuxers] +endif + +if parsers != '' + extra_options += ['--enable-parser=' + parsers] +endif + +if bsfs != '' + extra_options += ['--enable-bsf=' + bsfs] +endif + +if protocols != '' + extra_options += ['--enable-protocol=' + protocols] endif if hwaccels != '' extra_options += ['--enable-hwaccel=' + hwaccels] endif -protocols = 'cache' - if is_linux or is_mingw extra_options += ['--enable-libsoxr'] endif @@ -122,17 +163,11 @@ proj = ext_proj.add_project('configure', '--disable-manpages', '--disable-podpages', '--disable-txtpages', - '--disable-bzlib', - '--disable-error-resilience', - '--disable-iconv', + '--disable-safe-bitstream-reader', '--disable-schannel', '--disable-network', '--disable-securetransport', - '--disable-sdl2', - '--disable-symver', - '--disable-faan', - '--disable-alsa', - '--disable-xlib', + #'--disable-iconv', '--enable-gpl', '--enable-version3', '--disable-nonfree', @@ -142,16 +177,11 @@ proj = ext_proj.add_project('configure', '--enable-avutil', '--enable-avformat', '--enable-avcodec', - '--enable-avdevice', + #'--enable-avdevice', '--enable-swresample', '--enable-swscale', '--disable-indevs', '--disable-outdevs', - '--enable-demuxer=' + demuxers, - '--enable-decoder=' + decoders, - '--enable-parser=' + parsers, - '--enable-bsf=' + bsfs, - '--enable-protocol=' + protocols, extra_options ], cross_configure_options: ['--enable-cross-compile'], @@ -160,7 +190,7 @@ proj = ext_proj.add_project('configure', avutil = proj.dependency('avutil') avformat = proj.dependency('avformat') avcodec = proj.dependency('avcodec') -avdevice = proj.dependency('avdevice') +#avdevice = proj.dependency('avdevice') swresample = proj.dependency('swresample') swscale = proj.dependency('swscale') ffmpeg_include = declare_dependency(include_directories: include_directories('.', 'build/')) diff --git a/subprojects/packagefiles/ffmpeg/msvc_build_conform.diff b/subprojects/packagefiles/ffmpeg/msvc_build_conform.diff new file mode 100644 index 0000000..3aff7e9 --- /dev/null +++ b/subprojects/packagefiles/ffmpeg/msvc_build_conform.diff @@ -0,0 +1,20 @@ +--- a/configure 2025-03-02 19:22:08.000000000 -0500 ++++ b/configure 2025-05-17 18:43:08.854727216 -0400 +@@ -5184,7 +5184,7 @@ + DEPCCFLAGS=$_flags + fi + +-if $ar 2>&1 | grep -q Microsoft; then ++if $ar 2>&1 | grep -q Microsoft || [ "$ar" == "llvm-lib" ]; then + arflags="-nologo" + ar_o='-out:$@' + elif $ar 2>&1 | grep -q "\[D\] "; then +@@ -5878,6 +5878,8 @@ + enabled x86_32 && check_ldflags -LARGEADDRESSAWARE + add_cppflags -DWIN32_LEAN_AND_MEAN + shlibdir_default="$bindir_default" ++ LIBPREF="" ++ LIBSUF=".lib" + SLIBPREF="" + SLIBSUF=".dll" + SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' diff --git a/subprojects/packagefiles/libplacebo/max_align_msvc.diff b/subprojects/packagefiles/libplacebo/max_align_msvc.diff new file mode 100644 index 0000000..13df154 --- /dev/null +++ b/subprojects/packagefiles/libplacebo/max_align_msvc.diff @@ -0,0 +1,14 @@ +diff --git a/src/pl_alloc.h b/src/pl_alloc.h +index 78df08a..29718eb 100644 +--- a/src/pl_alloc.h ++++ b/src/pl_alloc.h +@@ -83,6 +83,9 @@ char *pl_strndup0(void *parent, const char *str, size_t size); + // `priv` at the address of `pub` + sizeof(pub), rounded up to the maximum + // alignment requirements. + ++#if defined(_MSC_VER) ++typedef double max_align_t; ++#endif + #define PL_ALIGN_MEM(size) PL_ALIGN2(size, alignof(max_align_t)) + + #define PL_PRIV(pub) \ diff --git a/subprojects/packagefiles/miniaudio/meson.build b/subprojects/packagefiles/miniaudio/meson.build index c980787..3c9e4c2 100644 --- a/subprojects/packagefiles/miniaudio/meson.build +++ b/subprojects/packagefiles/miniaudio/meson.build @@ -1,2 +1,2 @@ -project('miniaudio', 'c', version: 'git-29c17fc') +project('miniaudio', 'c', version: 'git-47020e4') miniaudio = declare_dependency(include_directories: include_directories('.')) diff --git a/subprojects/packagefiles/miniaudio/miniaudio_wasapi_drain_tweak.diff b/subprojects/packagefiles/miniaudio/miniaudio_wasapi_drain_tweak.diff new file mode 100644 index 0000000..56da73b --- /dev/null +++ b/subprojects/packagefiles/miniaudio/miniaudio_wasapi_drain_tweak.diff @@ -0,0 +1,13 @@ +diff --git a/miniaudio.h b/miniaudio.h +index c12ba87..4d9bbb0 100644 +--- a/miniaudio.h ++++ b/miniaudio.h +@@ -24501,7 +24501,7 @@ static ma_result ma_device_stop__wasapi_nolock(ma_device* pDevice) + */ + if (ma_atomic_bool32_get(&pDevice->wasapi.isStartedPlayback)) { + /* We need to make sure we put a timeout here or else we'll risk getting stuck in a deadlock in some cases. */ +- DWORD waitTime = (pDevice->wasapi.actualBufferSizeInFramesPlayback * 1000) / pDevice->playback.internalSampleRate; ++ DWORD waitTime = ma_calculate_buffer_size_in_milliseconds_from_frames(pDevice->wasapi.actualBufferSizeInFramesPlayback, pDevice->playback.internalSampleRate); + + if (pDevice->playback.shareMode == ma_share_mode_exclusive) { + WaitForSingleObject((HANDLE)pDevice->wasapi.hEventPlayback, waitTime); diff --git a/subprojects/packagefiles/msvc-wine/msvc-wine-shebang-nixos.diff b/subprojects/packagefiles/msvc-wine/msvc-wine-shebang-nixos.diff new file mode 100644 index 0000000..37295a9 --- /dev/null +++ b/subprojects/packagefiles/msvc-wine/msvc-wine-shebang-nixos.diff @@ -0,0 +1,405 @@ +https://github.com/mstorsjo/msvc-wine/pull/187 + +diff --git a/fixinclude b/fixinclude +index 4a8c733..bd5280c 100755 +--- a/fixinclude ++++ b/fixinclude +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/bin/env perl + # + # Copyright (c) 2019 Martin Storsjo + # +diff --git a/install.sh b/install.sh +index ac00d9f..039922f 100755 +--- a/install.sh ++++ b/install.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/usr/bin/env sh + # + # Copyright (c) 2019 Martin Storsjo + # +diff --git a/lowercase b/lowercase +index ee10cc7..32902f7 100755 +--- a/lowercase ++++ b/lowercase +@@ -1,4 +1,4 @@ +-#!/usr/bin/perl ++#!/usr/bin/env perl + # + # Copyright (c) 2019 Martin Storsjo + # +diff --git a/msvcenv-native.sh b/msvcenv-native.sh +index e83c687..f3a99f1 100755 +--- a/msvcenv-native.sh ++++ b/msvcenv-native.sh +@@ -1,4 +1,4 @@ +-#!/bin/sh ++#!/usr/bin/env sh + # + # Copyright (c) 2019 Martin Storsjo + # +@@ -33,9 +33,9 @@ else + if [ ! -f "$ENV" ]; then + echo $ENV doesn\'t exist + else +- export INCLUDE="$(bash -c ". $ENV && /bin/echo \"\$INCLUDE\"" | sed s/z://g | sed 's/\\/\//g')" +- export LIB="$(bash -c ". $ENV && /bin/echo \"\$LIB\"" | sed s/z://g | sed 's/\\/\//g')" +- MSVCARCH="$(bash -c ". $ENV && /bin/echo \"\$ARCH\"")" ++ export INCLUDE="$(bash -c ". $ENV && /usr/bin/env echo \"\$INCLUDE\"" | sed s/z://g | sed 's/\\/\//g')" ++ export LIB="$(bash -c ". $ENV && /usr/bin/env echo \"\$LIB\"" | sed s/z://g | sed 's/\\/\//g')" ++ MSVCARCH="$(bash -c ". $ENV && /usr/bin/env echo \"\$ARCH\"")" + case $MSVCARCH in + x86) TARGET_ARCH=i686 ;; + x64) TARGET_ARCH=x86_64 ;; +diff --git a/test/test-asm.sh b/test/test-asm.sh +index 5774c02..ba9511b 100755 +--- a/test/test-asm.sh ++++ b/test/test-asm.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Martin Storsjo + # +diff --git a/test/test-cl.sh b/test/test-cl.sh +index 250f092..41fe51b 100755 +--- a/test/test-cl.sh ++++ b/test/test-cl.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Huang Qinjin + # +diff --git a/test/test-clang-cl-cmds.sh b/test/test-clang-cl-cmds.sh +index 885835b..9409d2b 100755 +--- a/test/test-clang-cl-cmds.sh ++++ b/test/test-clang-cl-cmds.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Martin Storsjo + # +diff --git a/test/test-clang-cl.sh b/test/test-clang-cl.sh +index ba7f82d..f99b745 100755 +--- a/test/test-clang-cl.sh ++++ b/test/test-clang-cl.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Martin Storsjo + # +diff --git a/test/test-cmake-clang-cl.sh b/test/test-cmake-clang-cl.sh +index 78485ab..4a6ce3f 100755 +--- a/test/test-cmake-clang-cl.sh ++++ b/test/test-cmake-clang-cl.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Martin Storsjo + # +diff --git a/test/test-cmake.sh b/test/test-cmake.sh +index 6beface..994d07d 100755 +--- a/test/test-cmake.sh ++++ b/test/test-cmake.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Huang Qinjin + # +diff --git a/test/test-dumpbin.sh b/test/test-dumpbin.sh +index 68608d4..dd3841d 100755 +--- a/test/test-dumpbin.sh ++++ b/test/test-dumpbin.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Huang Qinjin + # +diff --git a/test/test-mc.sh b/test/test-mc.sh +index 836a210..2e7d8ab 100755 +--- a/test/test-mc.sh ++++ b/test/test-mc.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2024 Mark Harmstone + # +diff --git a/test/test-meson.sh b/test/test-meson.sh +index 68ac271..bfd6d6d 100755 +--- a/test/test-meson.sh ++++ b/test/test-meson.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Martin Storsjo + # +diff --git a/test/test-midl.sh b/test/test-midl.sh +index 45d9f92..8f9319e 100755 +--- a/test/test-midl.sh ++++ b/test/test-midl.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Martin Storsjo + # +diff --git a/test/test-msbuild.sh b/test/test-msbuild.sh +index 00f03c6..faf284a 100755 +--- a/test/test-msbuild.sh ++++ b/test/test-msbuild.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2024 Sergey Kvachonok + # +diff --git a/test/test-mt.sh b/test/test-mt.sh +index 5f1881b..eda11ab 100755 +--- a/test/test-mt.sh ++++ b/test/test-mt.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Huang Qinjin + # +diff --git a/test/test-vcpkg.sh b/test/test-vcpkg.sh +index dc3d3ce..79ebe51 100755 +--- a/test/test-vcpkg.sh ++++ b/test/test-vcpkg.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2024 Huang Qinjin + # +diff --git a/test/test-wdk-msbuild.sh b/test/test-wdk-msbuild.sh +index b37b3de..90f4189 100755 +--- a/test/test-wdk-msbuild.sh ++++ b/test/test-wdk-msbuild.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2024 Sergey Kvachonok + # +diff --git a/test/test.sh b/test/test.sh +index 1825216..ad9f9c1 100755 +--- a/test/test.sh ++++ b/test/test.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2023 Huang Qinjin + # +diff --git a/vsdownload.py b/vsdownload.py +index d9b4dcf..7598eec 100755 +--- a/vsdownload.py ++++ b/vsdownload.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python3 ++#!/usr/bin/env python3 + # + # Copyright (c) 2019 Martin Storsjo + # +diff --git a/wdk-download.sh b/wdk-download.sh +index e0ea631..7fa8bf0 100755 +--- a/wdk-download.sh ++++ b/wdk-download.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2024 Sergey Kvachonok + # +diff --git a/wrappers/armasm b/wrappers/armasm +index 3797431..bf8ea5a 100755 +--- a/wrappers/armasm ++++ b/wrappers/armasm +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/armasm64 b/wrappers/armasm64 +index fdfdb38..eb1553f 100755 +--- a/wrappers/armasm64 ++++ b/wrappers/armasm64 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/cl b/wrappers/cl +index 35c1b23..6ca6a56 100755 +--- a/wrappers/cl ++++ b/wrappers/cl +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/cmd b/wrappers/cmd +index 88a39f0..a7ab236 100755 +--- a/wrappers/cmd ++++ b/wrappers/cmd +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/dumpbin b/wrappers/dumpbin +index c6f7f9e..18c5591 100755 +--- a/wrappers/dumpbin ++++ b/wrappers/dumpbin +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/findstr b/wrappers/findstr +index 1146022..136ac0e 100755 +--- a/wrappers/findstr ++++ b/wrappers/findstr +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2024 Huang Qinjin + # +diff --git a/wrappers/lib b/wrappers/lib +index 143da0c..3967675 100755 +--- a/wrappers/lib ++++ b/wrappers/lib +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/link b/wrappers/link +index dba1774..53920d4 100755 +--- a/wrappers/link ++++ b/wrappers/link +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/mc b/wrappers/mc +index c1c5d80..bf71882 100755 +--- a/wrappers/mc ++++ b/wrappers/mc +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/midl b/wrappers/midl +index dd34988..adddcfa 100755 +--- a/wrappers/midl ++++ b/wrappers/midl +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/ml b/wrappers/ml +index db671c7..a5d537b 100755 +--- a/wrappers/ml ++++ b/wrappers/ml +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/ml64 b/wrappers/ml64 +index 0708ebe..df65803 100755 +--- a/wrappers/ml64 ++++ b/wrappers/ml64 +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/msbuild b/wrappers/msbuild +index 65bbf8f..53fdd8f 100755 +--- a/wrappers/msbuild ++++ b/wrappers/msbuild +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2024 Sergey Kvachonok + # +diff --git a/wrappers/msvcenv.sh b/wrappers/msvcenv.sh +index 101e9bb..2d2a918 100755 +--- a/wrappers/msvcenv.sh ++++ b/wrappers/msvcenv.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/mt b/wrappers/mt +index edebd75..ed92f96 100755 +--- a/wrappers/mt ++++ b/wrappers/mt +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/nmake b/wrappers/nmake +index 88102d1..3eaf0f5 100755 +--- a/wrappers/nmake ++++ b/wrappers/nmake +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/rc b/wrappers/rc +index f7b8d97..7afb1ad 100755 +--- a/wrappers/rc ++++ b/wrappers/rc +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # +diff --git a/wrappers/wine-msvc.sh b/wrappers/wine-msvc.sh +index a267283..bb08891 100755 +--- a/wrappers/wine-msvc.sh ++++ b/wrappers/wine-msvc.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/usr/bin/env bash + # + # Copyright (c) 2018 Martin Storsjo + # diff --git a/subprojects/packagefiles/shaderc/no_hlsl_compile.diff b/subprojects/packagefiles/shaderc/no_hlsl_compile.diff new file mode 100644 index 0000000..ef96592 --- /dev/null +++ b/subprojects/packagefiles/shaderc/no_hlsl_compile.diff @@ -0,0 +1,13 @@ +diff --git a/libshaderc_util/src/compiler.cc b/libshaderc_util/src/compiler.cc +index 9bf9a43..507e669 100644 +--- a/libshaderc_util/src/compiler.cc ++++ b/libshaderc_util/src/compiler.cc +@@ -286,7 +286,7 @@ std::tuple<bool, std::vector<uint32_t>, size_t> Compiler::Compile( + bases[static_cast<int>(UniformKind::StorageBuffer)]); + shader.setShiftUavBinding( + bases[static_cast<int>(UniformKind::UnorderedAccessView)]); +- shader.setHlslIoMapping(hlsl_iomap_); ++ //shader.setHlslIoMapping(hlsl_iomap_); + shader.setResourceSetBinding( + hlsl_explicit_bindings_[static_cast<int>(used_shader_stage)]); + shader.setEnvClient(target_client_info.client, |