From 6f94694789dd4a632940def84eab067bd6880dc5 Mon Sep 17 00:00:00 2001 From: Throows Date: Thu, 26 Dec 2024 21:07:15 +0100 Subject: [PATCH] workflow: fix slirp static compile --- meson.build | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 7f6f638676..7f28871776 100644 --- a/meson.build +++ b/meson.build @@ -1217,8 +1217,20 @@ endif slirp = not_found if not get_option('slirp').auto() or have_system - slirp = dependency('slirp', required: get_option('slirp'), - method: 'pkg-config') + slirp_dep = dependency('slirp', required: get_option('slirp'), + method: 'pkg-config', + static: true) + + # https://gitlab.freedesktop.org/slirp/libslirp/-/merge_requests/134 + slirp_cflags = [] + if host_os == 'windows' and get_option('prefer_static') + slirp_cflags += ['-DLIBSLIRP_STATIC'] + endif + + slirp = declare_dependency(dependencies: [slirp_dep], + compile_args: slirp_cflags, + version: slirp_dep.version()) + # slirp < 4.7 is incompatible with CFI support in QEMU. This is because # it passes function pointers within libslirp as callbacks for timers. # When using a system-wide shared libslirp, the type information for the