Make -Dblob=true statically link all r2 libraries ##build

This commit is contained in:
Sergi Àlvarez i Capilla 2022-03-02 01:20:43 +01:00 committed by pancake
parent 7a700bccac
commit aef278ee9c
26 changed files with 438 additions and 8 deletions

View File

@ -9,4 +9,15 @@ executable('r2blob', 'r2blob.c',
implicit_include_directories: false
)
executable('r2blob.static', 'r2blob.c',
include_directories: [platform_inc],
dependencies: [
r_main_static_dep,
r_util_static_dep,
],
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false
)
meson.add_install_script('meson_install_links.sh')

View File

@ -203,7 +203,31 @@ r_anal = library('r_anal', r_anal_sources,
)
r_anal_dep = declare_dependency(link_with: r_anal,
include_directories: r_anal_inc)
include_directories: r_anal_inc)
r_anal_static = static_library('r_anal_static', r_anal_sources,
include_directories: r_anal_inc,
c_args: library_cflags,
dependencies: [
r_util_static_dep,
r_reg_static_dep,
r_asm_static_dep,
r_crypto_static_dep,
r_search_static_dep,
r_cons_static_dep,
r_parse_static_dep,
r_syscall_static_dep,
r_flag_static_dep,
r_hash_static_dep,
java_dep,
capstone_dep
],
install: true,
implicit_include_directories: false,
)
r_anal_static_dep = declare_dependency(link_with: r_anal_static,
include_directories: r_anal_inc)
pkgconfig_mod.generate(r_anal,
subdirs: 'libr',

View File

@ -214,6 +214,27 @@ r_asm = library('r_asm', r_asm_sources,
r_asm_dep = declare_dependency(link_with: r_asm,
include_directories: r_asm_inc)
r_asm_static = static_library('r_asm_static', r_asm_sources,
include_directories: r_asm_inc,
c_args: library_cflags,
dependencies: [
r_util_static_dep,
r_syscall_static_dep,
r_parse_static_dep,
r_lang_static_dep,
r_flag_static_dep,
r_socket_static_dep,
capstone_dep,
java_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_asm_static_dep = declare_dependency(link_with: r_asm_static,
include_directories: r_asm_inc)
pkgconfig_mod.generate(r_asm,
subdirs: 'libr',
version: r2_version,

View File

@ -169,6 +169,28 @@ r_bin = library('r_bin', r_bin_sources,
r_bin_dep = declare_dependency(link_with: r_bin,
include_directories: r_bin_inc)
r_bin_static = static_library('r_bin_static', r_bin_sources,
include_directories: r_bin_inc,
c_args: ['-DR_API_BIN_ONLY=1'] + library_cflags,
dependencies: [
r_util_static_dep,
r_cons_static_dep,
r_io_static_dep,
r_hash_static_dep,
r_magic_static_dep,
r_socket_static_dep,
r_syscall_static_dep,
java_dep,
lz4_dep,
yxml_dep
],
install: true,
implicit_include_directories: false,
)
r_bin_static_dep = declare_dependency(link_with: r_bin_static,
include_directories: r_bin_inc)
pkgconfig_mod.generate(r_bin,
subdirs: 'libr',
version: r2_version,

View File

@ -25,6 +25,17 @@ r_bp = library('r_bp', r_bp_sources,
r_bp_dep = declare_dependency(link_with: r_bp,
include_directories: [platform_inc])
r_bp_static = static_library('r_bp_static', r_bp_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [r_util_static_dep],
install: true,
implicit_include_directories: false,
)
r_bp_static_dep = declare_dependency(link_with: r_bp_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_bp,
subdirs: 'libr',
version: r2_version,

View File

@ -18,6 +18,19 @@ r_config = library('r_config', r_config_sources,
r_config_dep = declare_dependency(link_with: r_config,
include_directories: [platform_inc])
r_config_static = static_library('r_config_static', r_config_sources,
include_directories: [platform_inc],
dependencies: [
r_util_static_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_config_static_dep = declare_dependency(link_with: r_config_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_config,
subdirs: 'libr',
version: r2_version,

View File

@ -36,6 +36,19 @@ r_cons = library('r_cons', r_cons_sources,
r_cons_dep = declare_dependency(link_with: r_cons,
include_directories: [platform_inc])
r_cons_static = static_library('r_cons_static', r_cons_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [r_util_dep],
link_with: [r_util],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_cons_static_dep = declare_dependency(link_with: r_cons_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_cons,
subdirs: 'libr',
version: r2_version,

View File

@ -105,6 +105,34 @@ r_core_deps = [
lrt
]
r_core_static_deps = [
r_util_static_dep,
r_reg_static_dep,
r_syscall_static_dep,
r_search_static_dep,
r_cons_static_dep,
r_anal_static_dep,
r_socket_static_dep,
r_io_static_dep,
r_fs_static_dep,
r_lang_static_dep,
r_magic_static_dep,
r_hash_static_dep,
r_flag_static_dep,
r_parse_static_dep,
r_egg_static_dep,
r_debug_static_dep,
r_crypto_static_dep,
r_config_static_dep,
r_bin_static_dep,
r_asm_static_dep,
r_bp_static_dep,
platform_deps,
gdb_dep,
java_dep,
lrt
]
if use_libuv
r_core_deps += libuv_dep
endif
@ -121,6 +149,17 @@ r_core = library('r_core', r_core_sources,
r_core_dep = declare_dependency(link_with: r_core, include_directories: r_core_inc)
r_core_static = static_library('r_core_static', r_core_sources,
include_directories: r_core_inc,
c_args: library_cflags,
dependencies: r_core_static_deps,
install: true,
implicit_include_directories: false,
)
r_core_static_dep = declare_dependency(link_with: r_core_static,
include_directories: r_core_inc)
pkgconfig_mod.generate(
r_core,
subdirs: 'libr',

View File

@ -34,7 +34,19 @@ r_crypto = library('r_crypto', r_crypto_sources,
)
r_crypto_dep = declare_dependency(link_with: r_crypto,
include_directories: [platform_inc])
include_directories: [platform_inc])
r_crypto_static = static_library('r_crypto_static', r_crypto_sources,
include_directories: [platform_inc],
dependencies: [r_util_static_dep],
link_with: [r_util_static],
c_args: library_cflags,
install: true,
implicit_include_directories: false,
)
r_crypto_static_dep = declare_dependency(link_with: r_crypto_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_crypto,
subdirs: 'libr',

View File

@ -52,6 +52,26 @@ r_debug_deps = [
r_socket_dep
]
r_debug_static_deps = [
r_util_static_dep,
r_hash_static_dep,
r_reg_static_dep,
r_syscall_static_dep,
r_anal_static_dep,
r_flag_static_dep,
r_io_static_dep,
r_bp_static_dep,
r_search_static_dep,
r_cons_static_dep,
r_lang_static_dep,
r_egg_static_dep,
r_socket_static_dep,
winkd_static_dep,
qnx_dep,
gdb_dep,
bochs_dep,
]
if host_machine.system() == 'linux' or host_machine.system() == 'android'
r_debug_sources += ['p/native/linux/linux_debug.c']
endif
@ -111,6 +131,19 @@ r_debug = library('r_debug', r_debug_sources,
r_debug_dep = declare_dependency(link_with: r_debug,
include_directories: r_debug_inc)
r_debug_static = static_library('r_debug_static', r_debug_sources,
include_directories: r_debug_inc,
c_args: library_cflags,
dependencies: r_debug_static_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_debug_static_dep = declare_dependency(link_with: r_debug_static,
include_directories: r_debug_inc)
pkgconfig_mod.generate(r_debug,
subdirs: 'libr',
version: r2_version,

View File

@ -30,7 +30,23 @@ r_egg = library('r_egg', r_egg_sources,
)
r_egg_dep = declare_dependency(link_with: r_egg,
include_directories: [platform_inc])
include_directories: [platform_inc])
r_egg_static = static_library('r_egg_static', r_egg_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [
r_util_static_dep,
r_asm_static_dep,
r_syscall_static_dep,
mpc_dep
],
install: true,
implicit_include_directories: false,
)
r_egg_static_dep = declare_dependency(link_with: r_egg_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_egg,
subdirs: 'libr',

View File

@ -19,6 +19,20 @@ r_flag = library('r_flag', r_flag_sources,
r_flag_dep = declare_dependency(link_with: r_flag,
include_directories: [platform_inc])
r_flag_static = static_library('r_flag_static', r_flag_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [
r_util_static_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_flag_static_dep = declare_dependency(link_with: r_flag_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_flag,
subdirs: 'libr',
version: r2_version,

View File

@ -53,7 +53,18 @@ r_fs = library('r_fs', r_fs_sources,
)
r_fs_dep = declare_dependency(link_with: r_fs,
include_directories: platform_inc)
include_directories: platform_inc)
r_fs_static = static_library('r_fs_static', r_fs_sources,
include_directories: platform_inc,
c_args: r_fs_cflags,
dependencies: r_fs_deps,
install: true,
implicit_include_directories: false,
)
r_fs_static_dep = declare_dependency(link_with: r_fs_static,
include_directories: platform_inc)
pkgconfig_mod.generate(r_fs,
subdirs: 'libr',

View File

@ -36,7 +36,18 @@ r_hash = library('r_hash', r_hash_sources,
)
r_hash_dep = declare_dependency(link_with: r_hash,
include_directories: [platform_inc])
include_directories: [platform_inc])
r_hash_static = static_library('r_hash_static', r_hash_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [ mth, r_util_static_dep ],
install: true,
implicit_include_directories: false,
)
r_hash_static_dep = declare_dependency(link_with: r_hash_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_hash,
subdirs: 'libr',

View File

@ -67,6 +67,17 @@ r_io_deps = [
pth
]
r_io_static_deps = [
r_util_static_dep,
r_socket_static_dep,
winkd_static_dep,
bochs_dep,
gdb_dep,
qnx_dep,
zip_dep,
ar_dep,
pth
]
if host_machine.system() == 'linux' or host_machine.system() == 'android'
r_io_sources += [
'p/io_r2k_linux.c',
@ -92,7 +103,19 @@ r_io = library('r_io', r_io_sources,
)
r_io_dep = declare_dependency(link_with: r_io,
include_directories: platform_inc)
include_directories: platform_inc)
r_io_static = static_library('r_io_static', r_io_sources,
include_directories: platform_inc,
link_with: [r_util_static, r_socket_static],
dependencies: r_io_static_deps,
c_args: library_cflags,
install: true,
implicit_include_directories: false,
)
r_io_static_dep = declare_dependency(link_with: r_io_static,
include_directories: platform_inc)
pkgconfig_mod.generate(r_io,
subdirs: 'libr',

View File

@ -26,6 +26,17 @@ r_lang = library('r_lang', r_lang_sources,
r_lang_dep = declare_dependency(link_with: r_lang,
include_directories: [platform_inc])
r_lang_static = static_library('r_lang_static', r_lang_sources,
include_directories: [platform_inc, spp_inc],
c_args: library_cflags,
dependencies: [r_util_static_dep, r_cons_static_dep],
install: true,
implicit_include_directories: false,
)
r_lang_static_dep = declare_dependency(link_with: r_lang_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_lang,
subdirs: 'libr',
version: r2_version,

View File

@ -32,6 +32,19 @@ r_magic_dep = declare_dependency(
include_directories: platform_inc
)
r_magic_static = static_library('r_magic_static', r_magic_sources,
include_directories: platform_inc,
c_args: library_cflags,
dependencies: r_magic_deps,
install: true,
implicit_include_directories: false,
)
r_magic_static_dep = declare_dependency(
link_with: r_magic_static,
include_directories: platform_inc
)
pkgconfig_mod.generate(r_magic,
subdirs: 'libr',
version: r2_version,

View File

@ -41,6 +41,32 @@ r_main_deps = [
r_crypto_dep
]
r_main_static_deps = [
r_config_static_dep,
r_cons_static_dep,
r_io_static_dep,
r_util_static_dep,
r_flag_static_dep,
r_asm_static_dep,
r_core_static_dep,
r_debug_static_dep,
r_hash_static_dep,
r_bin_static_dep,
r_lang_static_dep,
r_io_static_dep,
r_anal_static_dep,
r_parse_static_dep,
r_bp_static_dep,
r_egg_static_dep,
r_reg_static_dep,
r_search_static_dep,
r_syscall_static_dep,
r_socket_static_dep,
r_fs_static_dep,
r_magic_static_dep,
r_crypto_static_dep
]
r_main = library('r_main', r_main_sources,
include_directories: [platform_inc],
c_args: library_cflags,
@ -55,6 +81,20 @@ r_main_dep = declare_dependency(link_with: r_main,
include_directories: [platform_inc],
dependencies: r_main_deps)
r_main_static = static_library('r_main_static', r_main_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: r_main_static_deps,
install: true,
implicit_include_directories: false,
)
r_main_static_dep = declare_dependency(
link_with: r_main_static,
include_directories: [platform_inc],
dependencies: r_main_static_deps
)
pkgconfig_mod.generate(r_main,
subdirs: 'libr',
version: r2_version,

View File

@ -585,7 +585,7 @@ r_util_files = [
install_headers(r_util_files, install_dir: join_paths(r2_incdir, 'r_util'))
r_crypto_files = [
join_paths('include','r_crypto','r_des.h')
'include/r_crypto/r_des.h'
]
install_headers(r_crypto_files, install_dir: join_paths(r2_incdir, 'r_crypto'))

View File

@ -61,6 +61,25 @@ r_parse = library('r_parse', r_parse_sources,
r_parse_dep = declare_dependency(link_with: r_parse,
include_directories: platform_inc)
r_parse_static = static_library('r_parse_static', r_parse_sources,
include_directories: platform_inc,
c_args: library_cflags,
dependencies: [
r_util_static_dep,
r_flag_static_dep,
r_syscall_static_dep,
r_reg_static_dep,
r_cons_static_dep,
tcc_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_parse_static_dep = declare_dependency(link_with: r_parse_static,
include_directories: platform_inc)
pkgconfig_mod.generate(r_parse,
subdirs: 'libr',
version: r2_version,

View File

@ -20,6 +20,17 @@ r_reg = library('r_reg', r_reg_sources,
r_reg_dep = declare_dependency(link_with: r_reg,
include_directories: [platform_inc])
r_reg_static = static_library('r_reg_static', r_reg_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [r_util_dep],
install: true,
implicit_include_directories: false,
)
r_reg_static_dep = declare_dependency(link_with: r_reg_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_reg,
subdirs: 'libr',
version: r2_version,

View File

@ -21,7 +21,18 @@ r_search = library('r_search', r_search_sources,
)
r_search_dep = declare_dependency(link_with: r_search,
include_directories: [platform_inc])
include_directories: [platform_inc])
r_search_static = static_library('r_search_static', r_search_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [r_util_static_dep],
install: true,
implicit_include_directories: false,
)
r_search_static_dep = declare_dependency(link_with: r_search_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_search,
subdirs: 'libr',

View File

@ -31,6 +31,20 @@ r_socket_dep = declare_dependency(link_with: r_socket,
dependencies: [r_util_dep],
include_directories: [platform_inc])
r_socket_static = static_library('r_socket_static', r_socket_sources,
include_directories: [platform_inc],
dependencies: r_util_deps,
link_with: [r_util],
c_args: library_cflags,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_socket_static_dep = declare_dependency(link_with: r_socket_static,
dependencies: [r_util_static_dep],
include_directories: [platform_inc])
pkgconfig_mod.generate(r_socket,
subdirs: 'libr',
version: r2_version,

View File

@ -24,6 +24,20 @@ r_syscall = library('r_syscall', r_syscall_sources,
r_syscall_dep = declare_dependency(link_with: r_syscall, include_directories: [platform_inc])
r_syscall_static = static_library('r_syscall_static', r_syscall_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [
r_util_static_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_syscall_static_dep = declare_dependency(link_with: r_syscall_static,
include_directories: [platform_inc])
pkgconfig_mod.generate(r_syscall,
subdirs: 'libr',
version: r2_version,

View File

@ -125,6 +125,19 @@ r_util_dep = declare_dependency(link_with: r_util,
include_directories: platform_inc,
dependencies: r_util_deps)
r_util_static = static_library('r_util_static', r_util_sources,
include_directories: platform_inc,
c_args: library_cflags,
dependencies: r_util_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
)
r_util_static_dep = declare_dependency(link_with: r_util_static,
include_directories: platform_inc,
dependencies: r_util_deps)
pkgconfig_mod.generate(r_util,
subdirs: ['libr', 'libr/sdb'],
version: r2_version,

View File

@ -361,6 +361,16 @@ winkd_dep = declare_dependency(
include_directories: winkd_inc
)
libr2winkd_static = static_library('r2winkd_static', winkd_files,
dependencies: [r_hash_static_dep, r_crypto_static_dep, r_socket_static_dep, r_util_static_dep],
include_directories: winkd_inc,
implicit_include_directories: false
)
winkd_static_dep = declare_dependency(
link_with: libr2winkd_static,
include_directories: winkd_inc
)
# handle ar dependency
ar_files = [