summaryrefslogtreecommitdiff
path: root/meson.build
AgeCommit message (Collapse)AuthorFilesLines
2018-05-14build: qualify plugin dir name with a version stringLubomir Rintel1-6/+10
This makes package updates more robust, avoiding in-place replaces of the plugins. Previously, if an upgrade transaction was terminated, NetworkManager library could end up being of a different version than the plugins. If the user was unfortunate enough to connect using a connection that required a plugin (say, Wi-Fi), he would be left without a network connection making it somewhat inconvenient to recover from the botched upgrade. This makes the whole situation a little bit less sad. The VPN plugins are kept where they always have been -- the path is not qualified with a version number.
2018-05-11build: set LD_LIBRARY_PATH and GI_TYPELIB_PATH variables in run-nm-test.shThomas Haller1-3/+1
With autotools, we use libtool so that the right libraries are automatically found. Still, we won't find the right GI typelib. Add a mechanism so that when make/meson invokes the run-nm-test.sh runner, it passes the build-root directory. Also, try to autodetect when invoked manually.
2018-05-11Revert "build: qualify plugin dir name with a version string"Lubomir Rintel1-8/+6
This is broken -- looks for VPN plugins in a version-qualified path, which is wrong and break installed VPN plugins. This reverts commit 6384ad4ee16f31dd103f790bd193c4049d89a6fc.
2018-05-09build: qualify plugin dir name with a version stringLubomir Rintel1-6/+8
This makes package updates more robust, avoiding in-place replaces of the plugins. Previously, if an upgrade transaction was terminated, NetworkManager library could end up being of a different version than the plugins. If the user was unfortunate enough to connect using a connection that required a plugin (say, Wi-Fi), he would be left without a network connection making it somewhat inconvenient to recover from the botched upgrade. This makes the whole situation a little bit less sad.
2018-05-09meson: distinguish arch specific and arch neutral lib dirLubomir Rintel1-1/+3
Plugins go to the arch specific place while conf.d/ and VPN/ are in lib/. Use the same naming as is used with autoconf.
2018-05-09meson: quote dist_version properlyLubomir Rintel1-1/+1
2018-04-23release: bump version to 1.11.3 (development)1.11.3-devThomas Haller1-1/+1
2018-04-13auth-manager: always compile D-Bus calls to polkitThomas Haller1-1/+0
Supporting PolicyKit required no additional library, just extra code to handle the D-Bus calls. For that, there was a compile time option to even stip out that code. Note, that you could (and still can) configure the system not to use policy-kit. The point was to reduce the binary size in case you don't need it. Remove this. I guess, we we aim for such aggressive optimization of the binary size, we should instead make all device types disablable at configuration time. We don't do that either and other low hanging fruits, because it's better to always enable features, unless they require external dependencies. Also, the next commit will make more use of NMAuthManager. So, having it disabled at compile time, makes even less sense.
2018-04-12build: meson: use run-nm-test.sh to run testsBeniamino Galvani1-2/+9
Like autotools, use the wrapper script 'run-nm-test.sh' that starts a separate D-Bus session when needed.
2018-04-04systemd: merge branch systemd into masterThomas Haller1-7/+8
2018-03-15release: bump version to 1.11.2 (development)1.11.2-devThomas Haller1-1/+1
2018-02-21netlink: drop libnl3 dependencyThomas Haller1-3/+0
From libnl3, we only used the helper function to parse/generate netlink messages and the socket functions to send/receive messages. We don't need an external dependency to do that, it is simple enough. Drop the libnl3 dependency, and replace all missing code by directly copying it from libnl3 sources. At this point, I mostly tried to import the required bits to make it working with few modifications. Note that this increases the binary size of NetworkManager by 4736 bytes for contrib/rpm build on x86_64. In the future, we can simplify the code further. A few modifications from libnl3 are: - netlink errors NLE_* are now in the domain or regular errno. The distinction of having to bother with two kinds of error number domains was annoying. - parts of the callback handling is copied partially and unused parts are dropped. Especially, the verbose/debug handlers are not used. In following commits, the callback handling will be significantly simplified. - the complex handling of seleting ports was simplified. We now always let kernel choose the right port automatically.
2018-02-16build: fix glib dependency to require at least 2.40Thomas Haller1-8/+3
Fixes: 8a46b25cfa8c33daa8af37bb8103ca02286001b1
2018-02-15systemd: merge branch systemd into masterThomas Haller1-0/+1
2018-02-11build/meson: fix printing DHCP build statusThomas Haller1-1/+1
2018-01-23trivial: avoid XXX tag and replace by NOTE or FIXMEThomas Haller1-1/+1
XXX was used to either raise attention (NOTE) or to indicate that this is ugly code that should be fixed (FIXME). The usage was inconsistent. Let's avoid XXX and use either NOTE or FIXME.
2018-01-23version: add reminder comment for adding version macros to configure.acThomas Haller1-0/+4
2018-01-18all: require jansson 2.5Lubomir Rintel1-1/+1
It was released Sep 19 2013 and Ubuntu 14.04 LTS (trusty) ships it. https://bugzilla.gnome.org/show_bug.cgi?id=792323
2018-01-16build: don't install NetworkManager.pc when libnm-glib is disabledLubomir Rintel1-15/+0
2018-01-15wifi: remove configure checks for suitable WEXT headerThomas Haller1-18/+0
The check doesn't seem useful, because it does not result in a fallback or a different build. Just assume <linux/wireless.h> is valid. In case it is not, we will get a build failure later. That is just as good.
2018-01-15wifi: remove configure checks for suitable linux/nl80211.h headerThomas Haller1-17/+0
The check doesn't seem useful, because it does not result in a fallback or a different build. Just assume <linux/nl80211.h> is valid. In case it is not, we will get a build failure later. That is just as good.
2018-01-15wifi: always build nl80211 CRIT_PROTOCOL supportThomas Haller1-16/+0
netlink's API is stable, and strictly defined by the integer values that make up commands and attributes. There is little reason do disable a netlink feature based on compile time detection of the kernel headers. Either kernel supports it, or it will fail with an appropriate response. Also, support for NL80211_CMD_CRIT_PROTOCOL_START was merge to kernel in 2013. Maybe, we should now just always assume support (in the kernel headers is there). Anyway, don't do that yet, but instead avoid the defines and use the numeric values directly.
2018-01-12meson: Slightly simplify jansson soname retrievalIñigo Martínez1-2/+1
The process for retrieving jansson's soname has been slightly simplified. https://mail.gnome.org/archives/networkmanager-list/2018-January/msg00054.html
2018-01-11build/meson: use variables for ldflags and linker-scriptThomas Haller1-2/+6
2018-01-10build/meson: unconditionally use linker version scriptsThomas Haller1-3/+0
We also unconditionally use them with autotools. Also, the detection for have_version_script does not seem correct to me. At least, it didn't work with clang.
2018-01-10build/meson: fix build without have_version_scriptThomas Haller1-5/+3
We always need to declare the linker_script_* variables, because they are used (unconditionally) as a dependency, even without have_version_script.
2018-01-10build/meson: fix build with -D session_tracking=no -D systemdsystemunitdir=noThomas Haller1-1/+2
The variable enable_consolekit is used below, outside the if. We always must set it.
2018-01-10build/meson: rename config_plugin_ibft option to just ibftThomas Haller1-4/+4
2018-01-10meson: Use string variables extensivelyIñigo Martínez1-2/+9
The strings holding the names used for libraries have also been moved to different variables. This way they would be less error as these variables can be reused easily and any typing error would be quickly detected.
2018-01-09ifcfg: test for sysconfig network path also on mesonIñigo Martínez1-7/+4
In a recent commit 1402fa7487b29fc1ea39a6bf7659fee7f30bb0e0 a new way for testing Red Hat compatible distributions had been added. However, this new approach does not use a set of files, it uses a directory, so this test can be done by using the `test` command and makes the `check_distro.py` script unnecessary. https://mail.gnome.org/archives/networkmanager-list/2018-January/msg00031.html
2018-01-08core: load jansson on demandLubomir Rintel1-0/+14
Avoid using it if the symbols clash is detected.
2018-01-02build: Remove default install directoriesIñigo Martínez1-2/+1
The install directories of those targets that match the default install directories have been removed because they are redundant. This also allows a simple meson build files and it is unnecessary to create some paths. https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00078.html
2017-12-21settings: drop unmaintained ifnet settings plugin of GentooThomas Haller1-6/+0
Even Gentoo disables this plugin since before 0.9.8 release of NetworkManager. Time to say goodbye. If somebody happens to show up to maintain it, we may resurrect it later. If "$distro_plugins=ifnet" was set, configure.ac would use that to autodetect --with-hostname-persist=gentoo. Replace that autodetect part by checking for /etc/gentoo-release file.
2017-12-21build/meson: drop option for deprecated ifcfg-suse setting pluginsThomas Haller1-5/+0
2017-12-18build: Enable unused-but-set warning in mesonIñigo Martínez1-1/+0
The unused-but-set warning has recently been enabled in autotools (e912b36d95a3c26a6021eeb27e663bd05910a9b4), so this also modifies meson to enable it. https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00063.html
2017-12-18build: Move default path values to options fileIñigo Martínez1-152/+68
Since meson 0.44 there is a new option type called `array`, which allows to use an array with different values in those options. These fits the needs of different options that are used to pass binary paths, which have multiple paths as an alternate locations. meson's version has been bumped to 0.44 and different options have been changed to `array` type options. https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00062.html
2017-12-18build: Drop HAVE_VLAN_FLAG_LOOSE_BINDINGIñigo Martínez1-15/+0
Both meson and autotools define HAVE_VLAN_FLAG_LOOSE_BINDING to 1 or 0 depending if a small code snippet is compiled. However, this define is not used anymore. https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00060.html
2017-12-16build: Merge no introspection headers with public headersIñigo Martínez1-6/+0
There are three headers `nm-secret-agent-old.h`, `nm-vpn-plugin-old.h`, and `nm-vpn-service-plugin.h`, which are named as no introspection headers. However, these files also join to the rest headers to generate introspection data. This patch merges those no introspection headers with the public headers.
2017-12-13build: add initial support for meson build systemIñigo Martínez1-0/+1136
meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools. [thaller@redhat.com: rebased patch and adjusted for iwd support] https://mail.gnome.org/archives/networkmanager-list/2017-December/msg00022.html