slow_tests = want_tests != 'false' and get_option('slow-tests')
install_tests = get_option('install-tests')
-if want_tests != 'false'
- cxx = find_program('c++', required : false)
- if cxx.found()
- # Used only for tests
- add_languages('cpp')
- endif
+cxx = find_program('c++', required : false)
+if cxx.found()
+ # Used only for tests
+ add_languages('cpp')
endif
want_ossfuzz = get_option('oss-fuzz')
conf.set10('ENABLE_DEBUG_MMAP_CACHE', enable_debug_mmap_cache)
conf.set10('VALGRIND', get_option('valgrind'))
+conf.set10('LOG_TRACE', get_option('log-trace'))
#####################################################################
if want_importd != 'false'
have = (conf.get('HAVE_LIBCURL') == 1 and
conf.get('HAVE_ZLIB') == 1 and
- conf.get('HAVE_BZIP2') == 1 and
conf.get('HAVE_XZ') == 1 and
conf.get('HAVE_GCRYPT') == 1)
if want_importd == 'true' and not have
test_dlopen_c,
include_directories : includes,
link_with : [libbasic],
- dependencies : [libdl])
+ dependencies : [libdl],
+ build_by_default : want_tests != 'false')
foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'],
['systemd', 'ENABLE_NSS_SYSTEMD'],
module = tuple[0]
sym = 'src/nss-@0@/nss-@0@.sym'.format(module)
- version_script_arg = join_paths(meson.current_source_dir(), sym)
+ version_script_arg = join_paths(meson.source_root(), sym)
nss = shared_library(
'nss_' + module,
public_programs += exe
if conf.get('HAVE_PAM') == 1
- version_script_arg = join_paths(meson.current_source_dir(), pam_systemd_sym)
+ version_script_arg = join_paths(meson.source_root(), pam_systemd_sym)
pam_systemd = shared_library(
'pam_systemd',
pam_systemd_c,
test('dlopen-pam_systemd',
test_dlopen,
# path to dlopen must include a slash
- args : [pam_systemd.full_path()])
+ args : pam_systemd.full_path())
endif
endif
endif
install : true,
install_dir : rootlibexecdir)
+exe = executable('systemd-id128',
+ 'src/id128/id128.c',
+ include_directories : includes,
+ link_with : [libshared],
+ install_rpath : rootlibexecdir,
+ install : true)
+public_programs += exe
+
exe = executable('systemd-path',
'src/path/path.c',
include_directories : includes,
exe = executable('systemd-udevd',
systemd_udevd_sources,
include_directories : includes,
- c_args : ['-DLOG_REALM=LOG_REALM_UDEV'],
+ c_args : '-DLOG_REALM=LOG_REALM_UDEV',
link_with : [libudev_core,
libsystemd_network,
libudev_static],
exe = executable('udevadm',
udevadm_sources,
- c_args : ['-DLOG_REALM=LOG_REALM_UDEV'],
+ c_args : '-DLOG_REALM=LOG_REALM_UDEV',
include_directories : includes,
link_with : [libudev_core,
libsystemd_network,
timeout = type.split('=')[1].to_int()
type = ''
endif
- if want_tests == 'false'
- message('Not compiling @0@ because tests is set to false'.format(name))
- elif condition == '' or conf.get(condition) == 1
+
+ if condition == '' or conf.get(condition) == 1
exe = executable(
name,
sources,
link_with : link_with,
dependencies : dependencies,
c_args : defs,
+ build_by_default : want_tests != 'false',
install_rpath : rootlibexecdir,
install : install_tests,
install_dir : join_paths(testsdir, type))
message('@0@ is a manual test'.format(name))
elif type == 'unsafe' and want_tests != 'unsafe'
message('@0@ is an unsafe test'.format(name))
- else
+ elif want_tests != 'false'
test(name, exe,
env : test_env,
timeout : timeout)
test_libsystemd_sym_c,
include_directories : includes,
link_with : [libsystemd],
+ build_by_default : want_tests != 'false',
install : install_tests,
install_dir : testsdir)
if want_tests != 'false'
link_with : [install_libsystemd_static],
dependencies : [threads], # threads is already included in dependencies on the library,
# but does not seem to get propagated. Add here as a work-around.
- build_by_default : static_libsystemd_pic,
+ build_by_default : want_tests != 'false' and static_libsystemd_pic,
install : install_tests and static_libsystemd_pic,
install_dir : testsdir)
if want_tests != 'false' and static_libsystemd_pic
'test-libudev-sym',
test_libudev_sym_c,
include_directories : includes,
- c_args : ['-Wno-deprecated-declarations'],
+ c_args : '-Wno-deprecated-declarations',
link_with : [libudev],
+ build_by_default : want_tests != 'false',
install : install_tests,
install_dir : testsdir)
if want_tests != 'false'
'test-libudev-static-sym',
test_libudev_sym_c,
include_directories : includes,
- c_args : ['-Wno-deprecated-declarations'],
+ c_args : '-Wno-deprecated-declarations',
link_with : [install_libudev_static],
- build_by_default : static_libudev_pic,
+ build_by_default : want_tests != 'false' and static_libudev_pic,
install : install_tests and static_libudev_pic,
install_dir : testsdir)
if want_tests != 'false' and static_libudev_pic
if want_tests != 'false'
test('check-help-' + name,
meson_check_help,
- args : [exec.full_path()])
+ args : exec.full_path())
endif
endforeach
test('@0@:@1@:@2@'.format(b, c, sanitizer),
env,
args : [exe.full_path(),
- join_paths(meson.source_root(),
- 'test/fuzz-regressions',
- p)])
+ join_paths(meson.source_root(), p)])
endif
endforeach
endif
if git.found()
all_files = run_command(
git,
- ['--git-dir=@0@/.git'.format(meson.current_source_dir()),
+ ['--git-dir=@0@/.git'.format(meson.source_root()),
'ls-files',
':/*.[ch]'])
all_files = files(all_files.stdout().split())
custom_target(
'tags',
output : 'tags',
- command : [env, 'etags', '-o', '@0@/TAGS'.format(meson.current_source_dir())] + all_files)
+ command : [env, 'etags', '-o', '@0@/TAGS'.format(meson.source_root())] + all_files)
run_target(
'ctags',
- command : [env, 'ctags', '-o', '@0@/tags'.format(meson.current_source_dir())] + all_files)
+ command : [env, 'ctags', '-o', '@0@/tags'.format(meson.source_root())] + all_files)
endif
if git.found()
if git.found()
git_head = run_command(
git,
- ['--git-dir=@0@/.git'.format(meson.current_source_dir()),
+ ['--git-dir=@0@/.git'.format(meson.source_root()),
'rev-parse', 'HEAD']).stdout().strip()
git_head_short = run_command(
git,
- ['--git-dir=@0@/.git'.format(meson.current_source_dir()),
+ ['--git-dir=@0@/.git'.format(meson.source_root()),
'rev-parse', '--short=7', 'HEAD']).stdout().strip()
run_target(
'git-snapshot',
command : ['git', 'archive',
- '-o', '@0@/systemd-@1@.tar.gz'.format(meson.current_source_dir(),
+ '-o', '@0@/systemd-@1@.tar.gz'.format(meson.source_root(),
git_head_short),
'--prefix', 'systemd-@0@/'.format(git_head),
'HEAD'])
depends : [man, libsystemd, libudev],
command : [meson_check_api_docs_sh, libsystemd.full_path(), libudev.full_path()])
+run_target(
+ 'make-index-md',
+ command : ['sh', '@0@/tools/make-index-md.sh'.format(meson.source_root()), meson.source_root()])
+
############################################################
status = [
['blkid'],
['dbus'],
['glib'],
- ['nss-myhostname', conf.get('ENABLE_NSS_MYHOSTNAME') == 1],
- ['nss-mymachines', conf.get('ENABLE_NSS_MYMACHINES') == 1],
- ['nss-resolve', conf.get('ENABLE_NSS_RESOLVE') == 1],
- ['nss-systemd', conf.get('ENABLE_NSS_SYSTEMD') == 1],
+ ['nss-myhostname'],
+ ['nss-mymachines'],
+ ['nss-resolve'],
+ ['nss-systemd'],
['hwdb'],
['tpm'],
['man pages', want_man],
['debug hashmap'],
['debug mmap cache'],
['valgrind', conf.get('VALGRIND') == 1],
+ ['trace logging', conf.get('LOG_TRACE') == 1],
]
if tuple.length() >= 2