imv-swid: Use pkg-config to check for libjson-c

The package/library is called libjson-c on recent distributions.
Some like Ubuntu 14.04 provide symlinks with the old name but these
will eventually disappear.  Using pkg-config allows us to easily check
for it (with a fallback) and configure the proper compiler flags.

Fixes #663.
This commit is contained in:
Tobias Brunner 2014-07-30 16:01:41 +02:00
parent ffa9b67189
commit fafed376e7
4 changed files with 8 additions and 6 deletions

View File

@ -876,8 +876,10 @@ if test x$tss = xtrousers; then
fi
if test x$imv_swid = xtrue; then
AC_CHECK_LIB([json],[main],[LIBS="$LIBS"],[AC_MSG_ERROR([JSON library libjson not found])],[])
AC_CHECK_HEADER([json/json.h],,[AC_MSG_ERROR([JSON header json/json.h not found!])])
PKG_CHECK_MODULES(json, [json-c], [],
[PKG_CHECK_MODULES(json, [json])])
AC_SUBST(json_CFLAGS)
AC_SUBST(json_LIBS)
fi
if test x$dumm = xtrue; then

View File

@ -5,7 +5,7 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/src/libpts
AM_CFLAGS = \
$(PLUGIN_CFLAGS)
$(PLUGIN_CFLAGS) $(json_CFLAGS)
imcv_LTLIBRARIES = imv-swid.la
@ -13,7 +13,7 @@ imv_swid_la_LIBADD = \
$(top_builddir)/src/libimcv/libimcv.la \
$(top_builddir)/src/libpts/libpts.la \
$(top_builddir)/src/libstrongswan/libstrongswan.la \
-ljson
$(json_LIBS)
imv_swid_la_SOURCES = \
imv_swid.c imv_swid_state.h imv_swid_state.c \

View File

@ -26,7 +26,7 @@
#include <library.h>
#include <json/json.h>
#include <json.h>
typedef struct imv_swid_rest_t imv_swid_rest_t;

View File

@ -28,7 +28,7 @@
#include <swid/swid_inventory.h>
#include <library.h>
#include <json/json.h>
#include <json.h>
typedef struct imv_swid_state_t imv_swid_state_t;
typedef enum imv_swid_handshake_state_t imv_swid_handshake_state_t;