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 23, 2023
1 parent dd6ca70 commit 8251f2d
Show file tree
Hide file tree
Showing 28 changed files with 270 additions and 243 deletions.
60 changes: 25 additions & 35 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 @@ -290,28 +292,16 @@ rz_analysis = library('rz_analysis', rz_analysis_sources,
name_prefix: lib_name_prefix,
)

rz_analysis_dep = declare_dependency(link_with: rz_analysis,
include_directories: rz_analysis_inc)
rz_analysis_dep = declare_dependency(
link_with: rz_analysis,
include_directories: rz_analysis_inc,
variables: {'name': 'rz_analysis'},
)
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
31 changes: 18 additions & 13 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 @@ -327,13 +329,16 @@ rz_asm = library('rz_asm', rz_asm_sources,
name_prefix: lib_name_prefix,
)

rz_asm_dep = declare_dependency(link_with: rz_asm,
include_directories: rz_asm_inc)
rz_asm_dep = declare_dependency(
link_with: rz_asm,
include_directories: rz_asm_inc,
variables: {'name': 'rz_asm'},
)
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
46 changes: 22 additions & 24 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 @@ -277,20 +279,16 @@ rz_bin = library('rz_bin', rz_bin_sources,
name_prefix: lib_name_prefix,
)

rz_bin_dep = declare_dependency(link_with: rz_bin,
include_directories: rz_bin_inc)
rz_bin_dep = declare_dependency(
link_with: rz_bin,
include_directories: rz_bin_inc,
variables: {'name': 'rz_bin'},
)
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
12 changes: 8 additions & 4 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 @@ -38,12 +39,15 @@ rz_bp = library('rz_bp', rz_bp_sources,
name_prefix: lib_name_prefix,
)

rz_bp_dep = declare_dependency(link_with: rz_bp,
include_directories: [platform_inc])
rz_bp_dep = declare_dependency(
link_with: rz_bp,
include_directories: [platform_inc],
variables: {'name': 'rz_bp'},
)
meson.override_dependency('rz_bp', rz_bp_dep)

modules += { 'rz_bp': {
'target': rz_bp,
'dependencies': ['rz_util'],
'dependencies': rz_bp_deps,
'plugins': [bp_plugins]
}}
14 changes: 8 additions & 6 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 @@ -18,11 +17,14 @@ rz_config = library('rz_config', rz_config_sources,
name_prefix: lib_name_prefix,
)

rz_config_dep = declare_dependency(link_with: rz_config,
include_directories: [platform_inc])
rz_config_dep = declare_dependency(
link_with: rz_config,
include_directories: [platform_inc],
variables: {'name': 'rz_config'},
)
meson.override_dependency('rz_config', rz_config_dep)

modules += { 'rz_config': {
'target': rz_config,
'dependencies': ['rz_util']
'dependencies': rz_config_deps
}}
12 changes: 8 additions & 4 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 @@ -32,13 +33,16 @@ rz_cons = library('rz_cons', rz_cons_sources,
name_prefix: lib_name_prefix,
)

rz_cons_dep = declare_dependency(link_with: rz_cons,
include_directories: [platform_inc])
rz_cons_dep = declare_dependency(
link_with: rz_cons,
include_directories: [platform_inc],
variables: {'name': 'rz_cons'},
)
meson.override_dependency('rz_cons', rz_cons_dep)

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

subdir('d')
37 changes: 7 additions & 30 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 @@ -175,39 +175,16 @@ rz_core = library('rz_core', rz_core_sources,
name_prefix: lib_name_prefix,
)

rz_core_dep = declare_dependency(link_with: rz_core,
include_directories: rz_core_inc)
rz_core_dep = declare_dependency(
link_with: rz_core,
include_directories: rz_core_inc,
variables: {'name': 'rz_core'},
)
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]
}}

12 changes: 8 additions & 4 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 @@ -58,12 +59,15 @@ rz_crypto = library('rz_crypto', rz_crypto_sources,
name_prefix: lib_name_prefix,
)

rz_crypto_dep = declare_dependency(link_with: rz_crypto,
include_directories: [platform_inc])
rz_crypto_dep = declare_dependency(
link_with: rz_crypto,
include_directories: [platform_inc],
variables: {'name': 'rz_crypto'},
)
meson.override_dependency('rz_crypto', rz_crypto_dep)

modules += { 'rz_crypto': {
'target': rz_crypto,
'dependencies': ['rz_util'],
'dependencies': rz_crypto_deps,
'plugins': [crypto_plugins]
}}
Loading

0 comments on commit 8251f2d

Please sign in to comment.