rizin/subprojects/packagefiles/zlib-1.3.2/meson.build
2026-06-21 05:16:57 +08:00

74 lines
1.6 KiB
Meson

project('zlib', 'c',
version : '1.3.2',
license : 'zlib',
meson_version: '>=0.55.0',
)
cc = meson.get_compiler('c')
if cc.has_argument('--std=c99')
add_project_arguments('--std=c99', language: ['c'])
endif
link_args = []
compile_args = []
if cc.get_argument_syntax() == 'msvc'
add_project_arguments(
'-D_CRT_SECURE_NO_DEPRECATE',
'-D_CRT_NONSTDC_NO_DEPRECATE',
language : 'c')
elif cc.get_argument_syntax() == 'gcc'
# Don't spam consumers of this wrap with these warnings
compile_args += cc.get_supported_arguments('-Wno-implicit-fallthrough')
if host_machine.system() not in ['windows', 'darwin']
link_args += '-Wl,--version-script,@0@/zlib.map'.format(meson.current_source_dir())
endif
endif
if cc.has_header('unistd.h')
compile_args += '-DHAVE_UNISTD_H'
endif
if cc.has_header('stdarg.h')
compile_args += '-DHAVE_STDARG_H'
endif
src = files([
'adler32.c',
'crc32.c',
'deflate.c',
'infback.c',
'inffast.c',
'inflate.c',
'inftrees.c',
'trees.c',
'zutil.c',
'compress.c',
'uncompr.c',
'gzclose.c',
'gzlib.c',
'gzread.c',
'gzwrite.c'])
headers = files(['zconf.h', 'zlib.h'])
if host_machine.system() == 'windows'
win = import('windows')
win_args = []
if cc.get_id() != 'msvc'
win_args += '-DGCC_WINDRES'
endif
src += win.compile_resources('win32/zlib1.rc', args : win_args)
endif
zlib = library('z', src,
c_args : compile_args,
link_args : link_args,
vs_module_defs : 'win32/zlib.def',
install : false)
incdir = include_directories('.')
zlib_dep = declare_dependency(
link_with : zlib,
include_directories : incdir)