1 # This file is part of GNUnet.
2 # (C) 2001--2010 Christian Grothoff (and other contributing authors)
4 # GNUnet is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published
6 # by the Free Software Foundation; either version 2, or (at your
7 # option) any later version.
9 # GNUnet is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with GNUnet; see the file COPYING. If not, write to the
16 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 # Boston, MA 02111-1307, USA.
20 # Process this file with autoconf to produce a configure script.
24 # Checks for programs.
25 AC_INIT([gnunet], [0.9.0pre3],[bug-gnunet@gnu.org])
31 AM_INIT_AUTOMAKE([gnunet], [0.9.0pre3])
32 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
33 AC_CONFIG_HEADERS([gnunet_config.h])
34 AH_TOP([#define _GNU_SOURCE 1])
45 LT_INIT([disable-static dlopen win32-dll])
56 if test "$enable_shared" = "no"
58 AC_MSG_ERROR([GNUnet only works with shared libraries. Sorry.])
61 CFLAGS="-Wall $CFLAGS"
62 # use '-fno-strict-aliasing', but only if the compiler can take it
63 if gcc -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1;
65 CFLAGS="-fno-strict-aliasing $CFLAGS"
68 # Use Linux interface name unless the OS has a different preference
69 DEFAULT_INTERFACE="\"eth0\""
73 *darwin* | *rhapsody* | *macosx*)
74 AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system])
75 CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS"
76 CFLAGS="-no-cpp-precomp -fno-common $CFLAGS"
77 AC_MSG_WARN([The VPN application cannot be compiled on your OS])
79 DEFAULT_INTERFACE="\"en0\""
84 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
91 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
92 AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
93 CFLAGS="-D_THREAD_SAFE $CFLAGS"
94 build_target="freebsd"
99 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
100 AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
101 LIBS=`echo $LIBS | sed -e "s/-ldl//"`
102 build_target="openbsd"
107 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
108 AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
113 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
114 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
115 AC_CHECK_LIB(resolv, res_init)
116 AC_CHECK_LIB(rt, nanosleep)
117 build_target="solaris"
122 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
123 CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
129 AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
130 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
131 AC_CHECK_LIB(intl, gettext)
132 LDFLAGS="$LDFLAGS -no-undefined"
133 CFLAGS="-mms-bitfields $CFLAGS"
134 build_target="cygwin"
140 AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
141 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
142 AC_DEFINE_UNQUOTED(_WIN32,1,[This is a Windows system])
143 AC_CHECK_LIB(intl, gettext)
144 LDFLAGS="$LDFLAGS -no-undefined -Wl,--export-all-symbols"
145 LIBS="$LIBS -lws2_32 -lplibc"
146 CFLAGS="-mms-bitfields $CFLAGS"
147 CPPFLAGS="-D_WIN32_WINNT=0x0501 $CPPFLAGS"
154 AC_MSG_RESULT(Unrecognised OS $host_os)
155 AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
158 AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should be the default choice for the name of the first network interface])
159 AC_SUBST(DEFAULT_INTERFACE)
161 AC_MSG_CHECKING([for build target])
162 AM_CONDITIONAL(DARWIN, test "$build_target" = "darwin")
163 AM_CONDITIONAL(CYGWIN, test "$build_target" = "cygwin")
164 AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
165 AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
166 AM_CONDITIONAL(XFREEBSD, test "$build_target" = "freebsd")
167 AM_CONDITIONAL(OPENBSD, test "$build_target" = "openbsd")
168 AM_CONDITIONAL(LINUX, test "$build_target" = "linux")
170 AC_MSG_RESULT([$build_target])
171 AC_SUBST(build_target)
172 AM_CONDITIONAL([am__fastdepOBJC], false)
173 AC_UNALIGNED_64_ACCESS
175 # some other checks for standard libs
176 AC_SEARCH_LIBS([gethostbyname], [nsl ws2_32])
177 AC_CHECK_LIB(socket, socket)
179 AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
181 # 'save' libs; only those libs found so far will be
182 # linked against _everywhere_. For the others, we
183 # will be more selective!
188 AM_PATH_LIBGCRYPT(1.2.0, gcrypt=1)
189 AC_CHECK_DECLS([gcry_mpi_lshift], [], [], [[#include <gcrypt.h>]])
193 AC_MSG_ERROR([GNUnet needs libgcrypt])
196 if test $build = $target
198 AC_MSG_CHECKING([for working HMAC])
200 LIBS="$LIBS $LIBGCRYPT_LIBS"
201 CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
203 [AC_LANG_PROGRAM([#include <gcrypt.h>], [[
206 unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
207 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
208 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
209 unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
210 unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
211 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
212 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
213 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
214 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
215 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
217 if (!gcry_check_version (GCRYPT_VERSION))
220 gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
221 gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
223 if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
226 gcry_md_setkey (mac, key, sizeof (key));
227 gcry_md_write (mac, data, sizeof (data));
229 if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
236 [AC_MSG_RESULT([yes])],
240 AC_MSG_FAILURE([HMAC test vector does not match. This is a known problem with libgcrypt 1.2.2 on Windows and fixed in 1.4.6.])
242 AC_MSG_FAILURE([HMAC test failed])
246 fi # $build = $target
249 LIBCURL_CHECK_CONFIG(,7.20.1,,AC_MSG_ERROR([GNUnet requires libcurl >= 7.20.1]))
255 if test x$USE_ATS = xtrue
258 AC_MSG_WARN([ATS enabled])
259 AC_CHECK_HEADERS(glpk.h, ,[gplk=false])
260 AC_CHECK_LIB([glpk],[glp_create_prob], , [gplk=false])
261 # GLPK must support atm MLP presolving, version >= 4.32
262 AC_CHECK_MEMBERS(glp_iocp.presolve, ,[gplk=false],[[#include <glpk.h>]])
263 if test x$gplk = xfalse
265 AM_CONDITIONAL(HAVE_GLPK, [test x$gplk = xtrue])
266 AM_CONDITIONAL(HAVE_LIBGLPK, [test x$gplk != x$gplk])
267 AC_MSG_WARN([GNUnet requires GLPK >= 4.32])
269 AM_CONDITIONAL(HAVE_GLPK, [test x$gplk = xtrue])
270 AM_CONDITIONAL(HAVE_LIBGLPK, [test x$gplk = x$gplk])
273 AC_MSG_WARN([ATS disabled])
274 AM_CONDITIONAL(HAVE_GLPK, false)
275 AM_CONDITIONAL(HAVE_LIBGLPK, false)
278 # test for kvm and kstat (for CPU stats under BSD/Solaris)
279 AC_CHECK_LIB([kvm],[kvm_open])
280 AC_CHECK_LIB([kstat],[kstat_open])
282 # test for libextractor
284 AC_MSG_CHECKING(for libextractor)
285 AC_ARG_WITH(extractor,
286 [ --with-extractor=PFX base of libextractor installation],
287 [AC_MSG_RESULT([$with_extractor])
288 case $with_extractor in
292 AC_CHECK_HEADERS(extractor.h,
293 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
297 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
298 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
299 AC_CHECK_HEADERS(extractor.h,
300 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
301 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
306 [AC_MSG_RESULT([--with-extractor not specified])
307 AC_CHECK_HEADERS(extractor.h,
308 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
310 if test "$extractor" != 1
312 AC_MSG_ERROR([GNUnet requires libextractor])
318 # Checks for standard header files.
322 # Check for headers that are ALWAYS required
323 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]))
325 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
326 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 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])
328 SAVE_LDFLAGS=$LDFLAGS
329 SAVE_CPPFLAGS=$CPPFLAGS
333 AC_MSG_CHECKING(for SQLite)
335 [ --with-sqlite=PFX base of SQLite installation],
336 [AC_MSG_RESULT("$with_sqlite")
341 AC_CHECK_HEADERS(sqlite3.h,
345 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
346 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
347 AC_CHECK_HEADERS(sqlite3.h,
348 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
349 SQLITE_LDFLAGS="-L$with_sqlite/lib"
350 SQLITE_CPPFLAGS="-I$with_sqlite/include"
352 LDFLAGS=$SAVE_LDFLAGS
353 CPPFLAGS=$SAVE_CPPFLAGS
357 [AC_MSG_RESULT([--with-sqlite not specified])
358 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
359 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
360 AC_SUBST(SQLITE_CPPFLAGS)
361 AC_SUBST(SQLITE_LDFLAGS)
365 AC_MSG_CHECKING(for postgres)
366 AC_ARG_WITH(postgres,
367 [ --with-postgres=PFX base of postgres installation],
368 [AC_MSG_RESULT("$with_postgres")
369 case $with_postgres in
373 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
377 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
378 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
379 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
380 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
381 POSTGRES_LDFLAGS="-L$with_postgres/lib"
382 POSTGRES_CPPFLAGS="-I$with_postgres/include"
384 LDFLAGS=$SAVE_LDFLAGS
385 CPPFLAGS=$SAVE_CPPFLAGS
389 [AC_MSG_RESULT([--with-postgres not specified])
390 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
391 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
392 AC_SUBST(POSTGRES_CPPFLAGS)
393 AC_SUBST(POSTGRES_LDFLAGS)
395 # test for libz (maybe required for linking mysql)
397 AC_CHECK_LIB(z, compress,,zlib=0)
398 AM_CONDITIONAL(HAVE_ZLIB, test x$zlib = x1)
401 AC_MSG_ERROR([GNUnet requires zlib])
405 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
406 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
408 if test "$build_target" = "mingw"
410 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
416 SAVE_LDFLAGS=$LDFLAGS
417 SAVE_CPPFLAGS=$CPPFLAGS
418 AC_MSG_CHECKING(for mysql)
420 [ --with-mysql=PFX base of MySQL installation],
421 [AC_MSG_RESULT("$with_mysql")
422 if test "$with_mysql" != "no"
424 if test "$with_mysql" != "yes"
426 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
427 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
429 AC_CHECK_HEADERS(mysql/mysql.h,
430 AC_CHECK_LIB(mysqlclient, mysql_init,
431 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
432 MYSQL_CPPFLAGS="-I$with_mysql/include"
434 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
437 [AC_MSG_RESULT([--with-mysql not specified])
438 LDFLAGS="-L/usr/lib/mysql $LDFLAGS $ZLIBS"
439 AC_CHECK_LIB(mysqlclient, mysql_init,
440 [AC_CHECK_HEADERS(mysql/mysql.h,
441 MYSQL_LDFLAGS="-L/usr/lib/mysql"
444 , [], [$CYGWIN_MYSQL_MAGIC])])
447 AC_SUBST(MYSQL_LDFLAGS)
448 AC_SUBST(MYSQL_CPPFLAGS)
450 # additional version check for mysql
451 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
452 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
454 AC_MSG_CHECKING(mysql version)
455 AC_RUN_IFELSE([AC_LANG_PROGRAM(
456 [[$CYGWIN_MYSQL_MAGIC
457 #include <mysql/mysql.h>]],
458 [[if (MYSQL_VERSION_ID < 40100)
463 ],mysql=true,mysql=false)
464 if test "$mysql" = "false"
467 AC_MSG_RESULT([fail, >= 4.1 required])
472 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
473 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
476 LDFLAGS=$SAVE_LDFLAGS
477 CPPFLAGS=$SAVE_CPPFLAGS
479 if test "$sqlite" = 0 -a "$mysql" = 0
481 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
486 AC_MSG_CHECKING([for libmicrohttpd])
487 AC_ARG_WITH(microhttpd,
488 [ --with-microhttpd=PFX base of libmicrohttpd installation],
489 [AC_MSG_RESULT([$with_microhttpd])
490 case $with_microhttpd in
494 AC_CHECK_HEADERS([microhttpd.h],
495 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
496 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
498 [],[#include "src/include/platform.h"
499 #include <microhttpd.h>]),,
500 [#include "src/include/platform.h"])
503 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
504 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
505 AC_CHECK_HEADERS(microhttpd.h,
506 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
507 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
508 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
510 [],[#include "src/include/platform.h"
511 #include <microhttpd.h>]),,
512 [#include "src/include/platform.h"])
516 [AC_MSG_RESULT([--with-microhttpd not specified])
517 AC_CHECK_HEADERS([microhttpd.h],
518 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
519 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
521 [],[#include "src/include/platform.h"
522 #include <microhttpd.h>]),,
523 [#include "src/include/platform.h"])])
524 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
525 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
530 AC_MSG_CHECKING([for openssl])
532 [ --with-openssl=PFX base of openssl installation],
533 [AC_MSG_RESULT([$with_openssl])
534 case $with_openssl in
538 AC_CHECK_HEADERS([openssl/ssl.h],
539 AC_CHECK_LIB([ssl], [SSL_new],
543 LDFLAGS="-L$with_openssl/lib $LDFLAGS"
544 CPPFLAGS="-I$with_openssl/include $CPPFLAGS"
545 AC_CHECK_HEADERS([openssl/ssl.h],
546 AC_CHECK_LIB([ssl], [SSL_new],
547 EXT_LIB_PATH="-L$with_openssl/lib $EXT_LIB_PATH"
552 [AC_MSG_RESULT([--with-openssl not specified])
553 AC_CHECK_HEADERS([openssl/ssl.h],
554 AC_CHECK_LIB([ssl], [SSL_new],
556 AM_CONDITIONAL(HAVE_OPENSSL, test x$openssl = x1)
557 AC_DEFINE_UNQUOTED([HAVE_OPENSSL], $openssl, [We have openssl])
567 # check for python & pexpect (used for some testcases only)
568 AM_PATH_PYTHON([2.5],, [:])
569 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
571 if test "$PYTHON" != :
573 AC_MSG_CHECKING([for pexpect])
574 $PYTHON -c "import pexpect" > /dev/null 2> /dev/null
576 AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, test $PYEX -eq 0)
581 AC_MSG_RESULT([not found])
584 AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, 0)
589 AM_GNU_GETTEXT([external])
590 AM_GNU_GETTEXT_VERSION([0.16.1])
595 # Checks for standard typedefs, structures, and compiler characteristics.
604 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
605 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
609 #include <sys/types.h>
610 #include <sys/socket.h>
611 #include <netinet/in.h>
616 # Checks for library functions.
617 AC_FUNC_CLOSEDIR_VOID
620 AC_PROG_GCC_TRADITIONAL
622 AC_FUNC_SELECT_ARGTYPES
632 AC_CHECK_FUNCS([floor gethostname memmove rmdir strncasecmp strrchr strtol atoll dup2 fdatasync ftruncate gettimeofday memset mkdir mkfifo select socket strcasecmp strchr strdup strerror strstr clock_gettime getrusage rand uname setlocale getcwd mktime gmtime_r gmtime strlcpy strlcat ftruncate stat64 sbrk mmap mremap setrlimit sysconf gethostbyaddr initgroups getifaddrs freeifaddrs getnameinfo getaddrinfo inet_ntoa localtime_r nl_langinfo putenv realpath strndup gethostbyname2 gethostbyname getpeerucred getpeereid])
637 gn_user_home_dir="~/.gnunet"
638 AC_ARG_WITH(user-home-dir,
640 [--with-user-home-dir=DIR],
641 [default user home directory (~/.gnunet)]),
642 [gn_user_home_dir=$withval])
643 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
644 gn_daemon_home_dir="/var/lib/gnunet"
645 AC_ARG_WITH(daemon-home-dir,
647 [--with-daemon-home-dir=DIR],
648 [default daemon home directory (/var/lib/gnunet)]),
649 [gn_daemon_home_dir=$withval])
650 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
651 gn_daemon_config_dir="/etc"
652 AC_ARG_WITH(daemon-config-dir,
654 [--with-daemon-config-dir=DIR],
655 [default daemon config directory (/etc)]),
656 [gn_daemon_config_dir=$withval])
657 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
660 GN_LIBINTL="$LTLIBINTL"
661 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
662 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
663 if test x$enable_framework_build = xyes
665 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
666 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
667 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
668 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
671 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
672 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
674 AC_SUBST(GN_LIB_LDFLAGS)
675 AC_SUBST(GN_PLUGIN_LDFLAGS)
676 AC_SUBST(GN_INTLINCL)
682 AC_SUBST(EXT_LIB_PATH)
687 AC_SUBST(EXT_LIB_PATH)
690 # should 'make check' run tests?
691 AC_MSG_CHECKING(whether to run tests)
692 AC_ARG_ENABLE([testruns],
693 [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
694 [enable_tests_run=${enableval}],
695 [enable_tests_run=yes])
696 AC_MSG_RESULT($enable_test_run)
697 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
699 # should expensive tests be run?
700 AC_MSG_CHECKING(whether to run expensive tests)
701 AC_ARG_ENABLE([expensivetests],
702 [AS_HELP_STRING([--enable-expensive-tests], [enable running expensive testcases])],
703 [enable_expensive=${enableval}],
704 [enable_expensive=no])
705 AC_MSG_RESULT($enable_expensive)
706 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
708 # should benchmarks be run?
709 AC_MSG_CHECKING(whether to run benchmarks during make check)
710 AC_ARG_ENABLE([benchmarks],
711 [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
712 [enable_benchmarks=${enableval}],
713 [enable_benchmarks=no])
714 AC_MSG_RESULT($enable_benchmarks)
715 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
717 # should experimental code be compiled (code that may not yet compile)?
718 AC_MSG_CHECKING(whether to compile experimental code)
719 AC_ARG_ENABLE([experimental],
720 [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
721 [enable_experimental=${enableval}],
722 [enable_experimental=no])
723 AC_MSG_RESULT($enable_experimental)
724 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
726 # should malicious code be compiled (code used for testing with malicious peers)
727 AC_MSG_CHECKING(whether to compile malicious code)
728 AC_ARG_ENABLE([malicious],
729 [AS_HELP_STRING([--enable-malicious], [enable compiling malicious code (only for developers for testing)])],
730 [enable_malicious=${enableval}],
731 [enable_malicious=no])
732 AC_MSG_RESULT($enable_malicious)
733 AM_CONDITIONAL([HAVE_MALICIOUS], [test "x$enable_malicious" = "xyes"])
734 if test "$enable_malicious" = "yes"
736 AC_DEFINE([HAVE_MALICIOUS],[1],[include malicious code])
738 AC_DEFINE([HAVE_MALICIOUS],[0],[disable malicious code])
741 # should code be enabled that works around missing OS functionality on Windows?
742 # used for test cases
743 if test $build_target = "mingw"
747 AC_MSG_CHECKING(whether to enable windows workarounds)
748 AC_ARG_ENABLE([windows_workarounds],
749 [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
750 [enable_workarounds=${enableval}],
751 [enable_workarounds=no])
752 AC_MSG_RESULT($enable_workarounds)
753 if test x$enable_windows_workarounds = "xyes"
760 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
763 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
764 AC_ARG_ENABLE([coverage],
765 AS_HELP_STRING([--enable-coverage],
766 [compile the library with code coverage support]),
767 [use_gcov=${enableval}],
769 AC_MSG_RESULT($use_gcov)
770 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
784 src/datacache/Makefile
785 src/datastore/Makefile
788 src/fragmentation/Makefile
792 src/include/gnunet_directories.h
793 src/hostlist/Makefile
796 src/peerinfo/Makefile
797 src/peerinfo-tool/Makefile
798 src/statistics/Makefile
799 src/template/Makefile
801 src/topology/Makefile
802 src/transport/Makefile
807 pkgconfig/gnunetarm.pc
808 pkgconfig/gnunetblock.pc
809 pkgconfig/gnunetcore.pc
810 pkgconfig/gnunetdatacache.pc
811 pkgconfig/gnunetdatastore.pc
812 pkgconfig/gnunetdht.pc
813 pkgconfig/gnunetdhtlog.pc
814 pkgconfig/gnunetdv.pc
815 pkgconfig/gnunetfragmentation.pc
816 pkgconfig/gnunetfs.pc
817 pkgconfig/gnunethello.pc
818 pkgconfig/gnunetpeerinfo.pc
819 pkgconfig/gnunetstatistics.pc
820 pkgconfig/gnunettesting.pc
821 pkgconfig/gnunettransport.pc
822 pkgconfig/gnunetutil.pc
828 # warn user if mysql found but not used due to version
829 if test "$mysqlfail" = "true"
831 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
835 if test "x$sqlite" = "x0"
837 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
840 if test "x$lmhd" != "x1"
842 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
845 if test "x$esmtp" != "x1"
847 AC_MSG_NOTICE([NOTICE: libesmtp not found, monkey will not be installed.])
850 if test "x$openssl" != "x1"
852 AC_MSG_NOTICE([NOTICE: OpenSSL not found, monkey will not be installed.])
855 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
857 if test "$enable_framework_build" = "yes"
859 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
862 AC_MSG_NOTICE([********************************************
863 You can compile GNUnet with
865 now. After that, run (if necessary as 'root')
867 to install everything. You may want to create a new user account
868 to run the GNUnet service:
870 You also need to create an configuration file that should
871 specify the path where GNUnet should store data. For example,
872 you could store in "/etc/gnunet.conf" the following lines:
875 SERVICEHOME = /var/lib/gnunet
876 DEFAULTCONFIG = /etc/gnunet.conf
878 Now, in order to start your peer, run as the 'gnunet' user
881 Each GNUnet user should also create an (at least initially) empty
884 touch $HOME/.gnunet/gnunet.conf
886 Optionally, download and compile gnunet-gtk to get a GUI.
887 ********************************************])