]> git.puffer.fish Git - matthieu/frr.git/commitdiff
configure: Auto pick-up the correct json env
authorDonald Sharp <sharpd@cumulusnetworks.com>
Sat, 4 Jun 2016 23:55:22 +0000 (19:55 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 10 Jun 2016 13:17:37 +0000 (09:17 -0400)
Fix the code to allow Quagga to automatically
compile with the correct json library.

Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
configure.ac
lib/json.h

index d9f67def40c8bfe34363ffffc7101204913bb20b..713cf4080107ba2af1c1340b67aedd9691317c8b 100755 (executable)
@@ -52,8 +52,6 @@ dnl XXX add --pkgsrcrcdir to autoconf standard directory list somehow
 AC_SUBST(pkgsrcdir)
 AC_SUBST(pkgsrcrcdir)
 
-LIBS="$LIBS -L/usr/include/json/ -ljson-c"
-
 dnl ------------
 dnl Check CFLAGS
 dnl ------------
@@ -323,6 +321,12 @@ AC_ARG_ENABLE(werror,
 AC_ARG_ENABLE(cumulus,
   AS_HELP_STRING([--enable-cumulus], [enable Cumulus Switch Special Extensions]))
 
+AC_CHECK_HEADERS(json-c/json.h)
+AC_CHECK_LIB(json-c, json_object_get, LIBS="$LIBS -ljson-c")
+if test $ac_cv_lib_json_c_json_object_get = no; then
+  AC_MSG_ERROR([lib json is needed to compile])
+fi
+
 if test x"${enable_gcc_rdynamic}" != x"no" ; then
   if test x"${enable_gcc_rdynamic}" = x"yes" -o x"$COMPILER" = x"GCC"; then
     LDFLAGS="${LDFLAGS} -rdynamic"
index e69b10acd21a758d586c20aa79934207874ff9aa..561f7cc4053ea570f38597852b2428115f43a591 100644 (file)
 #ifndef _QUAGGA_JSON_H
 #define _QUAGGA_JSON_H
 
+#if defined(HAVE_JSON_C_JSON_H)
+#include <json-c/json.h>
+#else
 #include <json/json.h>
+#endif
 
 extern int use_json(const int argc, const char *argv[]);
 extern void json_object_string_add(struct json_object* obj, const char *key,