-add option for future use
[oweals/gnunet.git] / configure.ac
index 6d779031389b59244a32eeb0ca5e8ae3329c608e..92e460b30cb1f98aa889fcf221fee67e97385325 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
@@ -486,7 +495,7 @@ AC_HEADER_STDC
 AC_CHECK_HEADERS([fcntl.h math.h errno.h ctype.h limits.h stdio.h stdlib.h string.h unistd.h stdarg.h signal.h locale.h sys/stat.h sys/types.h],,AC_MSG_ERROR([Compiling GNUnet requires standard UNIX headers files]))
 
 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
-AC_CHECK_HEADERS([malloc.h malloc/malloc.h langinfo.h sys/param.h sys/mount.h sys/statvfs.h sys/select.h sockLib.h sys/mman.h sys/msg.h sys/vfs.h arpa/inet.h fcntl.h libintl.h netdb.h netinet/in.h netinet/in_systm.h sys/ioctl.h sys/socket.h sys/time.h unistd.h kstat.h sys/sysinfo.h kvm.h sys/file.h sys/resource.h ifaddrs.h mach/mach.h stddef.h sys/timeb.h terminos.h argz.h ucred.h endian.h sys/endian.h execinfo.h])
+AC_CHECK_HEADERS([malloc.h malloc/malloc.h langinfo.h sys/param.h sys/mount.h sys/statvfs.h sys/select.h sockLib.h sys/mman.h sys/msg.h sys/vfs.h arpa/inet.h fcntl.h libintl.h netdb.h netinet/in.h netinet/in_systm.h netinet/ip.h sys/ioctl.h sys/socket.h sys/time.h unistd.h kstat.h sys/sysinfo.h kvm.h sys/file.h sys/resource.h ifaddrs.h mach/mach.h stddef.h sys/timeb.h terminos.h argz.h ucred.h endian.h sys/endian.h execinfo.h])
 
 SAVE_LDFLAGS=$LDFLAGS
 SAVE_CPPFLAGS=$CPPFLAGS
@@ -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 random srandom stat statfs statvfs])
 
 # 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)
@@ -1137,6 +1208,27 @@ AC_MSG_RESULT($use_gcov)
 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
 
 
+# version info
+AC_PATH_PROG(svnversioncommand, svnversion)
+AC_PATH_PROG(gitcommand, git)
+if test "X$svnversioncommand" = "X" || test `$svnversioncommand -n '.'` = "exported"
+then
+  if test "X$gitcommand" = "X"
+  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 test "X$gitver" = "X"
+    then
+      AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
+    else
+      AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-$gitver"], [repository svn version])
+    fi
+  fi
+else
+  AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-`svnversion -n`"], [repository svn version])
+fi
+
 AC_CONFIG_FILES([ 
 Makefile
 contrib/Makefile
@@ -1151,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
@@ -1167,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
@@ -1193,6 +1285,9 @@ 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
@@ -1200,7 +1295,6 @@ 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