Re: [PATCH][RFC] Port NetworkManager to meson



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]