NetworkManager/libnm-core/tests/Makefile.am
Thomas Haller e0ca2bdb63 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 c0852964a8 removed that dependancy.

For libnm-glib library, the analog to "nm-dbus-interface.h" is
"NetworkManager.h", and the same applies there. Commit
159e827a72 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: 4545a7fe96
(cherry picked from commit 7bf10a75db)
2015-09-30 23:35:52 +02:00

76 lines
1.9 KiB
Makefile

if ENABLE_TESTS
include $(GLIB_MAKEFILE)
GLIB_GENERATED = nm-core-tests-enum-types.h nm-core-tests-enum-types.c
nm_core_tests_enum_types_sources = test-general-enums.h
GLIB_MKENUMS_H_FLAGS = --identifier-prefix NM
GLIB_MKENUMS_C_FLAGS = --identifier-prefix NM
BUILT_SOURCES = $(GLIB_GENERATED)
certsdir = $(srcdir)/certs
AM_CPPFLAGS = \
-I${top_srcdir}/include \
-I${top_builddir}/include \
-I$(top_srcdir)/libnm-core \
-I$(top_builddir)/libnm-core \
-DNETWORKMANAGER_COMPILATION \
-DNM_VERSION_MAX_ALLOWED=NM_VERSION_NEXT_STABLE \
$(GLIB_CFLAGS) \
-DTEST_CERT_DIR=\"$(certsdir)\"
noinst_PROGRAMS = \
test-compare \
test-crypto \
test-general \
test-keyfile \
test-secrets \
test-setting-8021x \
test-setting-dcb \
test-settings-defaults
LDADD = \
$(top_builddir)/libnm-core/libnm-core.la \
$(GLIB_LIBS)
@VALGRIND_RULES@
TESTS = $(noinst_PROGRAMS)
test_general_SOURCES = \
test-general.c \
test-general-enums.h \
nm-core-tests-enum-types.c \
nm-core-tests-enum-types.h
endif
# test-cert.p12 created with:
#
# openssl pkcs12 -export \
# -in test_key_and_cert.pem \
# -inkey test_key_and_cert.pem \
# -certfile test_ca_cert.pem \
# -name "test-pkcs12" \
# -out test-cert.p12
EXTRA_DIST = \
certs/ca-no-ending-newline.pem \
certs/pkcs8-decrypted.der \
certs/pkcs8-enc-key.pem \
certs/pkcs8-noenc-key.pem \
certs/test2_ca_cert.pem \
certs/test2-cert.p12 \
certs/test2_key_and_cert.pem \
certs/test-aes-key.pem \
certs/test_ca_cert.der \
certs/test_ca_cert.pem \
certs/test-ca-cert.pem \
certs/test-cert.p12 \
certs/test_key_and_cert.pem \
certs/test-key-and-cert.pem \
certs/test-key-only-decrypted.der \
certs/test-key-only-decrypted.pem \
certs/test-key-only.pem