meson: accept either shared or static libraries if --disable-static
Meson's "static" argument to cc.find_library is a tri-state. By default Meson *prefers* a shared library, which basically means using -l to look for it; instead, "static: false" *requires* a shared library. Of course, "static: true" requires a static library, which is all good for --enable-static builds. For --disable-static, "static: false" is rarely desirable; it does not match what the configure script used to do and the test is more complex (and harder to debug if it fails, which was reported by Peter Lieven for librbd). Reported-by: Peter Lieven <pl@kamp.de> Tested-by: Peter Lieven <pl@kamp.de> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									8db0b20415
								
							
						
					
					
						commit
						d7dedf428f
					
				@ -100,7 +100,7 @@ In meson.build::
 | 
				
			|||||||
  # Detect dependency
 | 
					  # Detect dependency
 | 
				
			||||||
  sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
 | 
					  sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
 | 
				
			||||||
                         method: 'pkg-config',
 | 
					                         method: 'pkg-config',
 | 
				
			||||||
                         static: enable_static)
 | 
					                         kwargs: static_kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Create config-host.h (if applicable)
 | 
					  # Create config-host.h (if applicable)
 | 
				
			||||||
  config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
 | 
					  config_host_data.set('CONFIG_SDL_IMAGE', sdl_image.found())
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										79
									
								
								meson.build
									
									
									
									
									
								
							
							
						
						
									
										79
									
								
								meson.build
									
									
									
									
									
								
							@ -18,6 +18,9 @@ config_host = keyval.load(meson.current_build_dir() / 'config-host.mak')
 | 
				
			|||||||
enable_modules = 'CONFIG_MODULES' in config_host
 | 
					enable_modules = 'CONFIG_MODULES' in config_host
 | 
				
			||||||
enable_static = 'CONFIG_STATIC' 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
 | 
					# Temporary directory used for files created while
 | 
				
			||||||
# configure runs. Since it is in the build directory
 | 
					# configure runs. Since it is in the build directory
 | 
				
			||||||
# we can safely blow away any previous version of it
 | 
					# we can safely blow away any previous version of it
 | 
				
			||||||
@ -311,14 +314,14 @@ endif
 | 
				
			|||||||
pixman = not_found
 | 
					pixman = not_found
 | 
				
			||||||
if have_system or have_tools
 | 
					if have_system or have_tools
 | 
				
			||||||
  pixman = dependency('pixman-1', required: have_system, version:'>=0.21.8',
 | 
					  pixman = dependency('pixman-1', required: have_system, version:'>=0.21.8',
 | 
				
			||||||
                      method: 'pkg-config', static: enable_static)
 | 
					                      method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
pam = not_found
 | 
					pam = not_found
 | 
				
			||||||
if 'CONFIG_AUTH_PAM' in config_host
 | 
					if 'CONFIG_AUTH_PAM' in config_host
 | 
				
			||||||
  pam = cc.find_library('pam')
 | 
					  pam = cc.find_library('pam')
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
libaio = cc.find_library('aio', required: false)
 | 
					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
 | 
					linux_io_uring = not_found
 | 
				
			||||||
if 'CONFIG_LINUX_IO_URING' in config_host
 | 
					if 'CONFIG_LINUX_IO_URING' in config_host
 | 
				
			||||||
  linux_io_uring = declare_dependency(compile_args: config_host['LINUX_IO_URING_CFLAGS'].split(),
 | 
					  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
 | 
					if not get_option('libnfs').auto() or have_block
 | 
				
			||||||
  libnfs = dependency('libnfs', version: '>=1.9.3',
 | 
					  libnfs = dependency('libnfs', version: '>=1.9.3',
 | 
				
			||||||
                      required: get_option('libnfs'),
 | 
					                      required: get_option('libnfs'),
 | 
				
			||||||
                      method: 'pkg-config', static: enable_static)
 | 
					                      method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
libattr_test = '''
 | 
					libattr_test = '''
 | 
				
			||||||
@ -354,7 +357,7 @@ if not get_option('attr').disabled()
 | 
				
			|||||||
  else
 | 
					  else
 | 
				
			||||||
    libattr = cc.find_library('attr', has_headers: ['attr/xattr.h'],
 | 
					    libattr = cc.find_library('attr', has_headers: ['attr/xattr.h'],
 | 
				
			||||||
                              required: get_option('attr'),
 | 
					                              required: get_option('attr'),
 | 
				
			||||||
                              static: enable_static)
 | 
					                              kwargs: static_kwargs)
 | 
				
			||||||
    if libattr.found() and not \
 | 
					    if libattr.found() and not \
 | 
				
			||||||
      cc.links(libattr_test, dependencies: libattr, args: '-DCONFIG_LIBATTR')
 | 
					      cc.links(libattr_test, dependencies: libattr, args: '-DCONFIG_LIBATTR')
 | 
				
			||||||
      libattr = not_found
 | 
					      libattr = not_found
 | 
				
			||||||
@ -381,14 +384,14 @@ seccomp = not_found
 | 
				
			|||||||
if not get_option('seccomp').auto() or have_system or have_tools
 | 
					if not get_option('seccomp').auto() or have_system or have_tools
 | 
				
			||||||
  seccomp = dependency('libseccomp', version: '>=2.3.0',
 | 
					  seccomp = dependency('libseccomp', version: '>=2.3.0',
 | 
				
			||||||
                       required: get_option('seccomp'),
 | 
					                       required: get_option('seccomp'),
 | 
				
			||||||
                       method: 'pkg-config', static: enable_static)
 | 
					                       method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
libcap_ng = not_found
 | 
					libcap_ng = not_found
 | 
				
			||||||
if not get_option('cap_ng').auto() or have_system or have_tools
 | 
					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'],
 | 
					  libcap_ng = cc.find_library('cap-ng', has_headers: ['cap-ng.h'],
 | 
				
			||||||
                              required: get_option('cap_ng'),
 | 
					                              required: get_option('cap_ng'),
 | 
				
			||||||
                              static: enable_static)
 | 
					                              kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
if libcap_ng.found() and not cc.links('''
 | 
					if libcap_ng.found() and not cc.links('''
 | 
				
			||||||
   #include <cap-ng.h>
 | 
					   #include <cap-ng.h>
 | 
				
			||||||
@ -409,7 +412,7 @@ if get_option('xkbcommon').auto() and not have_system and not have_tools
 | 
				
			|||||||
  xkbcommon = not_found
 | 
					  xkbcommon = not_found
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
 | 
					  xkbcommon = dependency('xkbcommon', required: get_option('xkbcommon'),
 | 
				
			||||||
                         method: 'pkg-config', static: enable_static)
 | 
					                         method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
vde = not_found
 | 
					vde = not_found
 | 
				
			||||||
if config_host.has_key('CONFIG_VDE')
 | 
					if config_host.has_key('CONFIG_VDE')
 | 
				
			||||||
@ -445,13 +448,13 @@ libiscsi = not_found
 | 
				
			|||||||
if not get_option('libiscsi').auto() or have_block
 | 
					if not get_option('libiscsi').auto() or have_block
 | 
				
			||||||
  libiscsi = dependency('libiscsi', version: '>=1.9.0',
 | 
					  libiscsi = dependency('libiscsi', version: '>=1.9.0',
 | 
				
			||||||
                         required: get_option('libiscsi'),
 | 
					                         required: get_option('libiscsi'),
 | 
				
			||||||
                         method: 'pkg-config', static: enable_static)
 | 
					                         method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
zstd = not_found
 | 
					zstd = not_found
 | 
				
			||||||
if not get_option('zstd').auto() or have_block
 | 
					if not get_option('zstd').auto() or have_block
 | 
				
			||||||
  zstd = dependency('libzstd', version: '>=1.4.0',
 | 
					  zstd = dependency('libzstd', version: '>=1.4.0',
 | 
				
			||||||
                    required: get_option('zstd'),
 | 
					                    required: get_option('zstd'),
 | 
				
			||||||
                    method: 'pkg-config', static: enable_static)
 | 
					                    method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
gbm = not_found
 | 
					gbm = not_found
 | 
				
			||||||
if 'CONFIG_GBM' in config_host
 | 
					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',
 | 
					  curl = dependency('libcurl', version: '>=7.29.0',
 | 
				
			||||||
                    method: 'pkg-config',
 | 
					                    method: 'pkg-config',
 | 
				
			||||||
                    required: get_option('curl'),
 | 
					                    required: get_option('curl'),
 | 
				
			||||||
                    static: enable_static)
 | 
					                    kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
libudev = not_found
 | 
					libudev = not_found
 | 
				
			||||||
if targetos == 'linux' and (have_system or have_tools)
 | 
					if targetos == 'linux' and (have_system or have_tools)
 | 
				
			||||||
  libudev = dependency('libudev',
 | 
					  libudev = dependency('libudev',
 | 
				
			||||||
                       method: 'pkg-config',
 | 
					                       method: 'pkg-config',
 | 
				
			||||||
                       required: get_option('libudev'),
 | 
					                       required: get_option('libudev'),
 | 
				
			||||||
                       static: enable_static)
 | 
					                       kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mpathlibs = [libudev]
 | 
					mpathlibs = [libudev]
 | 
				
			||||||
@ -511,17 +514,17 @@ if targetos == 'linux' and have_tools and not get_option('mpath').disabled()
 | 
				
			|||||||
      }'''
 | 
					      }'''
 | 
				
			||||||
  libmpathpersist = cc.find_library('mpathpersist',
 | 
					  libmpathpersist = cc.find_library('mpathpersist',
 | 
				
			||||||
                                    required: get_option('mpath'),
 | 
					                                    required: get_option('mpath'),
 | 
				
			||||||
                                    static: enable_static)
 | 
					                                    kwargs: static_kwargs)
 | 
				
			||||||
  if libmpathpersist.found()
 | 
					  if libmpathpersist.found()
 | 
				
			||||||
    mpathlibs += libmpathpersist
 | 
					    mpathlibs += libmpathpersist
 | 
				
			||||||
    if enable_static
 | 
					    if enable_static
 | 
				
			||||||
      mpathlibs += cc.find_library('devmapper',
 | 
					      mpathlibs += cc.find_library('devmapper',
 | 
				
			||||||
                                     required: get_option('mpath'),
 | 
					                                     required: get_option('mpath'),
 | 
				
			||||||
                                     static: enable_static)
 | 
					                                     kwargs: static_kwargs)
 | 
				
			||||||
    endif
 | 
					    endif
 | 
				
			||||||
    mpathlibs += cc.find_library('multipath',
 | 
					    mpathlibs += cc.find_library('multipath',
 | 
				
			||||||
                                 required: get_option('mpath'),
 | 
					                                 required: get_option('mpath'),
 | 
				
			||||||
                                 static: enable_static)
 | 
					                                 kwargs: static_kwargs)
 | 
				
			||||||
    foreach lib: mpathlibs
 | 
					    foreach lib: mpathlibs
 | 
				
			||||||
      if not lib.found()
 | 
					      if not lib.found()
 | 
				
			||||||
        mpathlibs = []
 | 
					        mpathlibs = []
 | 
				
			||||||
@ -571,7 +574,7 @@ if have_system and not get_option('curses').disabled()
 | 
				
			|||||||
      curses = dependency(curses_dep,
 | 
					      curses = dependency(curses_dep,
 | 
				
			||||||
                          required: false,
 | 
					                          required: false,
 | 
				
			||||||
                          method: 'pkg-config',
 | 
					                          method: 'pkg-config',
 | 
				
			||||||
                          static: enable_static)
 | 
					                          kwargs: static_kwargs)
 | 
				
			||||||
    endif
 | 
					    endif
 | 
				
			||||||
  endforeach
 | 
					  endforeach
 | 
				
			||||||
  msg = get_option('curses').enabled() ? 'curses library not found' : ''
 | 
					  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
 | 
					      foreach curses_libname : curses_libname_list
 | 
				
			||||||
        libcurses = cc.find_library(curses_libname,
 | 
					        libcurses = cc.find_library(curses_libname,
 | 
				
			||||||
                                    required: false,
 | 
					                                    required: false,
 | 
				
			||||||
                                    static: enable_static)
 | 
					                                    kwargs: static_kwargs)
 | 
				
			||||||
        if libcurses.found()
 | 
					        if libcurses.found()
 | 
				
			||||||
          if cc.links(curses_test, args: curses_compile_args, dependencies: libcurses)
 | 
					          if cc.links(curses_test, args: curses_compile_args, dependencies: libcurses)
 | 
				
			||||||
            curses = declare_dependency(compile_args: curses_compile_args,
 | 
					            curses = declare_dependency(compile_args: curses_compile_args,
 | 
				
			||||||
@ -647,7 +650,7 @@ brlapi = not_found
 | 
				
			|||||||
if not get_option('brlapi').auto() or have_system
 | 
					if not get_option('brlapi').auto() or have_system
 | 
				
			||||||
  brlapi = cc.find_library('brlapi', has_headers: ['brlapi.h'],
 | 
					  brlapi = cc.find_library('brlapi', has_headers: ['brlapi.h'],
 | 
				
			||||||
                         required: get_option('brlapi'),
 | 
					                         required: get_option('brlapi'),
 | 
				
			||||||
                         static: enable_static)
 | 
					                         kwargs: static_kwargs)
 | 
				
			||||||
  if brlapi.found() and not cc.links('''
 | 
					  if brlapi.found() and not cc.links('''
 | 
				
			||||||
     #include <brlapi.h>
 | 
					     #include <brlapi.h>
 | 
				
			||||||
     #include <stddef.h>
 | 
					     #include <stddef.h>
 | 
				
			||||||
@ -663,7 +666,7 @@ endif
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
sdl = not_found
 | 
					sdl = not_found
 | 
				
			||||||
if not get_option('sdl').auto() or (have_system and not cocoa.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
 | 
					  sdl_image = not_found
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
if sdl.found()
 | 
					if sdl.found()
 | 
				
			||||||
@ -671,7 +674,7 @@ if sdl.found()
 | 
				
			|||||||
  sdl = declare_dependency(compile_args: '-Wno-undef',
 | 
					  sdl = declare_dependency(compile_args: '-Wno-undef',
 | 
				
			||||||
                           dependencies: sdl)
 | 
					                           dependencies: sdl)
 | 
				
			||||||
  sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
 | 
					  sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
 | 
				
			||||||
                         method: 'pkg-config', static: enable_static)
 | 
					                         method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
  if get_option('sdl_image').enabled()
 | 
					  if get_option('sdl_image').enabled()
 | 
				
			||||||
    error('sdl-image required, but SDL was @0@'.format(
 | 
					    error('sdl-image required, but SDL was @0@'.format(
 | 
				
			||||||
@ -683,10 +686,10 @@ endif
 | 
				
			|||||||
rbd = not_found
 | 
					rbd = not_found
 | 
				
			||||||
if not get_option('rbd').auto() or have_block
 | 
					if not get_option('rbd').auto() or have_block
 | 
				
			||||||
  librados = cc.find_library('rados', required: get_option('rbd'),
 | 
					  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'],
 | 
					  librbd = cc.find_library('rbd', has_headers: ['rbd/librbd.h'],
 | 
				
			||||||
                           required: get_option('rbd'),
 | 
					                           required: get_option('rbd'),
 | 
				
			||||||
                           static: enable_static)
 | 
					                           kwargs: static_kwargs)
 | 
				
			||||||
  if librados.found() and librbd.found() and cc.links('''
 | 
					  if librados.found() and librbd.found() and cc.links('''
 | 
				
			||||||
    #include <stdio.h>
 | 
					    #include <stdio.h>
 | 
				
			||||||
    #include <rbd/librbd.h>
 | 
					    #include <rbd/librbd.h>
 | 
				
			||||||
@ -705,7 +708,7 @@ glusterfs_iocb_has_stat = false
 | 
				
			|||||||
if not get_option('glusterfs').auto() or have_block
 | 
					if not get_option('glusterfs').auto() or have_block
 | 
				
			||||||
  glusterfs = dependency('glusterfs-api', version: '>=3',
 | 
					  glusterfs = dependency('glusterfs-api', version: '>=3',
 | 
				
			||||||
                         required: get_option('glusterfs'),
 | 
					                         required: get_option('glusterfs'),
 | 
				
			||||||
                         method: 'pkg-config', static: enable_static)
 | 
					                         method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
  if glusterfs.found()
 | 
					  if glusterfs.found()
 | 
				
			||||||
    glusterfs_ftruncate_has_stat = cc.links('''
 | 
					    glusterfs_ftruncate_has_stat = cc.links('''
 | 
				
			||||||
      #include <glusterfs/api/glfs.h>
 | 
					      #include <glusterfs/api/glfs.h>
 | 
				
			||||||
@ -744,7 +747,7 @@ libbzip2 = not_found
 | 
				
			|||||||
if not get_option('bzip2').auto() or have_block
 | 
					if not get_option('bzip2').auto() or have_block
 | 
				
			||||||
  libbzip2 = cc.find_library('bz2', has_headers: ['bzlib.h'],
 | 
					  libbzip2 = cc.find_library('bz2', has_headers: ['bzlib.h'],
 | 
				
			||||||
                             required: get_option('bzip2'),
 | 
					                             required: get_option('bzip2'),
 | 
				
			||||||
                             static: enable_static)
 | 
					                             kwargs: static_kwargs)
 | 
				
			||||||
  if libbzip2.found() and not cc.links('''
 | 
					  if libbzip2.found() and not cc.links('''
 | 
				
			||||||
     #include <bzlib.h>
 | 
					     #include <bzlib.h>
 | 
				
			||||||
     int main(void) { BZ2_bzlibVersion(); return 0; }''', dependencies: libbzip2)
 | 
					     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
 | 
					if not get_option('lzfse').auto() or have_block
 | 
				
			||||||
  liblzfse = cc.find_library('lzfse', has_headers: ['lzfse.h'],
 | 
					  liblzfse = cc.find_library('lzfse', has_headers: ['lzfse.h'],
 | 
				
			||||||
                             required: get_option('lzfse'),
 | 
					                             required: get_option('lzfse'),
 | 
				
			||||||
                             static: enable_static)
 | 
					                             kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
if liblzfse.found() and not cc.links('''
 | 
					if liblzfse.found() and not cc.links('''
 | 
				
			||||||
   #include <lzfse.h>
 | 
					   #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',
 | 
					  gtk = dependency('gtk+-3.0', version: '>=3.22.0',
 | 
				
			||||||
                   method: 'pkg-config',
 | 
					                   method: 'pkg-config',
 | 
				
			||||||
                   required: get_option('gtk'),
 | 
					                   required: get_option('gtk'),
 | 
				
			||||||
                   static: enable_static)
 | 
					                   kwargs: static_kwargs)
 | 
				
			||||||
  if gtk.found()
 | 
					  if gtk.found()
 | 
				
			||||||
    gtkx11 = dependency('gtk+-x11-3.0', version: '>=3.22.0',
 | 
					    gtkx11 = dependency('gtk+-x11-3.0', version: '>=3.22.0',
 | 
				
			||||||
                        method: 'pkg-config',
 | 
					                        method: 'pkg-config',
 | 
				
			||||||
                        required: false,
 | 
					                        required: false,
 | 
				
			||||||
                        static: enable_static)
 | 
					                        kwargs: static_kwargs)
 | 
				
			||||||
    gtk = declare_dependency(dependencies: [gtk, gtkx11])
 | 
					    gtk = declare_dependency(dependencies: [gtk, gtkx11])
 | 
				
			||||||
  endif
 | 
					  endif
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
@ -816,7 +819,7 @@ endif
 | 
				
			|||||||
x11 = not_found
 | 
					x11 = not_found
 | 
				
			||||||
if gtkx11.found() or 'lm32-softmmu' in target_dirs
 | 
					if gtkx11.found() or 'lm32-softmmu' in target_dirs
 | 
				
			||||||
  x11 = dependency('x11', method: 'pkg-config', required: gtkx11.found(),
 | 
					  x11 = dependency('x11', method: 'pkg-config', required: gtkx11.found(),
 | 
				
			||||||
                   static: enable_static)
 | 
					                   kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
vnc = not_found
 | 
					vnc = not_found
 | 
				
			||||||
png = not_found
 | 
					png = not_found
 | 
				
			||||||
@ -825,12 +828,12 @@ sasl = not_found
 | 
				
			|||||||
if get_option('vnc').enabled()
 | 
					if get_option('vnc').enabled()
 | 
				
			||||||
  vnc = declare_dependency() # dummy dependency
 | 
					  vnc = declare_dependency() # dummy dependency
 | 
				
			||||||
  png = dependency('libpng', required: get_option('vnc_png'),
 | 
					  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'),
 | 
					  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'],
 | 
					  sasl = cc.find_library('sasl2', has_headers: ['sasl/sasl.h'],
 | 
				
			||||||
                         required: get_option('vnc_sasl'),
 | 
					                         required: get_option('vnc_sasl'),
 | 
				
			||||||
                         static: enable_static)
 | 
					                         kwargs: static_kwargs)
 | 
				
			||||||
  if sasl.found()
 | 
					  if sasl.found()
 | 
				
			||||||
    sasl = declare_dependency(dependencies: sasl,
 | 
					    sasl = declare_dependency(dependencies: sasl,
 | 
				
			||||||
                              compile_args: '-DSTRUCT_IOVEC_DEFINED')
 | 
					                              compile_args: '-DSTRUCT_IOVEC_DEFINED')
 | 
				
			||||||
@ -841,7 +844,7 @@ snappy = not_found
 | 
				
			|||||||
if not get_option('snappy').auto() or have_system
 | 
					if not get_option('snappy').auto() or have_system
 | 
				
			||||||
  snappy = cc.find_library('snappy', has_headers: ['snappy-c.h'],
 | 
					  snappy = cc.find_library('snappy', has_headers: ['snappy-c.h'],
 | 
				
			||||||
                           required: get_option('snappy'),
 | 
					                           required: get_option('snappy'),
 | 
				
			||||||
                           static: enable_static)
 | 
					                           kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
if snappy.found() and not cc.links('''
 | 
					if snappy.found() and not cc.links('''
 | 
				
			||||||
   #include <snappy-c.h>
 | 
					   #include <snappy-c.h>
 | 
				
			||||||
@ -858,7 +861,7 @@ lzo = not_found
 | 
				
			|||||||
if not get_option('lzo').auto() or have_system
 | 
					if not get_option('lzo').auto() or have_system
 | 
				
			||||||
  lzo = cc.find_library('lzo2', has_headers: ['lzo/lzo1x.h'],
 | 
					  lzo = cc.find_library('lzo2', has_headers: ['lzo/lzo1x.h'],
 | 
				
			||||||
                        required: get_option('lzo'),
 | 
					                        required: get_option('lzo'),
 | 
				
			||||||
                        static: enable_static)
 | 
					                        kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
if lzo.found() and not cc.links('''
 | 
					if lzo.found() and not cc.links('''
 | 
				
			||||||
   #include <lzo/lzo1x.h>
 | 
					   #include <lzo/lzo1x.h>
 | 
				
			||||||
@ -893,7 +896,7 @@ u2f = not_found
 | 
				
			|||||||
if have_system
 | 
					if have_system
 | 
				
			||||||
  u2f = dependency('u2f-emu', required: get_option('u2f'),
 | 
					  u2f = dependency('u2f-emu', required: get_option('u2f'),
 | 
				
			||||||
                   method: 'pkg-config',
 | 
					                   method: 'pkg-config',
 | 
				
			||||||
                   static: enable_static)
 | 
					                   kwargs: static_kwargs)
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
usbredir = not_found
 | 
					usbredir = not_found
 | 
				
			||||||
if 'CONFIG_USB_REDIR' in config_host
 | 
					if 'CONFIG_USB_REDIR' in config_host
 | 
				
			||||||
@ -920,7 +923,7 @@ if 'CONFIG_TASN1' in config_host
 | 
				
			|||||||
                             link_args: config_host['TASN1_LIBS'].split())
 | 
					                             link_args: config_host['TASN1_LIBS'].split())
 | 
				
			||||||
endif
 | 
					endif
 | 
				
			||||||
keyutils = dependency('libkeyutils', required: false,
 | 
					keyutils = dependency('libkeyutils', required: false,
 | 
				
			||||||
                      method: 'pkg-config', static: enable_static)
 | 
					                      method: 'pkg-config', kwargs: static_kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
has_gettid = cc.has_function('gettid')
 | 
					has_gettid = cc.has_function('gettid')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -979,7 +982,7 @@ endif
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
fuse = dependency('fuse3', required: get_option('fuse'),
 | 
					fuse = dependency('fuse3', required: get_option('fuse'),
 | 
				
			||||||
                  version: '>=3.1', method: 'pkg-config',
 | 
					                  version: '>=3.1', method: 'pkg-config',
 | 
				
			||||||
                  static: enable_static)
 | 
					                  kwargs: static_kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fuse_lseek = not_found
 | 
					fuse_lseek = not_found
 | 
				
			||||||
if not get_option('fuse_lseek').disabled()
 | 
					if not get_option('fuse_lseek').disabled()
 | 
				
			||||||
@ -1367,7 +1370,7 @@ capstone_opt = get_option('capstone')
 | 
				
			|||||||
if capstone_opt in ['enabled', 'auto', 'system']
 | 
					if capstone_opt in ['enabled', 'auto', 'system']
 | 
				
			||||||
  have_internal = fs.exists(meson.current_source_dir() / 'capstone/Makefile')
 | 
					  have_internal = fs.exists(meson.current_source_dir() / 'capstone/Makefile')
 | 
				
			||||||
  capstone = dependency('capstone', version: '>=4.0',
 | 
					  capstone = dependency('capstone', version: '>=4.0',
 | 
				
			||||||
                        static: enable_static, method: 'pkg-config',
 | 
					                        kwargs: static_kwargs, method: 'pkg-config',
 | 
				
			||||||
                        required: capstone_opt == 'system' or
 | 
					                        required: capstone_opt == 'system' or
 | 
				
			||||||
                                  capstone_opt == 'enabled' and not have_internal)
 | 
					                                  capstone_opt == 'enabled' and not have_internal)
 | 
				
			||||||
  if capstone.found()
 | 
					  if capstone.found()
 | 
				
			||||||
@ -1477,7 +1480,7 @@ if have_system
 | 
				
			|||||||
  slirp_opt = get_option('slirp')
 | 
					  slirp_opt = get_option('slirp')
 | 
				
			||||||
  if slirp_opt in ['enabled', 'auto', 'system']
 | 
					  if slirp_opt in ['enabled', 'auto', 'system']
 | 
				
			||||||
    have_internal = fs.exists(meson.current_source_dir() / 'slirp/meson.build')
 | 
					    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',
 | 
					                       method: 'pkg-config',
 | 
				
			||||||
                       required: slirp_opt == 'system' or
 | 
					                       required: slirp_opt == 'system' or
 | 
				
			||||||
                                 slirp_opt == 'enabled' and not have_internal)
 | 
					                                 slirp_opt == 'enabled' and not have_internal)
 | 
				
			||||||
@ -1556,7 +1559,7 @@ fdt_opt = get_option('fdt')
 | 
				
			|||||||
if have_system
 | 
					if have_system
 | 
				
			||||||
  if fdt_opt in ['enabled', 'auto', 'system']
 | 
					  if fdt_opt in ['enabled', 'auto', 'system']
 | 
				
			||||||
    have_internal = fs.exists(meson.current_source_dir() / 'dtc/libfdt/Makefile.libfdt')
 | 
					    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
 | 
					                          required: fdt_opt == 'system' or
 | 
				
			||||||
                                    fdt_opt == 'enabled' and not have_internal)
 | 
					                                    fdt_opt == 'enabled' and not have_internal)
 | 
				
			||||||
    if fdt.found() and cc.links('''
 | 
					    if fdt.found() and cc.links('''
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user