|
@@ -18,6 +18,9 @@ config_host = keyval.load(meson.current_build_dir() / 'config-host.mak')
|
|
|
enable_modules = 'CONFIG_MODULES' in config_host
|
|
|
enable_static = 'CONFIG_STATIC' in config_host
|
|
|
|
|
|
+# Allow both shared and static libraries unless --enable-static
|
|
|
+static_kwargs = enable_static ? {'static': true} : {}
|
|
|
+
|
|
|
# Temporary directory used for files created while
|
|
|
# configure runs. Since it is in the build directory
|
|
|
# we can safely blow away any previous version of it
|
|
@@ -311,14 +314,14 @@ endif
|
|
|
pixman = not_found
|
|
|
if have_system or have_tools
|
|
|
pixman = dependency('pixman-1', required: have_system, version:'>=0.21.8',
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
endif
|
|
|
pam = not_found
|
|
|
if 'CONFIG_AUTH_PAM' in config_host
|
|
|
pam = cc.find_library('pam')
|
|
|
endif
|
|
|
libaio = cc.find_library('aio', required: false)
|
|
|
-zlib = dependency('zlib', required: true, static: enable_static)
|
|
|
+zlib = dependency('zlib', required: true, kwargs: static_kwargs)
|
|
|
linux_io_uring = not_found
|
|
|
if 'CONFIG_LINUX_IO_URING' in config_host
|
|
|
linux_io_uring = declare_dependency(compile_args: config_host['LINUX_IO_URING_CFLAGS'].split(),
|
|
@@ -333,7 +336,7 @@ libnfs = not_found
|
|
|
if not get_option('libnfs').auto() or have_block
|
|
|
libnfs = dependency('libnfs', version: '>=1.9.3',
|
|
|
required: get_option('libnfs'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
endif
|
|
|
|
|
|
libattr_test = '''
|
|
@@ -354,7 +357,7 @@ if not get_option('attr').disabled()
|
|
|
else
|
|
|
libattr = cc.find_library('attr', has_headers: ['attr/xattr.h'],
|
|
|
required: get_option('attr'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if libattr.found() and not \
|
|
|
cc.links(libattr_test, dependencies: libattr, args: '-DCONFIG_LIBATTR')
|
|
|
libattr = not_found
|
|
@@ -381,14 +384,14 @@ seccomp = not_found
|
|
|
if not get_option('seccomp').auto() or have_system or have_tools
|
|
|
seccomp = dependency('libseccomp', version: '>=2.3.0',
|
|
|
required: get_option('seccomp'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
endif
|
|
|
|
|
|
libcap_ng = not_found
|
|
|
if not get_option('cap_ng').auto() or have_system or have_tools
|
|
|
libcap_ng = cc.find_library('cap-ng', has_headers: ['cap-ng.h'],
|
|
|
required: get_option('cap_ng'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
if libcap_ng.found() and not cc.links('''
|
|
|
#include <cap-ng.h>
|
|
@@ -409,7 +412,7 @@ if get_option('xkbcommon').auto() and not have_system and not have_tools
|
|
|
xkbcommon = not_found
|
|
|
else
|
|
|
xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
endif
|
|
|
vde = not_found
|
|
|
if config_host.has_key('CONFIG_VDE')
|
|
@@ -445,13 +448,13 @@ libiscsi = not_found
|
|
|
if not get_option('libiscsi').auto() or have_block
|
|
|
libiscsi = dependency('libiscsi', version: '>=1.9.0',
|
|
|
required: get_option('libiscsi'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
endif
|
|
|
zstd = not_found
|
|
|
if not get_option('zstd').auto() or have_block
|
|
|
zstd = dependency('libzstd', version: '>=1.4.0',
|
|
|
required: get_option('zstd'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
endif
|
|
|
gbm = not_found
|
|
|
if 'CONFIG_GBM' in config_host
|
|
@@ -468,14 +471,14 @@ if not get_option('curl').auto() or have_block
|
|
|
curl = dependency('libcurl', version: '>=7.29.0',
|
|
|
method: 'pkg-config',
|
|
|
required: get_option('curl'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
libudev = not_found
|
|
|
if targetos == 'linux' and (have_system or have_tools)
|
|
|
libudev = dependency('libudev',
|
|
|
method: 'pkg-config',
|
|
|
required: get_option('libudev'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
|
|
|
mpathlibs = [libudev]
|
|
@@ -511,17 +514,17 @@ if targetos == 'linux' and have_tools and not get_option('mpath').disabled()
|
|
|
}'''
|
|
|
libmpathpersist = cc.find_library('mpathpersist',
|
|
|
required: get_option('mpath'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if libmpathpersist.found()
|
|
|
mpathlibs += libmpathpersist
|
|
|
if enable_static
|
|
|
mpathlibs += cc.find_library('devmapper',
|
|
|
required: get_option('mpath'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
mpathlibs += cc.find_library('multipath',
|
|
|
required: get_option('mpath'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
foreach lib: mpathlibs
|
|
|
if not lib.found()
|
|
|
mpathlibs = []
|
|
@@ -571,7 +574,7 @@ if have_system and not get_option('curses').disabled()
|
|
|
curses = dependency(curses_dep,
|
|
|
required: false,
|
|
|
method: 'pkg-config',
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
endforeach
|
|
|
msg = get_option('curses').enabled() ? 'curses library not found' : ''
|
|
@@ -596,7 +599,7 @@ if have_system and not get_option('curses').disabled()
|
|
|
foreach curses_libname : curses_libname_list
|
|
|
libcurses = cc.find_library(curses_libname,
|
|
|
required: false,
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if libcurses.found()
|
|
|
if cc.links(curses_test, args: curses_compile_args, dependencies: libcurses)
|
|
|
curses = declare_dependency(compile_args: curses_compile_args,
|
|
@@ -647,7 +650,7 @@ brlapi = not_found
|
|
|
if not get_option('brlapi').auto() or have_system
|
|
|
brlapi = cc.find_library('brlapi', has_headers: ['brlapi.h'],
|
|
|
required: get_option('brlapi'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if brlapi.found() and not cc.links('''
|
|
|
#include <brlapi.h>
|
|
|
#include <stddef.h>
|
|
@@ -663,7 +666,7 @@ endif
|
|
|
|
|
|
sdl = not_found
|
|
|
if not get_option('sdl').auto() or (have_system and not cocoa.found())
|
|
|
- sdl = dependency('sdl2', required: get_option('sdl'), static: enable_static)
|
|
|
+ sdl = dependency('sdl2', required: get_option('sdl'), kwargs: static_kwargs)
|
|
|
sdl_image = not_found
|
|
|
endif
|
|
|
if sdl.found()
|
|
@@ -671,7 +674,7 @@ if sdl.found()
|
|
|
sdl = declare_dependency(compile_args: '-Wno-undef',
|
|
|
dependencies: sdl)
|
|
|
sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
else
|
|
|
if get_option('sdl_image').enabled()
|
|
|
error('sdl-image required, but SDL was @0@'.format(
|
|
@@ -683,10 +686,10 @@ endif
|
|
|
rbd = not_found
|
|
|
if not get_option('rbd').auto() or have_block
|
|
|
librados = cc.find_library('rados', required: get_option('rbd'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'],
|
|
|
required: get_option('rbd'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if librados.found() and librbd.found() and cc.links('''
|
|
|
#include <stdio.h>
|
|
|
#include <rbd/librbd.h>
|
|
@@ -705,7 +708,7 @@ glusterfs_iocb_has_stat = false
|
|
|
if not get_option('glusterfs').auto() or have_block
|
|
|
glusterfs = dependency('glusterfs-api', version: '>=3',
|
|
|
required: get_option('glusterfs'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
if glusterfs.found()
|
|
|
glusterfs_ftruncate_has_stat = cc.links('''
|
|
|
#include <glusterfs/api/glfs.h>
|
|
@@ -744,7 +747,7 @@ libbzip2 = not_found
|
|
|
if not get_option('bzip2').auto() or have_block
|
|
|
libbzip2 = cc.find_library('bz2', has_headers: ['bzlib.h'],
|
|
|
required: get_option('bzip2'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if libbzip2.found() and not cc.links('''
|
|
|
#include <bzlib.h>
|
|
|
int main(void) { BZ2_bzlibVersion(); return 0; }''', dependencies: libbzip2)
|
|
@@ -761,7 +764,7 @@ liblzfse = not_found
|
|
|
if not get_option('lzfse').auto() or have_block
|
|
|
liblzfse = cc.find_library('lzfse', has_headers: ['lzfse.h'],
|
|
|
required: get_option('lzfse'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
if liblzfse.found() and not cc.links('''
|
|
|
#include <lzfse.h>
|
|
@@ -798,12 +801,12 @@ if not get_option('gtk').auto() or (have_system and not cocoa.found())
|
|
|
gtk = dependency('gtk+-3.0', version: '>=3.22.0',
|
|
|
method: 'pkg-config',
|
|
|
required: get_option('gtk'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if gtk.found()
|
|
|
gtkx11 = dependency('gtk+-x11-3.0', version: '>=3.22.0',
|
|
|
method: 'pkg-config',
|
|
|
required: false,
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
gtk = declare_dependency(dependencies: [gtk, gtkx11])
|
|
|
endif
|
|
|
endif
|
|
@@ -816,7 +819,7 @@ endif
|
|
|
x11 = not_found
|
|
|
if gtkx11.found() or 'lm32-softmmu' in target_dirs
|
|
|
x11 = dependency('x11', method: 'pkg-config', required: gtkx11.found(),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
vnc = not_found
|
|
|
png = not_found
|
|
@@ -825,12 +828,12 @@ sasl = not_found
|
|
|
if get_option('vnc').enabled()
|
|
|
vnc = declare_dependency() # dummy dependency
|
|
|
png = dependency('libpng', required: get_option('vnc_png'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
jpeg = dependency('libjpeg', required: get_option('vnc_jpeg'),
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
sasl = cc.find_library('sasl2', has_headers: ['sasl/sasl.h'],
|
|
|
required: get_option('vnc_sasl'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
if sasl.found()
|
|
|
sasl = declare_dependency(dependencies: sasl,
|
|
|
compile_args: '-DSTRUCT_IOVEC_DEFINED')
|
|
@@ -841,7 +844,7 @@ snappy = not_found
|
|
|
if not get_option('snappy').auto() or have_system
|
|
|
snappy = cc.find_library('snappy', has_headers: ['snappy-c.h'],
|
|
|
required: get_option('snappy'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
if snappy.found() and not cc.links('''
|
|
|
#include <snappy-c.h>
|
|
@@ -858,7 +861,7 @@ lzo = not_found
|
|
|
if not get_option('lzo').auto() or have_system
|
|
|
lzo = cc.find_library('lzo2', has_headers: ['lzo/lzo1x.h'],
|
|
|
required: get_option('lzo'),
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
if lzo.found() and not cc.links('''
|
|
|
#include <lzo/lzo1x.h>
|
|
@@ -893,7 +896,7 @@ u2f = not_found
|
|
|
if have_system
|
|
|
u2f = dependency('u2f-emu', required: get_option('u2f'),
|
|
|
method: 'pkg-config',
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
endif
|
|
|
usbredir = not_found
|
|
|
if 'CONFIG_USB_REDIR' in config_host
|
|
@@ -920,7 +923,7 @@ if 'CONFIG_TASN1' in config_host
|
|
|
link_args: config_host['TASN1_LIBS'].split())
|
|
|
endif
|
|
|
keyutils = dependency('libkeyutils', required: false,
|
|
|
- method: 'pkg-config', static: enable_static)
|
|
|
+ method: 'pkg-config', kwargs: static_kwargs)
|
|
|
|
|
|
has_gettid = cc.has_function('gettid')
|
|
|
|
|
@@ -979,7 +982,7 @@ endif
|
|
|
|
|
|
fuse = dependency('fuse3', required: get_option('fuse'),
|
|
|
version: '>=3.1', method: 'pkg-config',
|
|
|
- static: enable_static)
|
|
|
+ kwargs: static_kwargs)
|
|
|
|
|
|
fuse_lseek = not_found
|
|
|
if not get_option('fuse_lseek').disabled()
|
|
@@ -1367,7 +1370,7 @@ capstone_opt = get_option('capstone')
|
|
|
if capstone_opt in ['enabled', 'auto', 'system']
|
|
|
have_internal = fs.exists(meson.current_source_dir() / 'capstone/Makefile')
|
|
|
capstone = dependency('capstone', version: '>=4.0',
|
|
|
- static: enable_static, method: 'pkg-config',
|
|
|
+ kwargs: static_kwargs, method: 'pkg-config',
|
|
|
required: capstone_opt == 'system' or
|
|
|
capstone_opt == 'enabled' and not have_internal)
|
|
|
if capstone.found()
|
|
@@ -1477,7 +1480,7 @@ if have_system
|
|
|
slirp_opt = get_option('slirp')
|
|
|
if slirp_opt in ['enabled', 'auto', 'system']
|
|
|
have_internal = fs.exists(meson.current_source_dir() / 'slirp/meson.build')
|
|
|
- slirp = dependency('slirp', static: enable_static,
|
|
|
+ slirp = dependency('slirp', kwargs: static_kwargs,
|
|
|
method: 'pkg-config',
|
|
|
required: slirp_opt == 'system' or
|
|
|
slirp_opt == 'enabled' and not have_internal)
|
|
@@ -1556,7 +1559,7 @@ fdt_opt = get_option('fdt')
|
|
|
if have_system
|
|
|
if fdt_opt in ['enabled', 'auto', 'system']
|
|
|
have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt')
|
|
|
- fdt = cc.find_library('fdt', static: enable_static,
|
|
|
+ fdt = cc.find_library('fdt', kwargs: static_kwargs,
|
|
|
required: fdt_opt == 'system' or
|
|
|
fdt_opt == 'enabled' and not have_internal)
|
|
|
if fdt.found() and cc.links('''
|