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]))
254 [AS_HELP_STRING([--enable-ats], [enable ATS code])],
255 [enable_ats=${enableval}],
257 if test x${enable_ats} = xyes
259 AC_CHECK_HEADERS([glpk.h],[glpk=true],[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_LIBGLPK, false)
266 AC_MSG_WARN([GNUnet requires GLPK >= 4.32])
268 AM_CONDITIONAL(HAVE_LIBGLPK, true)
269 AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
272 AM_CONDITIONAL(HAVE_LIBGLPK, false)
276 # test for kvm and kstat (for CPU stats under BSD/Solaris)
277 AC_CHECK_LIB([kvm],[kvm_open])
278 AC_CHECK_LIB([kstat],[kstat_open])
280 # test for libextractor
282 AC_MSG_CHECKING(for libextractor)
283 AC_ARG_WITH(extractor,
284 [ --with-extractor=PFX base of libextractor installation],
285 [AC_MSG_RESULT([$with_extractor])
286 case $with_extractor in
290 AC_CHECK_HEADERS(extractor.h,
291 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
295 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
296 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
297 AC_CHECK_HEADERS(extractor.h,
298 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
299 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
304 [AC_MSG_RESULT([--with-extractor not specified])
305 AC_CHECK_HEADERS(extractor.h,
306 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
308 if test "$extractor" != 1
310 AC_MSG_ERROR([GNUnet requires libextractor])
316 # Checks for standard header files.
320 # Check for headers that are ALWAYS required
321 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]))
323 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
324 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])
326 SAVE_LDFLAGS=$LDFLAGS
327 SAVE_CPPFLAGS=$CPPFLAGS
331 AC_MSG_CHECKING(for SQLite)
333 [ --with-sqlite=PFX base of SQLite installation],
334 [AC_MSG_RESULT("$with_sqlite")
339 AC_CHECK_HEADERS(sqlite3.h,
343 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
344 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
345 AC_CHECK_HEADERS(sqlite3.h,
346 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
347 SQLITE_LDFLAGS="-L$with_sqlite/lib"
348 SQLITE_CPPFLAGS="-I$with_sqlite/include"
350 LDFLAGS=$SAVE_LDFLAGS
351 CPPFLAGS=$SAVE_CPPFLAGS
355 [AC_MSG_RESULT([--with-sqlite not specified])
356 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
357 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
358 AC_SUBST(SQLITE_CPPFLAGS)
359 AC_SUBST(SQLITE_LDFLAGS)
363 AC_MSG_CHECKING(for postgres)
364 AC_ARG_WITH(postgres,
365 [ --with-postgres=PFX base of postgres installation],
366 [AC_MSG_RESULT("$with_postgres")
367 case $with_postgres in
371 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
375 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
376 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
377 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
378 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
379 POSTGRES_LDFLAGS="-L$with_postgres/lib"
380 POSTGRES_CPPFLAGS="-I$with_postgres/include"
382 LDFLAGS=$SAVE_LDFLAGS
383 CPPFLAGS=$SAVE_CPPFLAGS
387 [AC_MSG_RESULT([--with-postgres not specified])
388 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
389 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
390 AC_SUBST(POSTGRES_CPPFLAGS)
391 AC_SUBST(POSTGRES_LDFLAGS)
393 # test for libz (maybe required for linking mysql)
395 AC_CHECK_LIB(z, compress,,zlib=0)
396 AM_CONDITIONAL(HAVE_ZLIB, test x$zlib = x1)
399 AC_MSG_ERROR([GNUnet requires zlib])
403 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
404 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
406 if test "$build_target" = "mingw"
408 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
414 SAVE_LDFLAGS=$LDFLAGS
415 SAVE_CPPFLAGS=$CPPFLAGS
416 AC_MSG_CHECKING(for mysql)
418 [ --with-mysql=PFX base of MySQL installation],
419 [AC_MSG_RESULT("$with_mysql")
420 if test "$with_mysql" != "no"
422 if test "$with_mysql" != "yes"
424 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
425 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
427 AC_CHECK_HEADERS(mysql/mysql.h,
428 AC_CHECK_LIB(mysqlclient, mysql_init,
429 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
430 MYSQL_CPPFLAGS="-I$with_mysql/include"
432 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
435 [AC_MSG_RESULT([--with-mysql not specified])
436 LDFLAGS="-L/usr/lib/mysql $LDFLAGS $ZLIBS"
437 AC_CHECK_LIB(mysqlclient, mysql_init,
438 [AC_CHECK_HEADERS(mysql/mysql.h,
439 MYSQL_LDFLAGS="-L/usr/lib/mysql"
442 , [], [$CYGWIN_MYSQL_MAGIC])])
445 AC_SUBST(MYSQL_LDFLAGS)
446 AC_SUBST(MYSQL_CPPFLAGS)
448 # additional version check for mysql
449 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
450 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
452 AC_MSG_CHECKING(mysql version)
453 AC_RUN_IFELSE([AC_LANG_PROGRAM(
454 [[$CYGWIN_MYSQL_MAGIC
455 #include <mysql/mysql.h>]],
456 [[if (MYSQL_VERSION_ID < 40100)
461 ],mysql=true,mysql=false)
462 if test "$mysql" = "false"
465 AC_MSG_RESULT([fail, >= 4.1 required])
470 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
471 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
474 LDFLAGS=$SAVE_LDFLAGS
475 CPPFLAGS=$SAVE_CPPFLAGS
477 if test "$sqlite" = 0 -a "$mysql" = 0
479 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
484 AC_MSG_CHECKING([for libmicrohttpd])
485 AC_ARG_WITH(microhttpd,
486 [ --with-microhttpd=PFX base of libmicrohttpd installation],
487 [AC_MSG_RESULT([$with_microhttpd])
488 case $with_microhttpd in
492 AC_CHECK_HEADERS([microhttpd.h],
493 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
494 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
496 [],[#include "src/include/platform.h"
497 #include <microhttpd.h>]),,
498 [#include "src/include/platform.h"])
501 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
502 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
503 AC_CHECK_HEADERS(microhttpd.h,
504 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
505 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
506 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
508 [],[#include "src/include/platform.h"
509 #include <microhttpd.h>]),,
510 [#include "src/include/platform.h"])
514 [AC_MSG_RESULT([--with-microhttpd not specified])
515 AC_CHECK_HEADERS([microhttpd.h],
516 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
517 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
519 [],[#include "src/include/platform.h"
520 #include <microhttpd.h>]),,
521 [#include "src/include/platform.h"])])
522 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
523 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
529 # check for python & pexpect (used for some testcases only)
530 AM_PATH_PYTHON([2.5],, [:])
531 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
533 if test "$PYTHON" != :
535 AC_MSG_CHECKING([for pexpect])
536 $PYTHON -c "import pexpect" > /dev/null 2> /dev/null
538 AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, test $PYEX -eq 0)
543 AC_MSG_RESULT([not found])
546 AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, 0)
551 AM_GNU_GETTEXT([external])
552 AM_GNU_GETTEXT_VERSION([0.16.1])
557 # Checks for standard typedefs, structures, and compiler characteristics.
566 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
567 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
571 #include <sys/types.h>
572 #include <sys/socket.h>
573 #include <netinet/in.h>
578 # Checks for library functions.
579 AC_FUNC_CLOSEDIR_VOID
582 AC_PROG_GCC_TRADITIONAL
584 AC_FUNC_SELECT_ARGTYPES
594 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])
599 gn_user_home_dir="~/.gnunet"
600 AC_ARG_WITH(user-home-dir,
602 [--with-user-home-dir=DIR],
603 [default user home directory (~/.gnunet)]),
604 [gn_user_home_dir=$withval])
605 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
606 gn_daemon_home_dir="/var/lib/gnunet"
607 AC_ARG_WITH(daemon-home-dir,
609 [--with-daemon-home-dir=DIR],
610 [default daemon home directory (/var/lib/gnunet)]),
611 [gn_daemon_home_dir=$withval])
612 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
613 gn_daemon_config_dir="/etc"
614 AC_ARG_WITH(daemon-config-dir,
616 [--with-daemon-config-dir=DIR],
617 [default daemon config directory (/etc)]),
618 [gn_daemon_config_dir=$withval])
619 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
622 GN_LIBINTL="$LTLIBINTL"
623 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
624 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
625 if test x$enable_framework_build = xyes
627 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
628 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
629 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
630 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
633 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
634 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
636 AC_SUBST(GN_LIB_LDFLAGS)
637 AC_SUBST(GN_PLUGIN_LDFLAGS)
638 AC_SUBST(GN_INTLINCL)
644 AC_SUBST(EXT_LIB_PATH)
649 AC_SUBST(EXT_LIB_PATH)
652 # should 'make check' run tests?
653 AC_MSG_CHECKING(whether to run tests)
654 AC_ARG_ENABLE([testruns],
655 [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
656 [enable_tests_run=${enableval}],
657 [enable_tests_run=yes])
658 AC_MSG_RESULT($enable_test_run)
659 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
661 # should expensive tests be run?
662 AC_MSG_CHECKING(whether to run expensive tests)
663 AC_ARG_ENABLE([expensivetests],
664 [AS_HELP_STRING([--enable-expensive-tests], [enable running expensive testcases])],
665 [enable_expensive=${enableval}],
666 [enable_expensive=no])
667 AC_MSG_RESULT($enable_expensive)
668 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
670 # should benchmarks be run?
671 AC_MSG_CHECKING(whether to run benchmarks during make check)
672 AC_ARG_ENABLE([benchmarks],
673 [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
674 [enable_benchmarks=${enableval}],
675 [enable_benchmarks=no])
676 AC_MSG_RESULT($enable_benchmarks)
677 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
679 # should experimental code be compiled (code that may not yet compile)?
680 AC_MSG_CHECKING(whether to compile experimental code)
681 AC_ARG_ENABLE([experimental],
682 [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
683 [enable_experimental=${enableval}],
684 [enable_experimental=no])
685 AC_MSG_RESULT($enable_experimental)
686 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
688 # should malicious code be compiled (code used for testing with malicious peers)
689 AC_MSG_CHECKING(whether to compile malicious code)
690 AC_ARG_ENABLE([malicious],
691 [AS_HELP_STRING([--enable-malicious], [enable compiling malicious code (only for developers for testing)])],
692 [enable_malicious=${enableval}],
693 [enable_malicious=no])
694 AC_MSG_RESULT($enable_malicious)
695 AM_CONDITIONAL([HAVE_MALICIOUS], [test "x$enable_malicious" = "xyes"])
696 if test "$enable_malicious" = "yes"
698 AC_DEFINE([HAVE_MALICIOUS],[1],[include malicious code])
700 AC_DEFINE([HAVE_MALICIOUS],[0],[disable malicious code])
703 # should code be enabled that works around missing OS functionality on Windows?
704 # used for test cases
705 if test $build_target = "mingw"
709 AC_MSG_CHECKING(whether to enable windows workarounds)
710 AC_ARG_ENABLE([windows_workarounds],
711 [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
712 [enable_workarounds=${enableval}],
713 [enable_workarounds=no])
714 AC_MSG_RESULT($enable_workarounds)
715 if test x$enable_windows_workarounds = "xyes"
722 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
725 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
726 AC_ARG_ENABLE([coverage],
727 AS_HELP_STRING([--enable-coverage],
728 [compile the library with code coverage support]),
729 [use_gcov=${enableval}],
731 AC_MSG_RESULT($use_gcov)
732 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
747 src/datacache/Makefile
748 src/datastore/Makefile
751 src/fragmentation/Makefile
755 src/include/gnunet_directories.h
756 src/hostlist/Makefile
760 src/peerinfo/Makefile
761 src/peerinfo-tool/Makefile
762 src/statistics/Makefile
763 src/template/Makefile
765 src/topology/Makefile
766 src/transport/Makefile
771 pkgconfig/gnunetarm.pc
772 pkgconfig/gnunetblock.pc
773 pkgconfig/gnunetcore.pc
774 pkgconfig/gnunetdatacache.pc
775 pkgconfig/gnunetdatastore.pc
776 pkgconfig/gnunetdht.pc
777 pkgconfig/gnunetdhtlog.pc
778 pkgconfig/gnunetdv.pc
779 pkgconfig/gnunetfragmentation.pc
780 pkgconfig/gnunetfs.pc
781 pkgconfig/gnunethello.pc
782 pkgconfig/gnunetnat.pc
783 pkgconfig/gnunetnse.pc
784 pkgconfig/gnunetpeerinfo.pc
785 pkgconfig/gnunetstatistics.pc
786 pkgconfig/gnunettesting.pc
787 pkgconfig/gnunettransport.pc
788 pkgconfig/gnunetutil.pc
794 # warn user if mysql found but not used due to version
795 if test "$mysqlfail" = "true"
797 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
801 if test "x$sqlite" = "x0"
803 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
806 if test "x$lmhd" != "x1"
808 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
811 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
813 if test "$enable_framework_build" = "yes"
815 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
818 AC_MSG_NOTICE([********************************************
819 You can compile GNUnet with
821 now. After that, run (if necessary as 'root')
823 to install everything. You may want to create a new user account
824 to run the GNUnet service:
826 You also need to create an configuration file that should
827 specify the path where GNUnet should store data. For example,
828 you could store in "/etc/gnunet.conf" the following lines:
831 SERVICEHOME = /var/lib/gnunet
832 DEFAULTCONFIG = /etc/gnunet.conf
834 Now, in order to start your peer, run as the 'gnunet' user
837 Each GNUnet user should also create an (at least initially) empty
840 touch $HOME/.gnunet/gnunet.conf
842 Optionally, download and compile:
843 - gnunet-gtk to get a GUI for file-sharing.
844 - gnunet-setup to get a GUI for configuration.
845 ********************************************])