# This file is part of GNUnet.
-# (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Christian Grothoff (and other contributing authors)
+# (C) 2001--2010 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_PROG_LN_S
AC_PROG_MAKE_SET
AM_PROG_CC_C_O
-LT_CONFIG_LTDL_DIR([libltdl])
AC_CANONICAL_HOST
LT_INIT([disable-static dlopen win32-dll])
LTDL_INIT
# Check system type
case "$host_os" in
*darwin* | *rhapsody* | *macosx*)
- AC_DEFINE_UNQUOTED(OSX,1,[This is an OS X system])
+ AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system])
+ CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS"
CFLAGS="-no-cpp-precomp -fno-common $CFLAGS"
AC_MSG_WARN([The VPN application cannot be compiled on your OS])
- build_target="macosx"
+ build_target="darwin"
DEFAULT_INTERFACE="\"en0\""
LIBPREFIX=
DLLDIR=lib
AC_SUBST(DEFAULT_INTERFACE)
AC_MSG_CHECKING([for build target])
-AM_CONDITIONAL(MACOSX, test "$build_target" = "macosx")
+AM_CONDITIONAL(DARWIN, test "$build_target" = "darwin")
AM_CONDITIONAL(CYGWIN, test "$build_target" = "cygwin")
AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
;;
yes)
AC_CHECK_HEADERS(extractor.h,
- AC_CHECK_LIB([extractor], [EXTRACTOR_loadDefaultLibraries],
+ AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
extractor=1))
;;
*)
LDFLAGS="-L$with_extractor/lib $LDFLAGS"
CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
AC_CHECK_HEADERS(extractor.h,
- AC_CHECK_LIB([extractor], [EXTRACTOR_loadDefaultLibraries],
+ AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
extractor=1))
;;
],
[AC_MSG_RESULT([--with-extractor not specified])
AC_CHECK_HEADERS(extractor.h,
- AC_CHECK_LIB([extractor], [EXTRACTOR_loadDefaultLibraries],
+ AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
extractor=1))])
if test "$extractor" != 1
then
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([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 sys/ioctl.h sys/socket.h sys/time.h unistd.h kstat.h sys/sysinfo.h kvm.h sys/file.h sys/resource.h iconv.h ifaddrs.h mach/mach.h stddef.h sys/timeb.h terminos.h])
+AC_CHECK_HEADERS([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 sys/ioctl.h sys/socket.h sys/time.h unistd.h kstat.h sys/sysinfo.h kvm.h sys/file.h sys/resource.h iconv.h ifaddrs.h mach/mach.h stddef.h sys/timeb.h terminos.h argz.h])
# Check for GMP header (and abort if not present)
AC_CHECK_HEADERS([gmp.h],,AC_MSG_ERROR([Compiling GNUnet requires gmp.h (from the GNU MP library, libgmp)]))
AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
fi
-# GNUnet Setup
-dialog=0
-LIBS="-lm $LIBS"
-AC_CHECK_LIB([ncursesw],[wmove])
-AC_MSG_CHECKING([for dialog 1.0-20051207])
-AC_ARG_WITH(dialog,
- [ --with-dialog=PFX base of dialog installation],
- [AC_MSG_RESULT([$with_dialog])
- case $with_dialog in
- no)
- ;;
- yes)
- AC_CHECK_HEADERS(dialog.h,
- AC_CHECK_LIB([dialog], [dlg_menu],
- dialog=1))
- ;;
- *)
- LDFLAGS="-L$with_dialog/lib $LDFLAGS"
- CPPFLAGS="-I$with_dialog/include $CPPFLAGS"
- AC_CHECK_HEADERS(dialog.h,
- AC_CHECK_LIB([dialog], [dlg_menu],
- EXT_LIB_PATH="-L$with_dialog/lib $EXT_LIB_PATH"
- dialog=1))
- ;;
- esac
- ],
- [AC_MSG_RESULT([--with-dialog not specified])
- AC_CHECK_HEADERS(dialog.h,
- AC_CHECK_LIB([dialog], [dlg_menu],
- dialog=1))])
-
-AM_CONDITIONAL(HAVE_DIALOG, test x$dialog = x1)
-AC_DEFINE_UNQUOTED([HAVE_DIALOG], $dialog, [We have dialog])
-
-cdialog=0
-AC_ARG_WITH(cdialog,
- [ --with-cdialog=PFX base of cdialog installation],
- [AC_MSG_RESULT([$with_cdialog])
- case $with_cdialog in
- no)
- ;;
- yes)
- AC_CHECK_HEADERS(cdialog/dialog.h,
- AC_CHECK_LIB([cdialog], [dlg_menu],
- cdialog=1))
- ;;
- *)
- LDFLAGS="-L$with_cdialog/lib $LDFLAGS"
- CPPFLAGS="-I$with_cdialog/include $CPPFLAGS"
- AC_CHECK_HEADERS(cdialog/dialog.h,
- AC_CHECK_LIB([cdialog], [dlg_menu],
- EXT_LIB_PATH="-L$with_cdialog/lib $EXT_LIB_PATH"
- cdialog=1))
- ;;
- esac
- ],
- [AC_MSG_RESULT([--with-cdialog not specified])
- AC_CHECK_HEADERS(cdialog/dialog.h,
- AC_CHECK_LIB([cdialog], [dlg_menu],
- cdialog=1))])
-
-AM_CONDITIONAL(HAVE_CDIALOG, test x$cdialog = x1)
-AC_DEFINE_UNQUOTED([HAVE_CDIALOG], $cdialog, [We have cdialog])
-# restore LIBS
-LIBS=$SAVE_LIBS
-
# libmicrohttpd
lmhd=0
AC_MSG_CHECKING([for libmicrohttpd])
# restore LIBS
LIBS=$SAVE_LIBS
+# check for python & pexpect (used for some testcases only)
+AC_MSG_CHECKING([for python and pexpect])
+python -c "import pexpect" &> /dev/null
+PYEX=$?
+AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, test $PYEX -eq 0)
+if test $PYEX -eq 0
+then
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([not found])
+fi
+
# libesmtp
esmtp=0
AC_MSG_CHECKING([for libesmtp])
AM_ICONV
# Checks for standard typedefs, structures, and compiler characteristics.
-AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_TYPE_MODE_T
AC_HEADER_STDBOOL
AC_STRUCT_TM
+AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
+ [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
+ ],
+ [],
+ [
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ ])
# Checks for library functions.
AC_FUNC_CLOSEDIR_VOID
AC_FUNC_FORK
+AC_FUNC_VFORK
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_FUNC_SELECT_ARGTYPES
# restore LIBS
LIBS=$SAVE_LIBS
-
-
-# check for guile
-guile=0
-AC_MSG_CHECKING(for guile 1.8)
-AC_ARG_WITH(guile,
- [ --with-guile=PFX base of guile installation],
- [AC_MSG_RESULT([$with_guile])
- case $with_guile in
- no)
- ;;
- yes)
- AC_CHECK_HEADERS(libguile.h,
- AC_CHECK_LIB([guile], [scm_c_define_gsubr],
- guile=1, [],
- -lgmp $LIBLTDL))
- ;;
- *)
- LDFLAGS="-L$with_guile/lib $LDFLAGS"
- CPPFLAGS="-I$with_guile/include $CPPFLAGS"
- AC_CHECK_HEADERS(libguile.h,
- AC_CHECK_LIB([guile], [scm_c_define_gsubr],
- EXT_LIB_PATH="-L$with_guile/lib $EXT_LIB_PATH"
- guile=1, [],
- -lgmp $LIBLTDL))
- ;;
- esac
- ],
- [AC_MSG_RESULT([--with-guile not specified])
- AC_CHECK_HEADERS(libguile.h,
- AC_CHECK_LIB([guile], [scm_c_define_gsubr],
- guile=1, [], -lgmp $LIBLTDL))])
-
-if test "$guile" = 1
-then
- AC_CHECK_LIB([guile], [scm_init_guile], [],
- AC_MSG_ERROR([Guile doesn't provide scm_init_guile(). Please report to bug-gnunet@gnu.org]), -lgmp $LIBLTDL)
- AC_DEFINE_UNQUOTED([HAVE_GUILE], 1, [We have GUILE])
-else
- AC_DEFINE_UNQUOTED([HAVE_GUILE], 0, [We do NOT have GUILE])
-fi
-AM_CONDITIONAL(HAVE_GUILE, test x$guile = x1)
-# restore LIBS
-LIBS=$SAVE_LIBS
-
gn_user_home_dir="~/.gnunet"
AC_ARG_WITH(user-home-dir,
AC_HELP_STRING(
[default daemon config directory (/etc)]),
[gn_daemon_config_dir=$withval])
AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
-gn_daemon_pidfile="/var/run/gnunetd/pid"
-AC_ARG_WITH(daemon-pidfile,
- AC_HELP_STRING(
- [--with-daemon-pidfile=FILE],
- [default daemon pidfile (/var/run/gnunetd/pid)]),
- [gn_daemon_pidfile=$withval])
-AC_SUBST(GN_DAEMON_PIDFILE, $gn_daemon_pidfile)
GN_INTLINCL=""
GN_LIBINTL="$LTLIBINTL"
src/core/Makefile
src/datacache/Makefile
src/datastore/Makefile
+src/dv/Makefile
+src/dht/Makefile
src/fragmentation/Makefile
src/fs/Makefile
src/hello/Makefile
src/include/Makefile
src/include/gnunet_directories.h
src/hostlist/Makefile
+src/nat/Makefile
+src/nat/libnatpmp/Makefile
+src/nat/miniupnp/Makefile
src/peerinfo/Makefile
-src/resolver/Makefile
+src/peerinfo-tool/Makefile
src/statistics/Makefile
src/template/Makefile
src/testing/Makefile
AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
fi
-if test "x$dialog" != "x1" -a "x$cdialog" != "x1"
-then
- AC_MSG_NOTICE([NOTICE: curses based gnunet-setup frontends will not be installed.])
-fi
-
if test "x$lmhd" != "x1"
then
AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite])
-# guile
-if test "x$guile" = "x0"
-then
- AC_MSG_NOTICE([WARNING: Guile not found, gnunet-setup will not be installed.])
-fi
-
if test "$enable_framework_build" = "yes"
then
AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])