Skip to content

Commit

Permalink
build: consistently calculate dependencies for pkgconfig/cmake files
Browse files Browse the repository at this point in the history
  • Loading branch information
ret2libc committed Feb 22, 2023
1 parent dd6ca70 commit 35ad621
Show file tree
Hide file tree
Showing 28 changed files with 145 additions and 192 deletions.
53 changes: 20 additions & 33 deletions librz/analysis/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -262,25 +262,27 @@ rz_analysis_inc = [
)
]

rz_analysis_deps = [
rz_util_dep,
rz_crypto_dep,
rz_reg_dep,
rz_syscall_dep,
rz_search_dep,
rz_cons_dep,
rz_flag_dep,
rz_hash_dep,
rz_diff_dep,
rz_parse_dep,
rz_asm_dep,
rz_bin_dep,
rz_type_dep,
rz_il_dep,
capstone_dep
]

rz_analysis = library('rz_analysis', rz_analysis_sources,
include_directories: rz_analysis_inc,
dependencies: [
rz_util_dep,
rz_crypto_dep,
rz_reg_dep,
rz_syscall_dep,
rz_search_dep,
rz_cons_dep,
rz_flag_dep,
rz_hash_dep,
rz_diff_dep,
rz_parse_dep,
rz_asm_dep,
rz_bin_dep,
rz_type_dep,
rz_il_dep,
capstone_dep
],
dependencies: rz_analysis_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -296,22 +298,7 @@ meson.override_dependency('rz_analysis', rz_analysis_dep)

modules += { 'rz_analysis': {
'target': rz_analysis,
'dependencies': [
'rz_util',
'rz_crypto',
'rz_reg',
'rz_syscall',
'rz_search',
'rz_cons',
'rz_flag',
'rz_hash',
'rz_diff',
'rz_parse',
'rz_asm',
'rz_bin',
'rz_type',
'rz_il',
],
'dependencies': rz_analysis_deps,
'plugins': [analysis_plugins]
}}

Expand Down
24 changes: 13 additions & 11 deletions librz/asm/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -306,18 +306,20 @@ rz_asm_inc = [
)
]

rz_asm_deps = [
rz_util_dep,
rz_config_dep,
rz_syscall_dep,
rz_flag_dep,
rz_parse_dep,
rz_bin_dep,
capstone_dep,
dependency('rzspp'),
]

rz_asm = library('rz_asm', rz_asm_sources,
include_directories: rz_asm_inc,
dependencies: [
rz_util_dep,
rz_config_dep,
rz_syscall_dep,
rz_flag_dep,
rz_parse_dep,
rz_bin_dep,
capstone_dep,
dependency('rzspp'),
],
dependencies: rz_asm_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -333,7 +335,7 @@ meson.override_dependency('rz_asm', rz_asm_dep)

modules += { 'rz_asm': {
'target': rz_asm,
'dependencies': ['rz_util', 'rz_config', 'rz_syscall', 'rz_flag', 'rz_parse', 'rz_bin'],
'dependencies': rz_asm_deps,
'plugins': [asm_plugins]
}}

Expand Down
39 changes: 17 additions & 22 deletions librz/bin/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -251,23 +251,25 @@ rz_bin_sources = [

rz_bin_inc = [platform_inc, include_directories('format')]

rz_bin_deps = [
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,
libmspack_dep,
]

rz_bin = library('rz_bin', rz_bin_sources,
include_directories: rz_bin_inc,
c_args: ['-DRZ_API_BIN_ONLY=1'],
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,
libmspack_dep,
],
dependencies: rz_bin_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -283,14 +285,7 @@ meson.override_dependency('rz_bin', rz_bin_dep)

modules += { 'rz_bin': {
'target': rz_bin,
'dependencies': [
'rz_magic',
'rz_util',
'rz_io',
'rz_socket',
'rz_syscall',
'rz_type'
],
'dependencies': rz_bin_deps,
'plugins': [bin_plugins, bin_xtr_plugins]
}}

Expand Down
5 changes: 3 additions & 2 deletions librz/bp/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ rz_bp_sources = [
'p/bp_x86.c'
]

rz_bp_deps = [rz_util_dep]
rz_bp = library('rz_bp', rz_bp_sources,
include_directories: [platform_inc],
dependencies: [rz_util_dep],
dependencies: rz_bp_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -44,6 +45,6 @@ meson.override_dependency('rz_bp', rz_bp_dep)

modules += { 'rz_bp': {
'target': rz_bp,
'dependencies': ['rz_util'],
'dependencies': rz_bp_deps,
'plugins': [bp_plugins]
}}
7 changes: 3 additions & 4 deletions librz/config/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ rz_config_sources = [
'serialize_config.c'
]

rz_config_deps = [rz_util_dep]
rz_config = library('rz_config', rz_config_sources,
include_directories: [platform_inc],
dependencies: [
rz_util_dep
],
dependencies: rz_config_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -24,5 +23,5 @@ meson.override_dependency('rz_config', rz_config_dep)

modules += { 'rz_config': {
'target': rz_config,
'dependencies': ['rz_util']
'dependencies': rz_config_deps
}}
5 changes: 3 additions & 2 deletions librz/cons/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,10 @@ rz_cons_sources = [
'cutf8.c'
]

rz_cons_deps = [rz_util_dep]
rz_cons = library('rz_cons', rz_cons_sources,
include_directories: [platform_inc],
dependencies: [rz_util_dep],
dependencies: rz_cons_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -38,7 +39,7 @@ meson.override_dependency('rz_cons', rz_cons_dep)

modules += { 'rz_cons': {
'target': rz_cons,
'dependencies': ['rz_util']
'dependencies': rz_cons_deps,
}}

subdir('d')
30 changes: 2 additions & 28 deletions librz/core/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ rz_core_deps = [
rz_debug_dep,
rz_config_dep,
rz_bin_dep,
platform_deps,
] + platform_deps + [
dependency('rzgdb'),
dependency('rzheap'),
shell_parser_dep,
Expand All @@ -181,33 +181,7 @@ meson.override_dependency('rz_core', rz_core_dep)

modules += { 'rz_core': {
'target': rz_core,
'dependencies': [
'rz_magic',
'rz_util',
'rz_demangler',
'rz_diff',
'rz_reg',
'rz_syscall',
'rz_search',
'rz_cons',
'rz_analysis',
'rz_socket',
'rz_type',
'rz_io',
'rz_lang',
'rz_hash',
'rz_flag',
'rz_parse',
'rz_egg',
'rz_debug',
'rz_crypto',
'rz_config',
'rz_bin',
'rz_asm',
'rz_bp',
'rz_sign',
'rz_il'
],
'dependencies': rz_core_deps,
'plugins': [core_plugins]
}}

5 changes: 3 additions & 2 deletions librz/crypto/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,10 @@ rz_crypto_sources = [
nettle_proj = subproject('nettle')
aes_dep = nettle_proj.get_variable('aes_dep')

rz_crypto_deps = [rz_util_dep, aes_dep]
rz_crypto = library('rz_crypto', rz_crypto_sources,
include_directories: [platform_inc],
dependencies: [rz_util_dep, aes_dep],
dependencies: rz_crypto_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -64,6 +65,6 @@ meson.override_dependency('rz_crypto', rz_crypto_dep)

modules += { 'rz_crypto': {
'target': rz_crypto,
'dependencies': ['rz_util'],
'dependencies': rz_crypto_deps,
'plugins': [crypto_plugins]
}}
16 changes: 2 additions & 14 deletions librz/debug/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ rz_debug_deps = [
rz_egg_dep,
rz_analysis_dep,
rz_type_dep,
platform_deps
]
rz_debug_deps += platform_deps

if get_option('use_gpl')
rz_debug_deps += dependency('rzqnx')
Expand Down Expand Up @@ -152,18 +152,6 @@ meson.override_dependency('rz_debug', rz_debug_dep)

modules += { 'rz_debug': {
'target': rz_debug,
'dependencies': [
'rz_util',
'rz_hash',
'rz_reg',
'rz_syscall',
'rz_analysis',
'rz_io',
'rz_bin',
'rz_bp',
'rz_cons',
'rz_egg',
'rz_type'
],
'dependencies': rz_debug_deps,
'plugins': [debug_plugins]
}}
6 changes: 3 additions & 3 deletions librz/demangler/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ rz_demangler_sources = [
'demangler.c'
]

dependencies = [rz_util_dep, libdemangle_dep]
rz_demangler_deps = [rz_util_dep, libdemangle_dep]

rz_demangler = library('rz_demangler', rz_demangler_sources,
include_directories: [platform_inc],
dependencies: dependencies,
dependencies: rz_demangler_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -42,6 +42,6 @@ meson.override_dependency('rz_demangler', rz_demangler_dep)

modules += { 'rz_demangler': {
'target': rz_demangler,
'dependencies': ['rz_util'],
'dependencies': rz_demangler_deps,
'plugins': [demangler_plugins]
}}
6 changes: 3 additions & 3 deletions librz/diff/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ rz_diff_sources = [
'distance.c'
]

dependencies = [rz_util_dep]
rz_diff_deps = [rz_util_dep]

rz_diff = library('rz_diff', rz_diff_sources,
include_directories: [platform_inc],
dependencies: dependencies,
dependencies: rz_diff_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -23,5 +23,5 @@ meson.override_dependency('rz_diff', rz_diff_dep)

modules += { 'rz_diff': {
'target': rz_diff,
'dependencies': ['rz_util']
'dependencies': rz_diff_deps,
}}
16 changes: 9 additions & 7 deletions librz/egg/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,16 @@ rz_egg_sources = [
'p/egg_xor.c'
]

rz_egg_deps = [
rz_util_dep,
rz_syscall_dep,
rz_asm_dep,
mpc_dep
]

rz_egg = library('rz_egg', rz_egg_sources,
include_directories: [platform_inc],
dependencies: [
rz_util_dep,
rz_syscall_dep,
rz_asm_dep,
mpc_dep
],
dependencies: rz_egg_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
Expand All @@ -47,6 +49,6 @@ meson.override_dependency('rz_egg', rz_egg_dep)

modules += { 'rz_egg': {
'target': rz_egg,
'dependencies': ['rz_util', 'rz_asm', 'rz_syscall'],
'dependencies': rz_egg_deps,
'plugins': [egg_plugins]
}}
Loading

0 comments on commit 35ad621

Please sign in to comment.