build: extract version macros from "nm-version.h" to new header file "nm-version...
authorThomas Haller <thaller@redhat.com>
Fri, 25 Sep 2015 14:07:50 +0000 (16:07 +0200)
committerThomas Haller <thaller@redhat.com>
Wed, 30 Sep 2015 21:10:29 +0000 (23:10 +0200)
commit7bf10a75db84655e65fe6216d248f7775c58ca23
tree8fbd9fe0f4a9e02c86662faeb364743c70964d08
parentb861900d45da588f4239be418c3e1f62505cbde1
build: extract version macros from "nm-version.h" to new header file "nm-version-macros.h"

For libnm library, "nm-dbus-interface.h" contains defines like the D-Bus
paths of NetworkManager. It is desirable to have this header usable without
having a dependency on "glib.h", for example for a QT application. For that,
commit c0852964a890cf43cc2dcaeff41ac6edc5028f24 removed that dependancy.

For libnm-glib library, the analog to "nm-dbus-interface.h" is
"NetworkManager.h", and the same applies there. Commit
159e827a72f420048e12d318f8ba1edd3f641fc8 removed that include.
However, that broke build on PackageKit [1] which expected to get the
version macros by including "NetworkManager.h". So at least for libnm-glib,
we need to preserve old behavior so that a user including
"NetworkManager.h" gets the version macros, but not "glib.h".

Extract the version macros to a new header file "nm-version-macros.h".
This header doesn't include "glib.h" and can be included from
"NetworkManager.h". This gives as previous behavior and a glib-free
include.

For libnm we still don't include "nm-version-macros.h" to "nm-dbus-interface.h".
Very few users will actually need the version macros, but not using
libnm.
Users that use libnm, should just include (libnm's) "NetworkManager.h" to
get all headers.
As a special case, a user who doesn't want to use glib/libnm, but still
needs both "nm-dbus-interface.h" and "nm-version-macros.h", can include
them both separately.

[1] https://github.com/hughsie/PackageKit/issues/85

Fixes: 4545a7fe9670ce4d7c259c11c2cc853bfae6729b
52 files changed:
.gitignore
callouts/Makefile.am
callouts/tests/Makefile.am
clients/Makefile.am
clients/cli/Makefile.am
clients/tui/Makefile.am
clients/tui/newt/Makefile.am
configure.ac
contrib/fedora/rpm/NetworkManager.spec
docs/libnm-glib/Makefile.am
examples/C/glib/Makefile.am
include/Makefile.am
include/nm-version-macros.h.in [new file with mode: 0644]
libnm-core/Makefile.am
libnm-core/Makefile.libnm-core
libnm-core/nm-dbus-interface.h
libnm-core/nm-version.h [moved from libnm-util/nm-version.h.in with 64% similarity]
libnm-core/tests/Makefile.am
libnm-glib/Makefile.am
libnm-glib/tests/Makefile.am
libnm-util/Makefile.am
libnm-util/NetworkManager.h
libnm-util/nm-version.h [moved from libnm-core/nm-version.h.in with 64% similarity]
libnm-util/tests/Makefile.am
libnm/Makefile.am
libnm/tests/Makefile.am
src/Makefile.am
src/devices/adsl/Makefile.am
src/devices/bluetooth/Makefile.am
src/devices/team/Makefile.am
src/devices/wifi/Makefile.am
src/devices/wifi/tests/Makefile.am
src/devices/wwan/Makefile.am
src/dhcp-manager/Makefile.am
src/dhcp-manager/tests/Makefile.am
src/dnsmasq-manager/tests/Makefile.am
src/platform/tests/Makefile.am
src/ppp-manager/Makefile.am
src/rdisc/tests/Makefile.am
src/settings/plugins/ibft/Makefile.am
src/settings/plugins/ibft/tests/Makefile.am
src/settings/plugins/ifcfg-rh/Makefile.am
src/settings/plugins/ifcfg-rh/tests/Makefile.am
src/settings/plugins/ifnet/Makefile.am
src/settings/plugins/ifnet/tests/Makefile.am
src/settings/plugins/ifupdown/Makefile.am
src/settings/plugins/ifupdown/tests/Makefile.am
src/settings/plugins/keyfile/Makefile.am
src/settings/plugins/keyfile/tests/Makefile.am
src/supplicant-manager/tests/Makefile.am
src/tests/Makefile.am
src/tests/config/Makefile.am