* Move binrz meson directives to binrz/ dir * Move rizin-shell-parser to a subproject * Move bochs to a meson subproject * Move rzqnx to meson subproject * Move winkd to a meson subproject * Move rzar to a meson subproject * Move rzw32dbg_wrap to a meson subproject * Move ptrace-wrap to a meson subproject * Move rzgdb to a meson subproject * Rename w32dbg_wrap to rzw32dbg_wrap * Update CODEOWNERS * Remove old references to shlr * Move shlr/heap stuff in core and remove shlr/arm * Move spp to a meson subproject * Remove last references to shlr * Remove use_webui option * Move include files directives to librz/include/meson.build * Move librz meson directives into librz/meson.build * Handle d/ directories inside the specific module meson.build * Move plugins listing to specific module meson.build * Move rzheap to its own subproject * Fix js linter and licenses * Use meson.override_dependency for all rz_ modules
291 lines
5.9 KiB
Meson
291 lines
5.9 KiB
Meson
bin_plugins = [
|
|
'any',
|
|
'art',
|
|
'avr',
|
|
'bf',
|
|
'bflt',
|
|
'bios',
|
|
'bootimg',
|
|
'cgc',
|
|
'coff',
|
|
'dex',
|
|
'dmp64',
|
|
'dol',
|
|
'dyldcache',
|
|
'elf',
|
|
'elf64',
|
|
'java',
|
|
'le',
|
|
'luac',
|
|
'mach0',
|
|
'mach064',
|
|
'mbn',
|
|
'mdmp',
|
|
'menuet',
|
|
'mz',
|
|
'ne',
|
|
'nes',
|
|
'nin3ds',
|
|
'ninds',
|
|
'ningb',
|
|
'ningba',
|
|
'nro',
|
|
'nso',
|
|
'omf',
|
|
'qnx',
|
|
'p9',
|
|
'pe',
|
|
'pe64',
|
|
'pebble',
|
|
'prg',
|
|
'psxexe',
|
|
'pyc',
|
|
'sfc',
|
|
'smd',
|
|
'sms',
|
|
'spc700',
|
|
'symbols',
|
|
'te',
|
|
'vsf',
|
|
'wasm',
|
|
'xbe',
|
|
'xnu_kernelcache',
|
|
'z64',
|
|
'zimg',
|
|
]
|
|
|
|
bin_ldr_plugins = [
|
|
'ldr_linux',
|
|
]
|
|
|
|
bin_xtr_plugins = [
|
|
'xtr_fatmach0',
|
|
'xtr_sep64',
|
|
]
|
|
|
|
rz_bin_sources = [
|
|
'bin.c',
|
|
'bin_language.c',
|
|
'dbginfo.c',
|
|
'dwarf.c',
|
|
'filter.c',
|
|
'bfile.c',
|
|
'bobj.c',
|
|
'relocs_patch.c',
|
|
'p/bin_any.c',
|
|
'p/bin_art.c',
|
|
'p/bin_avr.c',
|
|
'p/bin_bf.c',
|
|
'p/bin_bflt.c',
|
|
'p/bin_bios.c',
|
|
'p/bin_bootimg.c',
|
|
'p/bin_cgc.c',
|
|
'p/bin_coff.c',
|
|
'p/bin_dex.c',
|
|
'p/bin_dmp64.c',
|
|
'p/bin_dol.c',
|
|
'p/bin_dyldcache.c',
|
|
'p/bin_elf.c',
|
|
'p/bin_elf64.c',
|
|
'p/bin_java.c',
|
|
'p/bin_ldr_linux.c',
|
|
'p/bin_le.c',
|
|
'p/bin_luac.c',
|
|
'p/bin_mach0.c',
|
|
'p/bin_mach064.c',
|
|
'p/bin_mbn.c',
|
|
'p/bin_mdmp.c',
|
|
'p/bin_menuet.c',
|
|
'p/bin_mz.c',
|
|
'p/bin_ne.c',
|
|
'p/bin_nes.c',
|
|
'p/bin_nin3ds.c',
|
|
'p/bin_ninds.c',
|
|
'p/bin_ningb.c',
|
|
'p/bin_ningba.c',
|
|
'p/bin_nro.c',
|
|
'p/bin_nso.c',
|
|
'p/bin_omf.c',
|
|
'p/bin_p9.c',
|
|
'p/bin_pe.c',
|
|
'p/bin_pe64.c',
|
|
'p/bin_pebble.c',
|
|
'p/bin_prg.c',
|
|
'p/bin_psxexe.c',
|
|
'p/bin_pyc.c',
|
|
'p/bin_qnx.c',
|
|
'p/bin_sfc.c',
|
|
'p/bin_smd.c',
|
|
'p/bin_sms.c',
|
|
'p/bin_spc700.c',
|
|
'p/bin_symbols.c',
|
|
'p/bin_te.c',
|
|
'p/bin_vsf.c',
|
|
'p/bin_wasm.c',
|
|
'p/bin_xbe.c',
|
|
'p/bin_xnu_kernelcache.c',
|
|
'p/bin_xtr_fatmach0.c',
|
|
'p/bin_xtr_pemixed.c',
|
|
'p/bin_xtr_sep64.c',
|
|
'p/bin_z64.c',
|
|
'p/bin_zimg.c',
|
|
|
|
|
|
'format/bflt/bflt.c',
|
|
'format/coff/coff.c',
|
|
'format/coff/coff_reloc.c',
|
|
'format/dex/dex.c',
|
|
'format/dmp/dmp64.c',
|
|
'format/elf/elf.c',
|
|
'format/elf/elf64.c',
|
|
'format/elf/elf_arm.c',
|
|
'format/elf/elf64_arm.c',
|
|
'format/elf/elf_corefile.c',
|
|
'format/elf/elf64_corefile.c',
|
|
'format/elf/elf_dynamic.c',
|
|
'format/elf/elf64_dynamic.c',
|
|
'format/elf/elf_ehdr.c',
|
|
'format/elf/elf64_ehdr.c',
|
|
'format/elf/elf_hash.c',
|
|
'format/elf/elf64_hash.c',
|
|
'format/elf/elf_imports.c',
|
|
'format/elf/elf64_imports.c',
|
|
'format/elf/elf_map.c',
|
|
'format/elf/elf64_map.c',
|
|
'format/elf/elf_info.c',
|
|
'format/elf/elf64_info.c',
|
|
'format/elf/elf_misc.c',
|
|
'format/elf/elf64_misc.c',
|
|
'format/elf/elf_notes.c',
|
|
'format/elf/elf64_notes.c',
|
|
'format/elf/elf_relocs.c',
|
|
'format/elf/elf64_relocs.c',
|
|
'format/elf/elf_sections.c',
|
|
'format/elf/elf64_sections.c',
|
|
'format/elf/elf_segments.c',
|
|
'format/elf/elf64_segments.c',
|
|
'format/elf/elf_strtab.c',
|
|
'format/elf/elf64_strtab.c',
|
|
'format/elf/elf_symbols.c',
|
|
'format/elf/elf64_symbols.c',
|
|
'format/java/class_attribute.c',
|
|
'format/java/class_const_pool.c',
|
|
'format/java/class_interface.c',
|
|
'format/java/class_bin.c',
|
|
'format/java/class_field.c',
|
|
'format/java/class_method.c',
|
|
'format/mach0/dyldcache.c',
|
|
'format/mach0/dyldcache_rebase.c',
|
|
'format/mach0/coresymbolication.c',
|
|
'format/mach0/fatmach0.c',
|
|
'format/mach0/kernelcache.c',
|
|
'format/mach0/mach0.c',
|
|
'format/mach0/mach0_relocs.c',
|
|
'format/mach0/mach0_rebase.c',
|
|
'format/mach0/mach064.c',
|
|
'format/mach0/mach064_relocs.c',
|
|
'format/mach0/mach064_rebase.c',
|
|
'format/xnu/rz_cf_dict.c',
|
|
'format/mdmp/mdmp.c',
|
|
'format/mdmp/mdmp_pe.c',
|
|
'format/mdmp/mdmp_pe64.c',
|
|
'format/le/le.c',
|
|
'format/luac/luac_common.c',
|
|
'format/luac/luac_bin.c',
|
|
'format/luac/v54/parse_54.c',
|
|
'format/luac/v53/parse_53.c',
|
|
'format/ne/ne.c',
|
|
'format/mz/mz.c',
|
|
'format/nxo/nxo.c',
|
|
'format/objc/mach064_classes.c',
|
|
'format/objc/mach0_classes.c',
|
|
'format/omf/omf.c',
|
|
'format/p9/p9bin.c',
|
|
'format/pe/pe.c',
|
|
'format/pe/pe64.c',
|
|
'format/pe/pemixed.c',
|
|
'format/pe/pe_misc.c',
|
|
'format/pyc/marshal.c',
|
|
'format/pyc/pyc.c',
|
|
'format/pyc/pyc_magic.c',
|
|
'format/te/te.c',
|
|
'format/wasm/wasm.c',
|
|
'format/zimg/zimg.c',
|
|
|
|
'pdb/dbi.c',
|
|
'pdb/gdata.c',
|
|
'pdb/omap.c',
|
|
'pdb/pdb.c',
|
|
'pdb/pdb_downloader.c',
|
|
'pdb/stream_pe.c',
|
|
'pdb/tpi.c'
|
|
]
|
|
|
|
rz_bin_inc = [platform_inc, include_directories('format')]
|
|
|
|
rz_bin = library('rz_bin', rz_bin_sources,
|
|
include_directories: rz_bin_inc,
|
|
c_args: ['-DRZ_API_BIN_ONLY=1'] + library_cflags,
|
|
dependencies: [
|
|
lz4_dep,
|
|
yxml_dep,
|
|
rz_util_dep,
|
|
rz_demangler_dep,
|
|
rz_socket_dep,
|
|
rz_magic_dep,
|
|
rz_hash_dep,
|
|
rz_syscall_dep,
|
|
rz_cons_dep,
|
|
rz_io_dep,
|
|
rz_type_dep,
|
|
],
|
|
install: true,
|
|
implicit_include_directories: false,
|
|
install_rpath: rpath_lib,
|
|
link_args: library_linkflags,
|
|
soversion: rizin_libversion,
|
|
name_suffix: lib_name_suffix,
|
|
name_prefix: lib_name_prefix,
|
|
)
|
|
|
|
rz_bin_dep = declare_dependency(link_with: rz_bin,
|
|
include_directories: rz_bin_inc)
|
|
meson.override_dependency('rz_bin', rz_bin_dep)
|
|
|
|
pkgconfig_mod.generate(rz_bin,
|
|
subdirs: 'librz',
|
|
version: rizin_version,
|
|
name: 'rz_bin',
|
|
filebase: 'rz_bin',
|
|
requires: pkgconfig_magic_requires + [
|
|
'rz_util',
|
|
'rz_io',
|
|
'rz_socket',
|
|
'rz_syscall',
|
|
'rz_type'
|
|
],
|
|
description: 'rizin foundation libraries',
|
|
variables: [
|
|
'plugindir=@0@'.format(rizin_plugins),
|
|
],
|
|
)
|
|
|
|
if not is_static_libs_only
|
|
conf = configuration_data()
|
|
conf.set('RZ_VERSION', rizin_version)
|
|
conf.set('RIZIN_MODULE', rz_bin.name())
|
|
conf.set('RIZIN_MODULE_DEPS', ' '.join(['rz_util', 'rz_io', 'rz_socket', 'rz_syscall', 'rz_type']))
|
|
conf.set('PACKAGE_RELATIVE_PATH', cmake_package_relative_path)
|
|
conf.set('INSTALL_INCDIR', rizin_incdir)
|
|
conf.set('INSTALL_LIBDIR', rizin_libdir)
|
|
conf.set('INSTALL_PLUGDIR', rizin_plugins)
|
|
conf.set('rizin_libname', rz_bin.name())
|
|
cmake_mod.configure_package_config_file(
|
|
name: conf.get('rizin_libname'),
|
|
input: '../RzModulesConfig.cmake.in',
|
|
install_dir: rizin_cmakedir / conf.get('rizin_libname'),
|
|
configuration: conf,
|
|
)
|
|
endif
|
|
|
|
subdir('d')
|