Skip to content
  • Thomas Haller's avatar
    build: extract version macros from "nm-version.h" to new header file "nm-version-macros.h" · 7bf10a75
    Thomas Haller authored
    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 c0852964 removed that dependancy.
    
    For libnm-glib library, the analog to "nm-dbus-interface.h" is
    "NetworkManager.h", and the same applies there. Commit
    159e827a 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: 4545a7fe
    7bf10a75