Make libidn optional.
[oweals/gnunet.git] / configure.ac
index 97fb33b71839722ffa94ff0e126819c39652511c..bb02ab89353108eae8ef2a29d1f31b137001ce12 100644 (file)
@@ -1,5 +1,5 @@
 # This file is part of GNUnet.
-# (C) 2001--2012 Christian Grothoff (and other contributing authors)
+# (C) 2001--2013 Christian Grothoff (and other contributing authors)
 #
 # GNUnet is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published
 #
 AC_PREREQ(2.61)
 # Checks for programs.
-AC_INIT([gnunet], [0.9.4],[bug-gnunet@gnu.org])
+AC_INIT([gnunet], [0.9.5a],[bug-gnunet@gnu.org])
 
 AC_CANONICAL_TARGET
 AC_CANONICAL_HOST
 AC_CANONICAL_SYSTEM
 
-AM_INIT_AUTOMAKE([gnunet], [0.9.4])
+AM_INIT_AUTOMAKE([gnunet], [0.9.5a])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 AC_CONFIG_HEADERS([gnunet_config.h])
 AH_TOP([#define _GNU_SOURCE  1])
@@ -222,7 +222,7 @@ fi
 # libgcrypt
 gcrypt=0
 NEED_LIBGCRYPT_API=1
-NEED_LIBGCRYPT_VERSION=1.4.2
+NEED_LIBGCRYPT_VERSION=1.6.0
 
 
 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION", gcrypt=1)
@@ -387,11 +387,7 @@ if test "$libidn" != "no"; then
     [libidn=yes LIBS="${LIBS} -lidn"], libidn=no),
      libidn=no)
 fi
-if test "$libidn" != "no" ; then
-  AC_DEFINE(LIBIDN, 1, [Define to 1 if you want IDN support.])
-  else
-  AC_MSG_FAILURE([Libidn not found])
-fi
+AM_CONDITIONAL([HAVE_LIBIDN], [test "$libidn" != "no"]) 
 AC_MSG_RESULT($libidn)
 
 
@@ -401,7 +397,8 @@ LIBS=$SAVE_LIBS
 
 
 AC_CHECK_HEADERS([glpk.h],[glpk=true],[gplk=false])
-AC_CHECK_LIB([glpk],[glp_create_prob],,[gplk=false])
+# GLPK must support glpk_init_env, version >= 4.43
+AC_CHECK_LIB([glpk],[glp_init_env],,[gplk=false]) 
 # GLPK must support atm MLP presolving, version >= 4.32
 AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include <glpk.h>]])
 if test x$gplk = xfalse
@@ -413,7 +410,19 @@ else
        AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
 fi
 
-
+# test for glib
+# Minimum required version for glibtop is 2.6.0
+AM_PATH_GLIB_2_0(2.6.0, [glib2=true] , [glib2=false] ,)
+if test x$glib2 = xfalse
+then
+       AM_CONDITIONAL(HAVE_GLIB2, false)
+       AC_MSG_WARN([GNUnet requires GLIB >= 2.6.0])
+else
+       AM_CONDITIONAL(HAVE_GLIB2, true)
+       AC_DEFINE([HAVE_GLIB2],[1],[Have glib2])
+       LIBS="$LIBS $GLIB_LIBS"
+       CFLAGS="$CFLAGS $GLIB_CFLAGS"
+fi
 
 AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false])
 if test x$nss = xfalse
@@ -555,14 +564,38 @@ AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
 AC_SUBST(POSTGRES_CPPFLAGS)
 AC_SUBST(POSTGRES_LDFLAGS)
 
-# test for libz (maybe required for linking mysql)
-zlib=1
-AC_CHECK_LIB(z, compress,,zlib=0)
-AM_CONDITIONAL(HAVE_ZLIB, test x$zlib = x1)
-if test "$zlib" != 1
-then
- AC_MSG_ERROR([GNUnet requires zlib])
-fi
+# test for zlib
+SAVE_LDFLAGS=$LDFLAGS
+SAVE_CPPFLAGS=$CPPFLAGS
+AC_ARG_WITH(zlib,
+           [  --with-zlib[[=DIR]]       use libz in DIR],
+           [AS_IF([test "$withval" = "no"],
+                  [AC_MSG_ERROR([GNUnet requires zlib])],
+                  [test "$withval" != "yes"],
+                  [
+                    Z_DIR=$withval
+                    CPPFLAGS="${CPPFLAGS} -I$withval/include"
+                    LDFLAGS="${LDFLAGS} -L$withval/lib"
+                  ])
+           ])
+AC_CHECK_HEADER(zlib.h,
+               [],
+               [AC_MSG_ERROR([GNUnet requires zlib])])
+AC_CHECK_LIB(z, compress2,
+            [
+             AC_DEFINE([HAVE_ZLIB], [], [Have compression library])
+             if test "x${Z_DIR}" != "x"; then
+                     Z_CFLAGS="-I${Z_DIR}/include"
+                     Z_LIBS="-L${Z_DIR}/lib -lz"
+             else
+                     Z_LIBS="-lz"
+             fi],
+             [AC_MSG_ERROR([GNUnet requires zlib])])
+AC_SUBST(Z_CFLAGS)
+AC_SUBST(Z_LIBS)
+
+LDFLAGS=$SAVE_LDFLAGS
+CPPFLAGS=$SAVE_CPPFLAGS
 
 # mysql & windows
 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
@@ -766,7 +799,7 @@ AC_FUNC_VPRINTF
 AC_HEADER_SYS_WAIT
 AC_TYPE_OFF_T
 AC_TYPE_UID_T
-AC_CHECK_FUNCS([atoll stat64 strnlen mremap setrlimit sysconf initgroups strndup gethostbyname2 getpeerucred getpeereid setresuid $funcstocheck getifaddrs freeifaddrs getresgid mallinfo malloc_size malloc_usable_size getrusage])
+AC_CHECK_FUNCS([atoll stat64 strnlen mremap getrlimit setrlimit sysconf initgroups strndup gethostbyname2 getpeerucred getpeereid setresuid $funcstocheck getifaddrs freeifaddrs getresgid mallinfo malloc_size malloc_usable_size getrusage])
 
 # restore LIBS
 LIBS=$SAVE_LIBS
@@ -936,6 +969,44 @@ AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have gnutls])
 
 
+# Test if we are building for superMUC
+AC_MSG_CHECKING(if testbed should use IBM LoadLeveler to run on SuperMUC)
+AC_ARG_ENABLE([ll],
+    [AS_HELP_STRING([--enable-ll],
+       [build GNUnet testbed for use with IBM LoadLeveler for running testbed on
+              SuperMUC (default is NO)])],
+    [if test "x$enable_ll" = "xno"
+     then
+       ll=0
+     else
+       ll=1
+     fi],
+    [ll=0
+     enable_ll=no])
+AC_MSG_RESULT($enable_ll)
+AM_CONDITIONAL([ENABLE_LL], [test "x$ll" = "x1"])
+AC_DEFINE_UNQUOTED([ENABLE_LL], [$ll], [Build with LL support])
+
+# Check if NSE has to send timestamp information to testbed logger for
+# generating histogram of messages received
+AC_MSG_CHECKING(if NSE has to send timestamp information to testbed logger)
+AC_ARG_ENABLE([nse-histogram],
+    [AS_HELP_STRING([--enable-nse-histogram],
+       [have NSE send timestamp information to testbed logger for generating
+       histogram of received messages.  NOT useful for production (default is
+       NO)])],
+    [if test "x$enableval" = "xno"
+     then
+       nse_histogram=0
+     else
+       nse_histogram=1
+     fi],
+    [nse_histogram=0
+     enable_nse_histogram=no])
+AC_MSG_RESULT($enable_nse_histogram)
+AM_CONDITIONAL([ENABLE_NSE_HISTOGRAM], [test "x$nse_histogram" = "x1"])
+AC_DEFINE_UNQUOTED([ENABLE_NSE_HISTOGRAM], [$nse_histogram],
+                   [have NSE send timestamp information to testbed logger])
 
 # should 'make check' run tests?
 AC_MSG_CHECKING(whether to run tests)
@@ -1147,7 +1218,7 @@ then
     AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
   else
     gitver=$(git log -1 | grep "git-svn-id" | sed -e 's/.*@\([[0-9]]\+\) .*/\1/')
-    if "X$gitver" = "X"
+    if test "X$gitver" = "X"
     then
       AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
     else
@@ -1172,8 +1243,6 @@ src/ats/Makefile
 src/ats/ats.conf
 src/ats-tool/Makefile
 src/block/Makefile
-src/chat/Makefile
-src/chat/chat.conf
 src/core/Makefile
 src/core/core.conf
 src/consensus/Makefile
@@ -1188,6 +1257,8 @@ src/dns/dns.conf
 src/dv/Makefile
 src/dv/dv.conf
 src/exit/Makefile
+src/experimentation/Makefile
+src/experimentation/experimentation.conf
 src/fragmentation/Makefile
 src/fs/Makefile
 src/fs/fs.conf
@@ -1214,16 +1285,16 @@ src/peerinfo-tool/Makefile
 src/postgres/Makefile
 src/pt/Makefile
 src/regex/Makefile
+src/regex/regex.conf
+src/set/Makefile
+src/set/set.conf
 src/statistics/Makefile
 src/statistics/statistics.conf
 src/stream/Makefile
-src/sysmon/Makefile
-src/sysmon/sysmon.conf
 src/template/Makefile
 src/testbed/Makefile
 src/testbed/testbed.conf
 src/testing/Makefile
-src/testing_old/Makefile
 src/topology/Makefile
 src/transport/Makefile
 src/transport/transport.conf