meson: Vendor glslang

This commit is contained in:
Matt Borgerson 2024-07-26 17:21:01 -07:00 committed by mborgerson
parent cd130f85d0
commit ff5f2768b6
3 changed files with 23 additions and 12 deletions

2
debian/rules vendored
View File

@ -63,7 +63,7 @@ override_dh_auto_configure:
override_dh_auto_build:
./build.sh ${XEMU_BUILD_OPTIONS} ${common_configure_opts} || \
{ echo ===== BUILD FAILED ===; tail -n 50 config.log; exit 1; }
{ echo ===== BUILD FAILED ===; cat build/meson-logs/meson-log.txt; exit 1; }
cp debian/copyright debian/qemu.deb.copyright
cp dist/LICENSE.txt debian/copyright

View File

@ -1181,10 +1181,10 @@ if not get_option('opengl').auto() or have_system or have_vhost_user_gpu
endif
vulkan = not_found
libglslang = not_found
if targetos == 'windows'
vulkan = declare_dependency(
compile_args: ['-DVK_USE_PLATFORM_WIN32_KHR', '-DVK_NO_PROTOTYPES'],
)
vulkan = declare_dependency(compile_args: ['-DVK_USE_PLATFORM_WIN32_KHR'])
libglslang = declare_dependency(link_args: [
'-lglslang',
'-lMachineIndependent',
@ -1195,14 +1195,21 @@ if targetos == 'windows'
])
elif targetos == 'linux'
vulkan = dependency('vulkan')
libglslang = declare_dependency(link_args: [
'-lglslang',
'-lMachineIndependent',
'-lGenericCodeGen',
'-lSPIRV',
'-lSPIRV-Tools',
'-lSPIRV-Tools-opt'
])
endif
if vulkan.found() and not libglslang.found()
cmake = import('cmake')
# FIXME: Get spirv-tools to enable opt.
glslang_opts = cmake.subproject_options()
glslang_opts.add_cmake_defines({'ENABLE_OPT': false})
glslang_subpro = cmake.subproject('glslang', options: glslang_opts)
libglslang = declare_dependency(link_with: [
glslang_subpro.target('glslang'),
glslang_subpro.target('MachineIndependent'),
glslang_subpro.target('GenericCodeGen'),
glslang_subpro.target('SPIRV'),
], include_directories: ['subprojects' / 'glslang']
)
endif
subdir('thirdparty')

4
subprojects/glslang.wrap Normal file
View File

@ -0,0 +1,4 @@
[wrap-git]
url=https://github.com/KhronosGroup/glslang
revision=vulkan-sdk-1.3.283.0
depth=1