32 lines
870 B
Meson
32 lines
870 B
Meson
|
|
# libSRTP fuzzer
|
||
|
|
if not add_languages('cpp', required: get_option('fuzzer').enabled())
|
||
|
|
subdir_done()
|
||
|
|
endif
|
||
|
|
|
||
|
|
cxx = meson.get_compiler('cpp')
|
||
|
|
if cxx.get_id() != 'clang'
|
||
|
|
err_msg = 'libSRTP fuzzer requires compilation with clang, but compiler is ' + cxx.get_id()
|
||
|
|
if get_option('fuzzer').enabled()
|
||
|
|
error(err_msg)
|
||
|
|
else
|
||
|
|
warning(err_msg)
|
||
|
|
subdir_done()
|
||
|
|
endif
|
||
|
|
endif
|
||
|
|
|
||
|
|
libfuzzer = cxx.find_library('libFuzzer', required: get_option('fuzzer'))
|
||
|
|
|
||
|
|
# libFuzzer.a seems to need pthread, at least on Linux
|
||
|
|
threads = dependency('threads')
|
||
|
|
|
||
|
|
if libfuzzer.found()
|
||
|
|
executable('srtp-fuzzer',
|
||
|
|
'fuzzer.c', 'testmem.c', 'mt19937.cpp',
|
||
|
|
include_directories: [config_incs, crypto_incs, srtp2_incs],
|
||
|
|
cpp_args: ['-fsanitize=fuzzer'],
|
||
|
|
override_options : ['cpp_std=c++11'],
|
||
|
|
dependencies: [libfuzzer, threads],
|
||
|
|
link_with: libsrtp2,
|
||
|
|
install: false)
|
||
|
|
endif
|