Use add_global_arguments instead of passing cflags/ldflags all around (#2812)

See also 66a0e22293/docs/TESTING_WITH_SANITIZERS.md (clang)
This commit is contained in:
Riccardo Schirone 2022-07-17 15:33:51 +02:00 committed by GitHub
parent 6c665c6098
commit 8939fdbd7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 11 additions and 93 deletions

View file

@ -196,6 +196,9 @@ jobs:
export PATH=${HOME}/Library/Python/3.8/bin:${HOME}/Library/Python/3.9/bin:${HOME}/.local/bin:${PATH}
if [ "$ASAN" == "true" ]; then
export CFLAGS="-DASAN=1 ${CFLAGS}"
if [ "$CC" == "clang" ]; then
export LD_LIBRARY_PATH=$(dirname $(clang -print-file-name=libclang_rt.asan-x86_64.so)):${LD_LIBRARY_PATH}
fi
fi
meson --prefix=${HOME} ${{ matrix.meson_options }} build && ninja -C build
env:

View file

@ -1,5 +1,4 @@
rizin_exe = executable('rizin', 'rizin.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_util_dep,
@ -27,7 +26,6 @@ rizin_exe = executable('rizin', 'rizin.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)
if host_machine.system() == 'darwin'

View file

@ -1,5 +1,4 @@
executable('rz-agent', 'rz-agent.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_util_dep,
@ -10,5 +9,4 @@ executable('rz-agent', 'rz-agent.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-asm', 'rz-asm.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_main_dep,
@ -7,5 +6,4 @@ executable('rz-asm', 'rz-asm.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,9 +1,7 @@
executable('rz-ax', 'rz-ax.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [rz_util_dep, rz_main_dep],
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-bin', 'rz-bin.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_main_dep,
@ -7,5 +6,4 @@ executable('rz-bin', 'rz-bin.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-diff', 'rz-diff.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_util_dep,
@ -17,5 +16,4 @@ executable('rz-diff', 'rz-diff.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-find', 'rz-find.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_main_dep,
@ -13,5 +12,4 @@ executable('rz-find', 'rz-find.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-gg', 'rz-gg.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_util_dep,
@ -16,5 +15,4 @@ executable('rz-gg', 'rz-gg.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-hash', 'rz-hash.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_main_dep,
@ -7,5 +6,4 @@ executable('rz-hash', 'rz-hash.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-run', 'rz-run.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_main_dep,
@ -9,5 +8,4 @@ executable('rz-run', 'rz-run.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,5 +1,4 @@
executable('rz-sign', 'rz-sign.c',
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_util_dep,
@ -11,5 +10,4 @@ executable('rz-sign', 'rz-sign.c',
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)

View file

@ -1,7 +1,6 @@
if get_option('enable_rz_test')
executable('rz-test', ['rz-test.c', 'load.c', 'run.c'],
c_args: executable_cflags,
include_directories: [platform_inc],
dependencies: [
rz_util_dep,
@ -11,6 +10,5 @@ if get_option('enable_rz_test')
install: true,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)
endif

View file

@ -250,7 +250,6 @@ rz_analysis_inc = [
rz_analysis = library('rz_analysis', rz_analysis_sources,
include_directories: rz_analysis_inc,
c_args: library_cflags,
dependencies: [
rz_util_dep,
rz_crypto_dep,
@ -271,7 +270,6 @@ rz_analysis = library('rz_analysis', rz_analysis_sources,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -301,7 +301,6 @@ rz_asm_inc = [
rz_asm = library('rz_asm', rz_asm_sources,
include_directories: rz_asm_inc,
c_args: library_cflags,
dependencies: [
rz_util_dep,
rz_config_dep,
@ -315,7 +314,6 @@ rz_asm = library('rz_asm', rz_asm_sources,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -250,7 +250,7 @@ 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,
c_args: ['-DRZ_API_BIN_ONLY=1'],
dependencies: [
lz4_dep,
yxml_dep,
@ -268,7 +268,6 @@ rz_bin = library('rz_bin', rz_bin_sources,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -24,12 +24,10 @@ rz_bp_sources = [
rz_bp = library('rz_bp', rz_bp_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [rz_util_dep],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -6,14 +6,12 @@ rz_config_sources = [
rz_config = library('rz_config', rz_config_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [
rz_util_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -19,12 +19,10 @@ rz_cons_sources = [
rz_cons = library('rz_cons', rz_cons_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [rz_util_dep],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -152,12 +152,10 @@ endif
rz_core = library('rz_core', rz_core_sources,
include_directories: rz_core_inc,
c_args: library_cflags,
dependencies: rz_core_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -45,11 +45,9 @@ aes_dep = nettle_proj.get_variable('aes_dep')
rz_crypto = library('rz_crypto', rz_crypto_sources,
include_directories: [platform_inc],
dependencies: [rz_util_dep, aes_dep],
c_args: library_cflags,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -130,12 +130,10 @@ rz_debug_inc = [
rz_debug = library('rz_debug', rz_debug_sources,
include_directories: rz_debug_inc,
c_args: library_cflags,
dependencies: rz_debug_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -20,12 +20,10 @@ dependencies = [rz_util_dep, libdemangle_dep]
rz_demangler = library('rz_demangler', rz_demangler_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: dependencies,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -7,12 +7,10 @@ dependencies = [rz_util_dep]
rz_diff = library('rz_diff', rz_diff_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: dependencies,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -22,7 +22,6 @@ rz_egg_sources = [
rz_egg = library('rz_egg', rz_egg_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [
rz_util_dep,
rz_syscall_dep,
@ -32,7 +31,6 @@ rz_egg = library('rz_egg', rz_egg_sources,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -7,14 +7,12 @@ rz_flag_sources = [
rz_flag = library('rz_flag', rz_flag_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [
rz_util_dep
],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -112,12 +112,10 @@ endif
rz_hash = library('rz_hash', rz_hash_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: dependencies,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -24,7 +24,6 @@ rz_il_inc = [
rz_il = library('rz_il', rz_il_sources,
include_directories: rz_il_inc,
c_args: library_cflags,
dependencies: [
rz_util_dep,
rz_reg_dep
@ -32,7 +31,6 @@ rz_il = library('rz_il', rz_il_sources,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -132,11 +132,9 @@ endif
rz_io = library('rz_io', rz_io_sources,
include_directories: platform_inc,
dependencies: rz_io_deps,
c_args: library_cflags,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -26,12 +26,10 @@ endif
rz_lang = library('rz_lang', rz_lang_sources,
include_directories: platform_inc,
c_args: library_cflags,
dependencies: [rz_util_dep, rz_cons_dep],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -19,12 +19,10 @@ endif
rz_magic = library('rz_magic', rz_magic_sources,
include_directories: platform_inc,
c_args: library_cflags,
dependencies: rz_magic_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -42,12 +42,10 @@ rz_main_deps = [
rz_main = library('rz_main', rz_main_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: rz_main_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -45,7 +45,6 @@ rz_parse_sources = [
rz_parse = library('rz_parse', rz_parse_sources,
include_directories: platform_inc,
c_args: library_cflags,
dependencies: [
rz_util_dep,
rz_flag_dep,
@ -56,7 +55,6 @@ rz_parse = library('rz_parse', rz_parse_sources,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -9,12 +9,10 @@ rz_reg_sources = [
rz_reg = library('rz_reg', rz_reg_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [rz_util_dep],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -10,12 +10,10 @@ rz_search_sources = [
rz_search = library('rz_search', rz_search_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [rz_util_dep],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -22,12 +22,10 @@ rz_sign_deps = [
rz_sign = library('rz_sign', rz_sign_sources,
include_directories: rz_sign_inc,
c_args: library_cflags,
dependencies: rz_sign_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -26,11 +26,9 @@ endif
rz_socket = library('rz_socket', rz_socket_sources,
include_directories: [platform_inc],
dependencies: dependencies,
c_args: library_cflags,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -4,12 +4,10 @@ rz_syscall_sources = [
rz_syscall = library('rz_syscall', rz_syscall_sources,
include_directories: [platform_inc],
c_args: library_cflags,
dependencies: [rz_util_dep],
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -27,7 +27,6 @@ rz_type_inc = [
rz_type = library('rz_type', rz_type_sources,
include_directories: rz_type_inc,
c_args: library_cflags,
dependencies: [
rz_util_dep,
tree_sitter_c_dep,
@ -36,7 +35,6 @@ rz_type = library('rz_type', rz_type_sources,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -96,12 +96,10 @@ endif
rz_util = library('rz_util', rz_util_sources,
include_directories: platform_inc,
c_args: library_cflags,
dependencies: rz_util_deps,
install: true,
implicit_include_directories: false,
install_rpath: rpath_lib,
link_args: library_linkflags,
soversion: rizin_libversion,
version: rizin_version,
name_suffix: lib_name_suffix,

View file

@ -147,19 +147,15 @@ if get_option('default_library') == 'shared'
endif
endif
executable_cflags = []
executable_linkflags = []
library_cflags = ['-DRZ_PLUGIN_INCORE=1']
library_linkflags = []
add_project_arguments(['-DRZ_PLUGIN_INCORE=1'], language: 'c')
b_sanitize_opt = get_option('b_sanitize')
if (b_sanitize_opt.contains('address') or b_sanitize_opt.contains('undefined')) and cc.get_id() == 'clang'
executable_cflags += '-shared-libasan'
executable_linkflags += '-shared-libasan'
library_cflags += '-shared-libasan'
library_linkflags += '-shared-libasan'
add_global_arguments('-shared-libasan', language: 'c')
add_global_link_arguments('-shared-libasan', language: 'c')
add_global_arguments('-shared-libasan', language: 'c', native: true)
add_global_link_arguments('-shared-libasan', language: 'c', native: true)
endif
rizin_prefix = get_option('prefix')
rizin_bindir = get_option('bindir')
rizin_libdir = get_option('libdir')

View file

@ -31,7 +31,6 @@ if get_option('enable_tests')
foreach test : tests
exe = executable('test_@0@'.format(test), 'test_@0@.c'.format(test),
c_args: executable_cflags,
# '.' to find autogenerated "test_config.h"
include_directories: [platform_inc, '.'],
dependencies: [
@ -62,7 +61,6 @@ if get_option('enable_tests')
install: false,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)
test(test, exe, workdir: join_paths(meson.current_source_dir(), '..'), env: unit_test_env, suite: 'integration')
endforeach

View file

@ -9,8 +9,7 @@ warn_unused_flag = '-Wno-unused-result'
auxiliaries = []
foreach file : files
auxiliaries += [executable(file, '@0@.c'.format(file),
c_args: executable_cflags + (meson.get_compiler('c').has_argument(warn_unused_flag) ? [warn_unused_flag] : []),
c_args: meson.get_compiler('c').has_argument(warn_unused_flag) ? [warn_unused_flag] : [],
install: false,
link_args: executable_linkflags
)]
endforeach

View file

@ -107,7 +107,6 @@ if get_option('enable_tests')
foreach test : tests
exe = executable('test_@0@'.format(test), 'test_@0@.c'.format(test),
c_args: executable_cflags,
include_directories: [platform_inc, '.'],
dependencies: [
rz_util_dep,
@ -138,7 +137,6 @@ if get_option('enable_tests')
install: false,
install_rpath: rpath_exe,
implicit_include_directories: false,
link_args: executable_linkflags
)
test(test, exe, workdir: join_paths(meson.current_source_dir(), '..'), env: unit_test_env, depends: [auxiliaries, types_files], suite: 'unit')
endforeach

View file

@ -225,6 +225,7 @@ bool test_rz_str_split_list(void) {
mu_assert_streq(rz_list_get_n(l3, 2), "And", "third item");
mu_assert_streq(rz_list_get_n(l3, 3), "Everyone", "fourth item");
rz_list_free(l3);
mu_end;
}
bool test_rz_str_split_lines(void) {