• Thomas Haller's avatar
    build: refine the NETWORKMANAGER_COMPILATION define · 22ef6a50
    Thomas Haller authored
    Note that:
    
     - we compile some source files multiple times. Most notably those
       under "shared/".
    
     - we include a default header "shared/nm-default.h" in every source
       file. This header is supposed to setup a common environment by defining
       and including parts that are commonly used. As we always include the
       same header, the header must behave differently depending
       one whether the compilation is for libnm-core, NetworkManager or
       libnm-glib. E.g. it must include <glib/gi18n.h> or <glib/gi18n-lib.h>
       depending on whether we compile a library or an application.
    
    For that, the source files need the NETWORKMANAGER_COMPILATION #define
    to behave accordingly.
    
    Extend the define to be composed of flags. These flags are all named
    NM_NETWORKMANAGER_COMPILATION_WITH_*, they indicate which part of the
    build are available. E.g. when building libnm-core.la itself, then
    WITH_LIBNM_CORE, WITH_LIBNM_CORE_INTERNAL, and WITH_LIBNM_CORE_PRIVATE
    are available. When building NetworkManager, WITH_LIBNM_CORE_PRIVATE
    is not available but the internal parts are still accessible. When
    building nmcli, only WITH_LIBNM_CORE (the public part) is available.
    This granularily controls the build.
    22ef6a50
Name
Last commit
Last update
clients Loading commit data...
contrib Loading commit data...
data Loading commit data...
dispatcher Loading commit data...
docs Loading commit data...
examples Loading commit data...
introspection Loading commit data...
libnm Loading commit data...
libnm-core Loading commit data...
libnm-glib Loading commit data...
libnm-util Loading commit data...
m4 Loading commit data...
man Loading commit data...
po Loading commit data...
shared Loading commit data...
src Loading commit data...
tools Loading commit data...
vapi Loading commit data...
.dir-locals.el Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING Loading commit data...
COPYING Loading commit data...
ChangeLog Loading commit data...
MAINTAINERS Loading commit data...
Makefile.am Loading commit data...
Makefile.examples Loading commit data...
Makefile.glib Loading commit data...
Makefile.vapigen Loading commit data...
NEWS Loading commit data...
NetworkManager.pc.in Loading commit data...
README Loading commit data...
TODO Loading commit data...
autogen.sh Loading commit data...
check-distro.py Loading commit data...
config.h.meson Loading commit data...
configure.ac Loading commit data...
linker-script-binary.ver Loading commit data...
linker-script-devices.ver Loading commit data...
linker-script-settings.ver Loading commit data...
meson.build Loading commit data...
meson_options.txt Loading commit data...
meson_post_install.py Loading commit data...
valgrind.suppressions Loading commit data...
zanata.xml Loading commit data...