summaryrefslogtreecommitdiff
path: root/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2019-02-26Merge pull request #11827 from keszybz/pkgconfig-variablesLennart Poettering1-1/+2
Allow overriding pkgconfig prefixes
2019-02-25meson: declare version.h as dependency for systemdMichael Olbrich1-1/+2
This is a followup to #11815 and adds the last missing dependency. With this #11565 is hopefully really fixed.
2019-02-25Merge pull request #11798 from keszybz/mem-sanitizer-fixLennart Poettering1-0/+1
meson: make sure preprocesor warnings are not treated as errors
2019-02-25meson: declare version.h as dep for various targets that include build.hZbigniew Jędrzejewski-Szmek1-6/+13
Should fix #11565.
2019-02-25meson: make sure preprocesor warnings are not treated as errorsZbigniew Jędrzejewski-Szmek1-0/+1
Clang includes -W#warning in -Werror, so the #warning used for msan would be an error. v2: - use -Wno-error=... so that the warning is still emitted, but not as an error.
2019-02-18Merge pull request #10408 from keszybz/analyze-cat-presetsLennart Poettering1-1/+0
systemd-analyze cat-presets
2019-02-18meson: drop unused HAVE_STRUCT_FIB_RULE_{UID,PORT}_RANGEYu Watanabe1-4/+0
2019-02-18meson: drop unused "udevhomedir"Zbigniew Jędrzejewski-Szmek1-1/+0
2019-01-26build-sys: bump package/library versionsZbigniew Jędrzejewski-Szmek1-3/+3
We added sd_bus_close_unref().
2019-01-22meson: make version a dependency and use it in libbasicLouis Taylor1-0/+7
This should hopefully ensure it gets generated before basic build happens. Fixes #11483.
2019-01-11missing_if_link.h: add IFLA_BOND_MODEFabrice Fontaine1-0/+1
systemd fails to build on kernel without IFLA_BOND_MODE (< 3.13) since https://github.com/systemd/systemd/commit/9714c020fc4cda1823c2a77e3fd08aefa7d78b25 So put back IFLA_BOND_MODE definition Fixes: - http://autobuild.buildroot.org/results/699c078aa078240c6741da4dbd0871450ceeca92 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-01-10meson: stop setting -fPIE globallyMichael Biebl1-7/+0
Setting -fPIE globally can lead to miscompilations on certain architectures. This is caused by both -fPIE and -fPIC options being added to various compilation commands. Only -fPIC is being recorded in the LTO options section of the object. The gcc-8 LTO plugin merges -fPIC + -fPIE to nothing. So, the compilations done by the plugin are not position-independent and fail to link with -pie. The simplest solution is to stop setting -fPIE globally and instead using meson's b_pie=true option. This requires meson 0.49 or later. Since we don't set this option in meson.build but leave it up to the distro maintainer to set this option, do not bump the meson version requirement. Fixes: #10548
2019-01-06Merge pull request #11337 from keszybz/build-version-hLennart Poettering1-3/+2
meson: declare version.h as dep for libbasic
2019-01-06Disable tools/choose-default-locale.sh when cross compilingJames Hilliard1-2/+6
2019-01-05Revert "meson: declare version.h as dep for fuzzers"Zbigniew Jędrzejewski-Szmek1-3/+2
This reverts commit 0c2e93b863f8ec164e7e9e119ab127a752cb1331. This should not be necessary anymore after previous commit. I don't quite remember what sequence of steps was failing, but right now "meson build -Dslow-tests=true && ninja -C build fuzzers" work fine.
2019-01-03Merge pull request #11317 from filbranden/docs1Zbigniew Jędrzejewski-Szmek1-4/+0
Improvements to systemd.io generation
2019-01-03sleep: install default sleep.confYu Watanabe1-0/+3
Closes #11310.
2019-01-03Merge pull request #11230 from keszybz/version-string-altYu Watanabe1-6/+11
Generate version string from git describe (alternative approach)
2019-01-02docs: generate index.md in JekyllFilipe Brandenburger1-4/+0
This uses a {% for %} loop in Jekyll to render the page, from the "title" information in the Front Matter of the actual page files. This also makes `make-index-md` build rule unnecessary, since generation is done by the template engine itself. Tested this by running Jekyll locally.
2019-01-02meson: check whether C.UTF-8 exists or not and use it if existsYu Watanabe1-0/+4
If C.UTF-8 does not exist, then fallback to en_US.UTF-8 or C.
2018-12-29Make default locale a compile time optionDave Reisner1-1/+5
Default to a locale that's guaranteed to exist everywhere, but let distros override this with something more exotic if they choose to. Closes #11259.
2018-12-28meson: use cross compilation compatible c++ checkJames Hilliard1-3/+1
2018-12-21build-sys: bump package/library versionsLennart Poettering1-3/+3
2018-12-21meson: declare version.h as dep for fuzzersZbigniew Jędrzejewski-Szmek1-2/+3
This is supposed an error when building fuzzers for sanitization (that is a nested build with the sanitization options): In file included from ../../../../src/basic/util.c:21:0: ../../../../src/basic/build.h:4:21: fatal error: version.h: No such file or directory #include "version.h" ^ compilation terminated. Internally we do 'ninja -C test/fuzz/sanitize-address-fuzzers fuzzers'. I'm not quite sure why version.h is not built in this case. But declaring version_h as the dependency forces it to be built and solves the issue. It would be better to define the dependency on individual exe's, but this doesn't work: meson.build:2884:8: ERROR: Argument is of an unacceptable type 'CustomTarget'. Must be either an external dependency (returned by find_library() or dependency()) or an internal dependency (returned by declare_dependency()). Let's treat this a hack for another hack, which the nested build is.
2018-12-21meson: allow setting the version string during configurationZbigniew Jędrzejewski-Szmek1-0/+1
This will be useful when building distro packages, because we can set the version string to the rpm/dpkg/whatever version string, and getter reports from end users.
2018-12-21meson-vcs-tag: add work-around for git bugZbigniew Jędrzejewski-Szmek1-1/+1
2018-12-21meson: generate version tag from gitZbigniew Jędrzejewski-Szmek1-1/+4
$ build/systemctl --version systemd 239-3555-g6178cbb5b5 +PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid $ git tag v240 -m 'v240' $ ninja -C build ninja: Entering directory `build' [76/76] Linking target fuzz-unit-file. $ build/systemctl --version systemd 240 +PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid This is very useful during development, because a precise version string is embedded in the build product and displayed during boot, so we don't have to guess answers for questions like "did I just boot the latest version or the one from before?". This change creates an overhead for "noop" builds. On my laptop, 'ninja -C build' that does nothing goes from 0.1 to 0.5 s. It would be nice to avoid this, but I think that <1 s is still acceptable. Fixes #7183. PACKAGE_VERSION is renamed to GIT_VERSION, to make it obvious that this is the more dynamically changing version string. Why save to a file? It would be easy to generate the version tag using run_command(), but we want to go through a file so that stuff gets rebuilt when this file changes. If we just defined an variable in meson, ninja wouldn't know it needs to rebuild things.
2018-12-20meson: define PROJECT_VERSION as the "bare" project versionZbigniew Jędrzejewski-Szmek1-2/+3
Let's not use atoi() if we can simply provide the project version as a number. In C code, this is the numerical project version. In substitutions in other files, this is just the bare substitution. The "PACKAGE_" prefix is from autotools, and is strange. We call systemd a "project", and "package" is something that distros build. Let's rename. PACKAGE_URL is renamed to PROJECT_URL for the same reasons and for consistency. (This leave PACKAGE_VERSION as the stringified define for C code.)
2018-12-19Remove use of PACKAGE_STRINGZbigniew Jędrzejewski-Szmek1-1/+0
PACKAGE_VERSION is more explicit, and also, we don't pretend that changing the project name in meson.build has any real effect. "systemd" is embedded in a thousand different places, so let's just use the hardcoded string consistently. This is mostly in preparation for future changes.
2018-12-18Merge pull request #11197 from keszybz/various-fixupsLennart Poettering1-1/+1
Various fixups
2018-12-18meson: print EFI CC configuration nicelyZbigniew Jędrzejewski-Szmek1-1/+1
In 595343fb4c99c2679d347ef7c19debfbfed6342e it was converted to an array. This doesn't look good in the output. Let's convert it back to a string.
2018-12-17sd-resolve: add sd_resolve_get{addr,info}_with_destroy_callback() and ↵Yu Watanabe1-0/+1
typesafe macros
2018-12-12meson: make net.naming-scheme= default configurableZbigniew Jędrzejewski-Szmek1-0/+4
This is useful for distributions, where the stability of interface names should be preseved after an upgrade of systemd. So when some specific release of the distro is made available, systemd defaults to the latest & greatest naming scheme, and subsequent updates set the same default. This default may still be overriden through the kernel and env var options. A special value "latest" is also allowed. Without a specific name, it is harder to verride from meson. In case of 'combo' options, meson reads the default during the initial configuration, and "remembers" this choice. When systemd is updated, old build/ directories could keep the old default, which would be annoying. Hence, "latest" is introduced to make it explicit, yet follow the upstream. This is actually useful for the user too, because it may be used as an override, without having to actually specify a version.
2018-12-04missing: move btrfs related entries to missing_btrfs.h and missing_btrfs_tree.hYu Watanabe1-1/+1
2018-12-04missing: re-add mistakenly dropped entriesYu Watanabe1-0/+2
These entries are mistakenly dropped by 9714c020fc4cda1823c2a77e3fd08aefa7d78b25. Fixes #11036.
2018-12-03missing: split network related entriesYu Watanabe1-22/+70
Also adds comments which kernel version added the entries. Closes #10553.
2018-11-30meson.build: fix detection of -Werror=shadowFabrice Fontaine1-1/+1
Pass -Werror=shadow in args of cc.compiles otherwise test will always succeed This fix a build failure with gcc 4.7.3 Fixes: - http://autobuild.buildroot.org/results/ffd71c473d3b29618c18cd2e04705370266696f2 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2018-11-29Merge pull request #10357 from poettering/import-fsZbigniew Jędrzejewski-Szmek1-1/+11
machinectl import-fs command and other fixes
2018-11-28Merge pull request #10797 from poettering/run-generatorZbigniew Jędrzejewski-Szmek1-0/+8
add new "systemd-run-generator" for running arbitrary commands from the kernel command line as system services using the "systemd.run=" kernel command line switch
2018-11-29Merge pull request #10970 from yuwata/from-name-return-negative-errnoYu Watanabe1-0/+2
util: make *_from_name() returns negative errno on error
2018-11-29Merge pull request #10948 from ssahani/iprule-port-protoYu Watanabe1-1/+2
networkd: add support to configure ip rule port range and protocol.
2018-11-28meson: let's bump RLIMIT_NOFILE hard limit to 512KLennart Poettering1-1/+1
Prompted by: https://lists.freedesktop.org/archives/systemd-devel/2018-October/041578.html
2018-11-28networkd: add support to configure ip rule port range and protocol.Susant Sahani1-1/+2
Please see: iprule: support for ip_proto, sport and dport match options https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=f686f764682745daf6a93b0a6330ba42a961f858 Closes 10622
2018-11-28tools: move generate-gperfs.py to tools/Yu Watanabe1-0/+2
2018-11-28missing.h: remove duplicate definition of 'struct ethtool_link_settings'Lennart Poettering1-1/+0
Fixes: #10966
2018-11-27add new run-generatorLennart Poettering1-0/+8
This is really useful for running commands like this: # systemd-run -i someimage.raw -b systemd.run='"some command line"' This will now run the command line inside a small Type=oneshot service and even propagate the exit code of the command back to the parent. And all that with the full system booted up. By default this causes the system to shutdown right after the command completed, but this can be tweaked with systemd.run_success_action= and systemd.run_failure_action=. Note that when used in VMs the exit status can of course not be propagate, as VMs don't really know a concept for that.
2018-11-27networkd: Add support for ERSPAN tunnelSusant Sahani1-0/+1
Please see: https://patchwork.ozlabs.org/patch/800327/ ``` [NetDev] Name=erspan-test Kind=erspan [Tunnel] Independent=true ERSPANIndex=123 Local = 172.16.1.200 Remote = 172.16.1.100 Key=101 SerializeTunneledPackets=true ```
2018-11-26machine: add support for importing containers from plain directoriesLennart Poettering1-1/+11
Fixes: #2728 This is also supposed to be preparation for doing #10234 eventually, where a very similar operation is requested: instead of importing a tree to /var/lib/machines it would need to be imported into /var/lib/portables/.
2018-11-23meson: also add option for debugging siphashYu Watanabe1-0/+5
2018-11-23meson: add option for debugging udevYu Watanabe1-0/+5