endif
endforeach
-foreach f : ['strtof', 'mkostemp', 'timespec_get', 'memfd_create', 'random_r', 'flock']
+foreach f : ['strtof', 'mkostemp', 'timespec_get', 'memfd_create', 'random_r', 'flock', 'strtok_r']
if cc.has_function(f)
pre_args += '-DHAVE_@0@'.format(f.to_upper())
endif
# check for dl support
dep_dl = null_dep
-if host_machine.system() != 'windows'
- if not cc.has_function('dlopen')
- dep_dl = cc.find_library('dl')
- endif
- if cc.has_function('dladdr', dependencies : dep_dl)
- # This is really only required for megadrivers
- pre_args += '-DHAVE_DLADDR'
- endif
+if not cc.has_function('dlopen')
+ dep_dl = cc.find_library('dl', required : host_machine.system() != 'windows')
+endif
+if cc.has_function('dladdr', dependencies : dep_dl)
+ # This is really only required for megadrivers
+ pre_args += '-DHAVE_DLADDR'
endif
if cc.has_function('dl_iterate_phdr')
# TODO: some of these may be conditional
dep_zlib = dependency('zlib', version : '>= 1.2.3', fallback : ['zlib', 'zlib_dep'])
pre_args += '-DHAVE_ZLIB'
+
+_zstd = get_option('zstd')
+if _zstd != 'false'
+ dep_zstd = dependency('libzstd', required : _zstd == 'true')
+ if dep_zstd.found()
+ pre_args += '-DHAVE_ZSTD'
+ endif
+else
+ dep_zstd = null_dep
+endif
+
dep_thread = dependency('threads')
if dep_thread.found() and host_machine.system() != 'windows'
pre_args += '-DHAVE_PTHREAD'
pkg = import('pkgconfig')
-prog_nm = find_program('nm', required : false)
-with_symbols_check = prog_nm.found() and with_tests
-symbols_check_args = ['--nm', prog_nm.path()]
+if host_machine.system() == 'windows'
+ prog_dumpbin = find_program('dumpbin', required : false)
+ with_symbols_check = prog_dumpbin.found() and with_tests
+ symbols_check_args = ['--dumpbin', prog_dumpbin.path()]
+else
+ prog_nm = find_program('nm')
+ with_symbols_check = with_tests
+ symbols_check_args = ['--nm', prog_nm.path()]
+endif
# This quirk needs to be applied to sources with functions defined in assembly
# as GCC LTO drops them. See: https://bugs.freedesktop.org/show_bug.cgi?id=109391