+# SPDX-License-Identifier: LGPL-2.1+
+#
+# Copyright 2017 Zbigniew Jędrzejewski-Szmek
+#
+# systemd is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2.1 of the License, or
+# (at your option) any later version.
+#
+# systemd is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with systemd; If not, see <http://www.gnu.org/licenses/>.
+
project('systemd', 'c',
version : '235',
license : 'LGPLv2+',
'sysconfdir=/etc',
'localstatedir=/var',
],
- meson_version : '>= 0.40',
+ meson_version : '>= 0.41',
)
libsystemd_version = '0.19.1'
varlogdir = join_paths(localstatedir, 'log')
xinitrcdir = join_paths(sysconfdir, 'X11/xinit/xinitrc.d')
rpmmacrosdir = get_option('rpmmacrosdir')
+if rpmmacrosdir != 'no'
+ rpmmacrosdir = join_paths(prefixdir, rpmmacrosdir)
+endif
modprobedir = join_paths(rootprefixdir, 'lib/modprobe.d')
# Our own paths
'-Wstrict-prototypes',
'-Wredundant-decls',
'-Wmissing-noreturn',
+ '-Wimplicit-fallthrough=5',
'-Wshadow',
'-Wendif-labels',
'-Wstrict-aliasing=2',
['IFA_FLAGS', 'linux/if_addr.h'],
['FRA_UID_RANGE', 'linux/fib_rules.h'],
['LO_FLAGS_PARTSCAN', 'linux/loop.h'],
+ ['VXCAN_INFO_PEER', 'linux/can/vxcan.h'],
]
prefix = decl.length() > 2 ? decl[2] : ''
have = cc.has_header_symbol(decl[1], decl[0], prefix : prefix)
endforeach
foreach ident : [
- ['memfd_create', '''#include <sys/memfd.h>'''],
+ ['memfd_create', '''#define _GNU_SOURCE
+ #include <sys/mman.h>'''],
['gettid', '''#include <sys/types.h>'''],
['pivot_root', '''#include <stdlib.h>'''], # no known header declares pivot_root
['name_to_handle_at', '''#define _GNU_SOURCE
subdir('src/boot/efi')
subdir('src/test')
+subdir('rules')
subdir('test')
############################################################
subdir('sysctl.d')
subdir('sysusers.d')
subdir('tmpfiles.d')
-subdir('rules')
subdir('hwdb')
subdir('network')
subdir('man')
status = [
'@0@ @1@'.format(meson.project_name(), meson.project_version()),
- 'prefix: @0@'.format(prefixdir),
- 'rootprefix: @0@'.format(rootprefixdir),
- 'sysconf dir: @0@'.format(sysconfdir),
- 'includedir: @0@'.format(includedir),
- 'lib dir: @0@'.format(libdir),
- 'rootlib dir: @0@'.format(rootlibdir),
+ 'prefix directory: @0@'.format(prefixdir),
+ 'rootprefix directory: @0@'.format(rootprefixdir),
+ 'sysconf directory: @0@'.format(sysconfdir),
+ 'include directory: @0@'.format(includedir),
+ 'lib directory: @0@'.format(libdir),
+ 'rootlib directory: @0@'.format(rootlibdir),
'SysV init scripts: @0@'.format(sysvinit_path),
'SysV rc?.d directories: @0@'.format(sysvrcnd_path),
- 'PAM modules dir: @0@'.format(pamlibdir),
- 'PAM configuration dir: @0@'.format(pamconfdir),
- 'RPM macros dir: @0@'.format(rpmmacrosdir),
- 'modprobe.d dir: @0@'.format(modprobedir),
- 'D-Bus policy dir: @0@'.format(dbuspolicydir),
- 'D-Bus session dir: @0@'.format(dbussessionservicedir),
- 'D-Bus system dir: @0@'.format(dbussystemservicedir),
- 'bash completions dir: @0@'.format(bashcompletiondir),
- 'zsh completions dir: @0@'.format(zshcompletiondir),
+ 'PAM modules directory: @0@'.format(pamlibdir),
+ 'PAM configuration directory: @0@'.format(pamconfdir),
+ 'RPM macros directory: @0@'.format(rpmmacrosdir),
+ 'modprobe.d directory: @0@'.format(modprobedir),
+ 'D-Bus policy directory: @0@'.format(dbuspolicydir),
+ 'D-Bus session directory: @0@'.format(dbussessionservicedir),
+ 'D-Bus system directory: @0@'.format(dbussystemservicedir),
+ 'bash completions directory: @0@'.format(bashcompletiondir),
+ 'zsh completions directory: @0@'.format(zshcompletiondir),
'extra start script: @0@'.format(get_option('rc-local')),
'extra stop script: @0@'.format(get_option('halt-local')),
'debug shell: @0@ @ @1@'.format(get_option('debug-shell'),
'maximum system GID: @0@'.format(system_gid_max),
'/dev/kvm access mode: @0@'.format(get_option('dev-kvm-mode')),
'render group access mode: @0@'.format(get_option('group-render-mode')),
- 'certificate root: @0@'.format(get_option('certificate-root')),
+ 'certificate root directory: @0@'.format(get_option('certificate-root')),
'support URL: @0@'.format(support_url),
'nobody user name: @0@'.format(get_option('nobody-user')),
'nobody group name: @0@'.format(get_option('nobody-group')),
status += [
'EFI machine type: @0@'.format(EFI_MACHINE_TYPE_NAME),
'EFI CC @0@'.format(efi_cc),
- 'EFI libdir: @0@'.format(efi_libdir),
- 'EFI ldsdir: @0@'.format(efi_ldsdir),
- 'EFI includedir: @0@'.format(efi_incdir)]
+ 'EFI lib directory: @0@'.format(efi_libdir),
+ 'EFI lds directory: @0@'.format(efi_ldsdir),
+ 'EFI include directory: @0@'.format(efi_incdir)]
endif
endif