Hi, Thank you for your kind words Thomas. I have rebased the code and make some improvements. Among these changes I would like to highlight that documentation and VAPI generation are fixed now, and this means that meson is able to build NetworkManager fully. However, to do this a workaround is needed: LD_LIBRARY_PATH and GI_TYPELIB_PATH environment variables must be set pointing to the directory where `libnm.so` is built. Dependencies are also not perfect, and it might fail sometimes, but resuming fixes this problem (this is something which should be deeply reviewed). This all can be avoided just by not enabling documentation generation, because the problem is located on the scripts that generate the `nm-property-docs.xml` and particularly the `nm-settings-docs.xml` files. The list of changes are as follows - Rebased the meson port with latest upstream changes. - Added support for generating VAPI files. - Add conditional installation of symlinks related to documentation. - Added support for D-Bus services configuration, and fixes files installed in wrong places. A new option has also been added to allow the user to change the location which defaults to `${sysconfdir}/dbus-1/system.d`. - Fixed api documentation generation. It still needs some workarounds for generating files which it depends on, because content files are passed as strings and meson is not able to infer the dependency between those targets. - Fixed libnm-glib documentation by using only the source code directory as source directory. If the build directory is passed, meson is not able to found some VPN symbols. - Changed `exec_prefix` values for `${prefix}` instead of using the real prefix value. - Fixed all introspection variable names by using the *_gir pattern. - Fixed libnm-glib instrospection dependencies. It now also depends on the libnm-util GIR file (`NetworkManager-1.0.gir`). - Fixed libnm instrospection by also adding the generated version header. - Use a variable when building posible locations for path based options, and also add check if a program is found on the passed path. I've attached the new patch. The code can also be found in my personal fork[0]. As always, any comment or suggestion would be very appreciated, Best regards, [0] https://gitlab.gnome.org/inigomartinez/NetworkManager/tree/meson 2017-12-11 16:14 GMT+01:00 Thomas Haller <thaller redhat com>:
On Thu, 2017-12-07 at 22:11 +0100, Iñigo Martínez wrote:Hi all,Hi Iñigo, thanks for working on this. I think we want to merge this early, so that it can be improved incrementally. The speedup is super nice. I can't recommend ccache enough!! It makes a large difference :) If you could rebase it to master once more, I think it's already good enough for first inclusion. best! Thomas
Attachment:
0001-build-Port-to-meson-build-system.patch
Description: Text Data