conf.set_quoted('VERSION_TAG', version_tag)
-vcs_tag = get_option('vcs-tag')
-version_h = custom_target('version',
- build_always_stale : vcs_tag,
- input : 'src/version/version.h.in',
- output : 'version.h',
- capture : true,
- command : ['tools/vcs-tag.sh', '@INPUT@', get_option('mode'), vcs_tag ? '1' : '0'],
-)
+subdir('src/version')
shared_lib_tag = get_option('shared-lib-tag')
if shared_lib_tag == ''
# A list of boot stubs. Required for testing of ukify.
boot_stubs = []
-build_dir_include = include_directories('.')
-
basic_includes = [
include_directories(
'src/basic',
'src/fundamental',
'src/systemd',
- '.',
),
include_directories(
'src/basic/include',
is_system : true,
),
+ version_include,
]
libsystemd_includes = [basic_includes, include_directories(
'systemd',
version : libsystemd_version,
include_directories : libsystemd_includes,
+ implicit_include_directories : false,
link_args : ['-shared',
# Make sure our library is never deleted from memory, so that our open logging fds don't leak on dlopen/dlclose cycles.
'-z', 'nodelete',
basic_sources,
fundamental_sources,
include_directories : libsystemd_includes,
+ implicit_include_directories : false,
build_by_default : static_libsystemd != 'false',
install : static_libsystemd != 'false',
install_tag: 'libsystemd',
'udev',
version : libudev_version,
include_directories : includes,
+ implicit_include_directories : false,
link_args : ['-shared',
'-Wl,--version-script=' + libudev_sym_path],
link_with : [libsystemd_static, libshared_static],
libsystemd_sources,
libudev_sources,
include_directories : includes,
+ implicit_include_directories : false,
build_by_default : static_libudev != 'false',
install : static_libudev != 'false',
install_tag: 'libudev',
exe = executable(
name,
kwargs : kwargs,
+ implicit_include_directories : false,
)
executables_by_name += { name : exe }
lib = shared_library(
name,
kwargs : kwargs,
+ implicit_include_directories : false,
)
if is_nss
basic_sources,
fundamental_sources,
include_directories : basic_includes,
+ implicit_include_directories : false,
dependencies : [libcap,
libdl,
libgcrypt_cflags,
basic_includes,
include_directories('.'),
],
+ implicit_include_directories : false,
dependencies : userspace)
efitest_base = {
############################################################
efi_includes = [
- build_dir_include,
fundamental_include,
include_directories('.'),
+ version_include,
]
efi_c_args = [
libefi_sources,
version_h,
include_directories : efi_includes,
+ implicit_include_directories : false,
c_args : archspec['c_args'],
gnu_symbol_visibility : 'hidden',
override_options : efi_override_options,
kwargs = {
'include_directories' : efi_includes,
+ 'implicit_include_directories' : false,
'c_args' : archspec['c_args'],
'link_args' : archspec['link_args'],
'gnu_symbol_visibility' : 'hidden',
libcore_sources,
load_fragment_gperf_c,
load_fragment_gperf_nulstr_c,
- include_directories : includes,
+ include_directories : [includes, include_directories('.')],
+ implicit_include_directories : false,
c_args : ['-fvisibility=default'],
dependencies : [libacl,
libaudit,
libcore = shared_library(
libcore_name,
c_args : ['-fvisibility=default'],
+ implicit_include_directories : false,
link_args : ['-shared',
'-Wl,--version-script=' + libshared_sym_path],
link_depends : libshared_sym_path,
'cryptsetup-token-common',
'cryptsetup-token-util.c',
include_directories : includes,
+ implicit_include_directories : false,
dependencies : userspace,
link_with : libshared,
build_by_default : false)
'systemd-network',
sources,
include_directories : includes,
+ implicit_include_directories : false,
dependencies : userspace,
build_by_default : false)
'sd-journal/sd-journal.c',
)
-audit_type_includes = [config_h,
- missing_audit_h,
- 'linux/audit.h']
-if conf.get('HAVE_AUDIT') == 1
- audit_type_includes += 'libaudit.h'
-endif
-
-generate_audit_type_list = find_program('sd-journal/generate-audit_type-list.sh')
-audit_type_list_txt = custom_target(
- 'audit_type-list.txt',
- output : 'audit_type-list.txt',
- command : [generate_audit_type_list, cpp] + audit_type_includes,
- capture : true)
-
-audit_type_to_name = custom_target(
- 'audit_type-to-name.h',
- input : ['sd-journal/audit_type-to-name.awk', audit_type_list_txt],
- output : 'audit_type-to-name.h',
- command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
- capture : true)
+subdir('sd-journal')
generated_sources += audit_type_to_name
sd_journal_sources += audit_type_to_name
'systemd_static',
libsystemd_sources,
include_directories : libsystemd_includes,
+ implicit_include_directories : false,
c_args : libsystemd_c_args,
link_with : [libbasic_static],
dependencies : [threads,
--- /dev/null
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+# We're generating a header file here intended to be included
+# by audit-type.c. To make that work, we have to add the generated
+# header file's directory to the include directories for libsystemd.
+# In meson, adding include directories is done via include_directories(),
+# which always adds two include directories for each argument, one relative to
+# the source directory and one relative to the build directory. We don't
+# want to add src/libsystemd to the include directories, yet custom_target()
+# does not allow path segments in its output argument, so to make sure the
+# generated header is written to src/libsystemd/sd-journal in the build directory,
+# the custom_target() has to be defined here in src/libsystemd/sd-journal
+# in the source directory.
+
+audit_type_includes = [config_h,
+ missing_audit_h,
+ 'linux/audit.h']
+if conf.get('HAVE_AUDIT') == 1
+ audit_type_includes += 'libaudit.h'
+endif
+
+generate_audit_type_list = find_program('generate-audit_type-list.sh')
+audit_type_list_txt = custom_target(
+ 'audit_type-list.txt',
+ output : 'audit_type-list.txt',
+ command : [generate_audit_type_list, cpp] + audit_type_includes,
+ capture : true)
+
+audit_type_to_name = custom_target(
+ 'audit_type-to-name.h',
+ input : ['audit_type-to-name.awk', audit_type_list_txt],
+ output : 'audit_type-to-name.h',
+ command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
+ capture : true)
'udev-basic',
libudev_sources,
include_directories : includes,
+ implicit_include_directories : false,
dependencies : userspace,
c_args : ['-fvisibility=default'],
build_by_default : false)
libshared_name,
shared_sources,
include_directories : includes,
+ implicit_include_directories : false,
dependencies : [libshared_deps,
userspace],
c_args : ['-fvisibility=default'],
libshared = shared_library(
libshared_name,
include_directories : includes,
+ implicit_include_directories : false,
c_args : ['-fvisibility=default'],
link_args : ['-shared',
'-Wl,--version-script=' + libshared_sym_path],
'shared-fdisk',
shared_fdisk_sources,
include_directories : includes,
+ implicit_include_directories : false,
dependencies : [libfdisk,
userspace],
c_args : ['-fvisibility=default'],
--- /dev/null
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+vcs_tag = get_option('vcs-tag')
+version_h = custom_target('version',
+ build_always_stale : vcs_tag,
+ input : 'version.h.in',
+ output : 'version.h',
+ capture : true,
+ command : [meson.project_source_root() / 'tools/vcs-tag.sh', '@INPUT@', get_option('mode'), vcs_tag ? '1' : '0'],
+)
+version_include = include_directories('.')