From: Andrei Pavel Date: Tue, 4 Feb 2025 14:58:43 +0000 (+0200) Subject: [#3729] The remaining Meson C++ targets X-Git-Tag: Kea-2.7.7~268 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e2394bfb06b32c23f53de2ce23a59f113d472bb3;p=thirdparty%2Fkea.git [#3729] The remaining Meson C++ targets --- diff --git a/fuzz/input/meson.build b/fuzz/input/meson.build new file mode 100644 index 0000000000..e69de29bb2 diff --git a/fuzz/meson.build b/fuzz/meson.build new file mode 100644 index 0000000000..bba238efc5 --- /dev/null +++ b/fuzz/meson.build @@ -0,0 +1,33 @@ +subdir('input') +subdir('tests') + +fuzz_sources = ['fuzz.cc', 'fuzz.h'] +cpp_flags = [] +if FUZZING_IN_CI + cpp_flags = ['-fsanitize=fuzzer', '-gdwarf-4'] +else + fuzz_sources += ['main.cc'] +endif + +fuzz_lib = static_library('fuzz_lib', + fuzz_sources, + cpp_args: cpp_flags + [ + f'-DKEA_LFC_SOURCES="@KEA_LFC@"', + f'-DKEA_LFC_INSTALLATION="@PREFIX@/sbin/kea-lfc"', + ], + dependencies: [crypto], + include_directories: [include_directories('.')] + INCLUDES, + link_with: LIBS_BUILT_SO_FAR, +) + +executable('fuzz_config_kea_dhcp4', + 'fuzz_config_kea_dhcp4.cc', + fuzz_sources, + cpp_args: cpp_flags + [ + f'-DKEA_LFC_SOURCES="@KEA_LFC@"', + f'-DKEA_LFC_INSTALLATION="@PREFIX@/sbin/kea-lfc"', + ], + dependencies: [crypto], + include_directories: [include_directories('.')] + INCLUDES, + link_with: [dhcp4_lib, fuzz_lib] + LIBS_BUILT_SO_FAR, +) diff --git a/fuzz/tests/meson.build b/fuzz/tests/meson.build new file mode 100644 index 0000000000..e69de29bb2 diff --git a/meson.build b/meson.build index ab6c2cce46..9fc51f2193 100644 --- a/meson.build +++ b/meson.build @@ -20,6 +20,9 @@ KEA_ADMIN = f'@TOP_BUILD_DIR@/src/bin/admin/kea-admin' KEA_LFC = f'@TOP_BUILD_DIR@/src/bin/lfc/kea-lfc' TEST_CA_DIR = f'@TOP_SOURCE_DIR@/src/lib/asiolink/testutils/ca' +# TODO: Control it via a build option. +FUZZING_IN_CI = false + #### Configuration Data conf_data = configuration_data( @@ -287,12 +290,12 @@ message(f'Detected system "@SYSTEM@".') #### System-specific Compiler Flags -prefix = get_option('prefix') +PREFIX = get_option('prefix') if SYSTEM == 'darwin' add_project_arguments('-D__APPLE_USE_RFC_3542', language: 'cpp') - add_project_link_arguments(f'-Wl,-rpath,@prefix@/lib', language: 'cpp') + add_project_link_arguments(f'-Wl,-rpath,@PREFIX@/lib', language: 'cpp') else - add_project_link_arguments(f'-Wl,-rpath=@prefix@/lib', language: 'cpp') + add_project_link_arguments(f'-Wl,-rpath=@PREFIX@/lib', language: 'cpp') endif have_premium = fs.is_dir('premium') @@ -332,6 +335,7 @@ INCLUDES = [ LIBS_BUILT_SO_FAR = [] subdir('src') +subdir('fuzz') if have_premium subdir('premium') endif