summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2017-02-22 17:14:28 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2017-02-23 10:05:48 +0100
commita1b729fddbac060c4041d7106b0896087d0a73f6 (patch)
tree2d97bc161e76f01853144e0f92e31382394e90a0
parentde66e15cc9fdf1fa26943c8ddf8cfd295045ba37 (diff)
downloadNetworkManager-a1b729fddbac060c4041d7106b0896087d0a73f6.tar.gz
build: automatically determine Jansson support if not specified
If configure is called without --enable-json-validation or --disable-json-validation, let's automatically choose a value depending on the availability of the library.
-rw-r--r--Makefile.am14
-rw-r--r--configure.ac14
2 files changed, 20 insertions, 8 deletions
diff --git a/Makefile.am b/Makefile.am
index 670fb9d54e..083b7701da 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -491,8 +491,11 @@ dflt_cppflags_libnm_core = \
-I$(srcdir)/libnm-core \
-I$(builddir)/libnm-core \
$(CODE_COVERAGE_CFLAGS) \
- $(GLIB_CFLAGS) \
- $(JANSSON_CFLAGS)
+ $(GLIB_CFLAGS)
+
+if WITH_JANSSON
+dflt_cppflags_libnm_core += $(JANSSON_CFLAGS)
+endif
if WITH_GNUTLS
dflt_cppflags_libnm_core += $(GNUTLS_CFLAGS)
@@ -551,8 +554,11 @@ nodist_libnm_core_libnm_core_la_SOURCES = \
libnm_core_libnm_core_la_LIBADD = \
$(GLIB_LIBS) \
- $(UUID_LIBS) \
- $(JANSSON_LIBS)
+ $(UUID_LIBS)
+
+if WITH_JANSSON
+libnm_core_libnm_core_la_LIBADD += $(JANSSON_LIBS)
+endif
libnm_core_libnm_core_la_LDFLAGS = \
$(CODE_COVERAGE_LDFLAGS)
diff --git a/configure.ac b/configure.ac
index 25af0beeb2..e8910a6fdf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -547,6 +547,8 @@ PKG_CHECK_MODULES(LIBNL, libnl-3.0 >= 3.2.8)
PKG_CHECK_MODULES(UUID, uuid)
# Teamd control checks
+
+PKG_CHECK_MODULES(JANSSON, [jansson], [have_jansson=yes], [have_jansson=no])
PKG_CHECK_MODULES(LIBTEAMDCTL, [libteamdctl >= 1.9], [have_teamdctl=yes],[have_teamdctl=no])
AC_ARG_ENABLE(teamdctl, AS_HELP_STRING([--enable-teamdctl], [enable Teamd control support]),
[enable_teamdctl=${enableval}], [enable_teamdctl=${have_teamdctl}])
@@ -563,14 +565,18 @@ fi
AM_CONDITIONAL(WITH_TEAMDCTL, test "${enable_teamdctl}" = "yes")
# Jansson for team configuration validation
-AC_ARG_ENABLE(json-validation, AS_HELP_STRING([--enable-json-validation], [Enable JSON validation in libnm]))
+AC_ARG_ENABLE(json-validation, AS_HELP_STRING([--enable-json-validation], [Enable JSON validation in libnm]),
+ [enable_json_validation=${enableval}],
+ [enable_json_validation=${have_jansson}])
if (test "${enable_json_validation}" == "no"); then
AC_DEFINE(WITH_JANSSON, 0, [Define if JANSSON is enabled])
else
- PKG_CHECK_MODULES(JANSSON, jansson,,
- AC_MSG_ERROR([jansson is needed for team configuration validation. Use --disable-json-validation to build without it.]))
+ if test "$have_jansson" = "no"; then
+ AC_MSG_ERROR([jansson is needed for team configuration validation. Use --disable-json-validation to build without it.])
+ fi
AC_DEFINE(WITH_JANSSON, 1, [Define if JANSSON is enabled])
fi
+AM_CONDITIONAL(WITH_JANSSON, test "${enable_json_validation}" != "no")
# we usually compile with polkit support. --enable-polkit=yes|no only sets the
# default configuration for main.auth-polkit. User can always enable/disable polkit
@@ -1237,6 +1243,6 @@ echo " valgrind: $with_valgrind $with_valgrind_suppressions"
echo " code coverage: $enable_code_coverage"
echo " LTO: $enable_lto"
echo " linker garbage collection: $enable_ld_gc"
-echo " JSON validation: $enable_json_validation"
+echo " JSON validation for libnm: $enable_json_validation"
echo " sanitizers: $sanitizers"
echo