meson: scope more git invocations with current_source_dir()

This commit is contained in:
Davide Cavalca 2019-02-27 11:19:07 -05:00 committed by Zbigniew Jędrzejewski-Szmek
parent fb6692ed33
commit 1485aacb16
3 changed files with 23 additions and 19 deletions

View File

@ -200,7 +200,7 @@ if git.found()
output : 'update-man-rules', output : 'update-man-rules',
command : ['sh', '-c', command : ['sh', '-c',
'cd @0@ && '.format(meson.build_root()) + 'cd @0@ && '.format(meson.build_root()) +
'python3 @0@/tools/make-man-rules.py $(git ls-files ":/man/*.xml") >t && '.format(meson.source_root()) + 'python3 @0@/tools/make-man-rules.py $(git ls-files ":/man/*.xml") >t && '.format(project_source_root) +
'mv t @0@/rules/meson.build'.format(meson.current_source_dir())], 'mv t @0@/rules/meson.build'.format(meson.current_source_dir())],
depend_files : custom_entities_ent) depend_files : custom_entities_ent)
endif endif

View File

@ -26,6 +26,10 @@ substs = configuration_data()
substs.set('PROJECT_URL', 'https://www.freedesktop.org/wiki/Software/systemd') substs.set('PROJECT_URL', 'https://www.freedesktop.org/wiki/Software/systemd')
substs.set('PROJECT_VERSION', meson.project_version()) substs.set('PROJECT_VERSION', meson.project_version())
# This is to be used instead of meson.source_root(), as the latter will return
# the wrong result when systemd is being built as a meson subproject
project_source_root = meson.current_source_dir()
want_ossfuzz = get_option('oss-fuzz') want_ossfuzz = get_option('oss-fuzz')
want_libfuzzer = get_option('llvm-fuzz') want_libfuzzer = get_option('llvm-fuzz')
if want_ossfuzz and want_libfuzzer if want_ossfuzz and want_libfuzzer
@ -36,7 +40,7 @@ fuzzer_build = want_ossfuzz or want_libfuzzer
##################################################################### #####################################################################
# Try to install the git pre-commit hook # Try to install the git pre-commit hook
git_hook = run_command(join_paths(meson.source_root(), 'tools/add-git-hook.sh')) git_hook = run_command(join_paths(project_source_root, 'tools/add-git-hook.sh'))
if git_hook.returncode() == 0 if git_hook.returncode() == 0
message(git_hook.stdout().strip()) message(git_hook.stdout().strip())
endif endif
@ -575,8 +579,8 @@ endif
##################################################################### #####################################################################
vcs_tagger = [meson.source_root() + '/tools/meson-vcs-tag.sh', vcs_tagger = [project_source_root + '/tools/meson-vcs-tag.sh',
meson.source_root(), project_source_root,
get_option('version-tag'), get_option('version-tag'),
meson.project_version()] meson.project_version()]
@ -595,7 +599,7 @@ git = find_program('git', required : false)
env = find_program('env') env = find_program('env')
perl = find_program('perl', required : false) perl = find_program('perl', required : false)
meson_make_symlink = meson.source_root() + '/tools/meson-make-symlink.sh' meson_make_symlink = project_source_root + '/tools/meson-make-symlink.sh'
mkdir_p = 'mkdir -p $DESTDIR/@0@' mkdir_p = 'mkdir -p $DESTDIR/@0@'
test_efi_create_disk_sh = find_program('test/test-efi-create-disk.sh') test_efi_create_disk_sh = find_program('test/test-efi-create-disk.sh')
splash_bmp = files('test/splash.bmp') splash_bmp = files('test/splash.bmp')
@ -1476,7 +1480,7 @@ libjournal_core = static_library(
include_directories : includes, include_directories : includes,
install : false) install : false)
libsystemd_sym_path = '@0@/@1@'.format(meson.current_source_dir(), libsystemd_sym) libsystemd_sym_path = '@0@/@1@'.format(project_source_root, libsystemd_sym)
libsystemd = shared_library( libsystemd = shared_library(
'systemd', 'systemd',
disable_mempool_c, disable_mempool_c,
@ -1579,7 +1583,7 @@ foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'],
module = tuple[0] module = tuple[0]
sym = 'src/nss-@0@/nss-@0@.sym'.format(module) sym = 'src/nss-@0@/nss-@0@.sym'.format(module)
version_script_arg = join_paths(meson.source_root(), sym) version_script_arg = join_paths(project_source_root, sym)
nss = shared_library( nss = shared_library(
'nss_' + module, 'nss_' + module,
@ -1845,7 +1849,7 @@ if conf.get('ENABLE_LOGIND') == 1
public_programs += exe public_programs += exe
if conf.get('HAVE_PAM') == 1 if conf.get('HAVE_PAM') == 1
version_script_arg = join_paths(meson.source_root(), pam_systemd_sym) version_script_arg = join_paths(project_source_root, pam_systemd_sym)
pam_systemd = shared_library( pam_systemd = shared_library(
'pam_systemd', 'pam_systemd',
pam_systemd_c, pam_systemd_c,
@ -2778,7 +2782,7 @@ custom_target(
'systemd-runtest.env', 'systemd-runtest.env',
output : 'systemd-runtest.env', output : 'systemd-runtest.env',
command : ['sh', '-c', '{ ' + command : ['sh', '-c', '{ ' +
'echo SYSTEMD_TEST_DATA=@0@; '.format(join_paths(meson.current_source_dir(), 'test')) + 'echo SYSTEMD_TEST_DATA=@0@; '.format(join_paths(project_source_root, 'test')) +
'echo SYSTEMD_CATALOG_DIR=@0@; '.format(join_paths(meson.current_build_dir(), 'catalog')) + 'echo SYSTEMD_CATALOG_DIR=@0@; '.format(join_paths(meson.current_build_dir(), 'catalog')) +
'} >@OUTPUT@'], '} >@OUTPUT@'],
build_by_default : true) build_by_default : true)
@ -3008,7 +3012,7 @@ foreach tuple : sanitizers
test('@0@:@1@:@2@'.format(b, c, sanitizer), test('@0@:@1@:@2@'.format(b, c, sanitizer),
env, env,
args : [exe.full_path(), args : [exe.full_path(),
join_paths(meson.source_root(), p)]) join_paths(project_source_root, p)])
endif endif
endforeach endforeach
endif endif
@ -3020,7 +3024,7 @@ endforeach
if git.found() if git.found()
all_files = run_command( all_files = run_command(
git, git,
['--git-dir=@0@/.git'.format(meson.source_root()), ['--git-dir=@0@/.git'.format(project_source_root),
'ls-files', 'ls-files',
':/*.[ch]']) ':/*.[ch]'])
all_files = files(all_files.stdout().split()) all_files = files(all_files.stdout().split())
@ -3028,10 +3032,10 @@ if git.found()
custom_target( custom_target(
'tags', 'tags',
output : 'tags', output : 'tags',
command : [env, 'etags', '-o', '@0@/TAGS'.format(meson.source_root())] + all_files) command : [env, 'etags', '-o', '@0@/TAGS'.format(project_source_root)] + all_files)
run_target( run_target(
'ctags', 'ctags',
command : [env, 'ctags', '-o', '@0@/tags'.format(meson.source_root())] + all_files) command : [env, 'ctags', '-o', '@0@/tags'.format(project_source_root)] + all_files)
endif endif
if git.found() if git.found()
@ -3044,17 +3048,17 @@ endif
if git.found() if git.found()
git_head = run_command( git_head = run_command(
git, git,
['--git-dir=@0@/.git'.format(meson.source_root()), ['--git-dir=@0@/.git'.format(project_source_root),
'rev-parse', 'HEAD']).stdout().strip() 'rev-parse', 'HEAD']).stdout().strip()
git_head_short = run_command( git_head_short = run_command(
git, git,
['--git-dir=@0@/.git'.format(meson.source_root()), ['--git-dir=@0@/.git'.format(project_source_root),
'rev-parse', '--short=7', 'HEAD']).stdout().strip() 'rev-parse', '--short=7', 'HEAD']).stdout().strip()
run_target( run_target(
'git-snapshot', 'git-snapshot',
command : ['git', 'archive', command : ['git', 'archive',
'-o', '@0@/systemd-@1@.tar.gz'.format(meson.source_root(), '-o', '@0@/systemd-@1@.tar.gz'.format(project_source_root,
git_head_short), git_head_short),
'--prefix', 'systemd-@0@/'.format(git_head), '--prefix', 'systemd-@0@/'.format(git_head),
'HEAD']) 'HEAD'])

View File

@ -4,7 +4,7 @@ sanitize_address = custom_target(
'sanitize-address-fuzzers', 'sanitize-address-fuzzers',
output : 'sanitize-address-fuzzers', output : 'sanitize-address-fuzzers',
command : [meson_build_sh, command : [meson_build_sh,
meson.source_root(), project_source_root,
'@OUTPUT@', '@OUTPUT@',
'fuzzers', 'fuzzers',
'-Db_lundef=false -Db_sanitize=address', '-Db_lundef=false -Db_sanitize=address',
@ -16,11 +16,11 @@ sanitizers = [['address', sanitize_address]]
if git.found() if git.found()
out = run_command( out = run_command(
git, git,
'--git-dir=@0@/.git'.format(meson.source_root()), '--git-dir=@0@/.git'.format(project_source_root),
'ls-files', ':/test/fuzz/*/*') 'ls-files', ':/test/fuzz/*/*')
else else
out = run_command( out = run_command(
'sh', '-c', 'ls @0@/*/*'.format(meson.current_source_dir())) 'sh', '-c', 'ls @0@/test/fuzz/*/*'.format(project_source_root))
endif endif
fuzz_regression_tests = [] fuzz_regression_tests = []