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 AC_INIT([gnunet], [0.9.0pre1],[bug-gnunet@gnu.org])
25 AM_INIT_AUTOMAKE([gnunet], [0.9.0pre1])
26 AC_CONFIG_HEADERS([gnunet_config.h])
28 AH_TOP([#define _GNU_SOURCE 1])
30 # Checks for programs.
42 LT_INIT([disable-static dlopen win32-dll])
53 if test "$enable_shared" = "no"
55 AC_MSG_ERROR([GNUnet only works with shared libraries. Sorry.])
58 CFLAGS="-Wall $CFLAGS"
59 # use '-fno-strict-aliasing', but only if the compiler can take it
60 if gcc -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1;
62 CFLAGS="-fno-strict-aliasing $CFLAGS"
65 # Use Linux interface name unless the OS has a different preference
66 DEFAULT_INTERFACE="\"eth0\""
70 *darwin* | *rhapsody* | *macosx*)
71 AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system])
72 CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS"
73 CFLAGS="-no-cpp-precomp -fno-common $CFLAGS"
74 AC_MSG_WARN([The VPN application cannot be compiled on your OS])
76 DEFAULT_INTERFACE="\"en0\""
81 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
88 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
89 AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
90 CFLAGS="-D_THREAD_SAFE $CFLAGS"
91 build_target="freebsd"
96 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
97 AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
98 LIBS=`echo $LIBS | sed -e "s/-ldl//"`
99 build_target="openbsd"
104 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
105 AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
110 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
111 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
112 AC_CHECK_LIB(resolv, res_init)
113 AC_CHECK_LIB(rt, nanosleep)
114 build_target="solaris"
119 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
120 CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
126 AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
127 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
128 AC_CHECK_LIB(intl, gettext)
129 LDFLAGS="$LDFLAGS -no-undefined"
130 CFLAGS="-mms-bitfields $CFLAGS"
131 build_target="cygwin"
137 AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
138 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
139 AC_DEFINE_UNQUOTED(_WIN32,1,[This is a Windows system])
140 AC_CHECK_LIB(intl, gettext)
141 LDFLAGS="$LDFLAGS -no-undefined -Wl,--export-all-symbols"
142 LIBS="$LIBS -lws2_32 -lplibc"
143 CFLAGS="-mms-bitfields $CFLAGS"
150 AC_MSG_RESULT(Unrecognised OS $host_os)
151 AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
154 AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should be the default choice for the name of the first network interface])
155 AC_SUBST(DEFAULT_INTERFACE)
157 AC_MSG_CHECKING([for build target])
158 AM_CONDITIONAL(DARWIN, test "$build_target" = "darwin")
159 AM_CONDITIONAL(CYGWIN, test "$build_target" = "cygwin")
160 AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
161 AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
162 AM_CONDITIONAL(XFREEBSD, test "$build_target" = "freebsd")
163 AM_CONDITIONAL(OPENBSD, test "$build_target" = "openbsd")
164 AM_CONDITIONAL(LINUX, test "$build_target" = "linux")
166 AC_MSG_RESULT([$build_target])
167 AC_SUBST(build_target)
168 AM_CONDITIONAL([am__fastdepOBJC], false)
169 AC_UNALIGNED_64_ACCESS
171 # some other checks for standard libs
172 AC_SEARCH_LIBS([gethostbyname], [nsl ws2_32])
173 AC_CHECK_LIB(socket, socket)
175 AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
177 # 'save' libs; only those libs found so far will be
178 # linked against _everywhere_. For the others, we
179 # will be more selective!
184 AM_PATH_LIBGCRYPT(1.2.0, gcrypt=1)
185 AC_CHECK_DECLS([gcry_mpi_lshift], [], [], [[#include <gcrypt.h>]])
189 AC_MSG_ERROR([GNUnet needs libgcrypt])
192 AC_MSG_CHECKING([for working HMAC])
194 LIBS="$LIBS $LIBGCRYPT_LIBS"
195 CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
197 [AC_LANG_PROGRAM([#include <gcrypt.h>], [[
200 unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
201 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
202 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
203 unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
204 unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
205 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
206 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
207 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
208 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
209 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
211 if (!gcry_check_version (GCRYPT_VERSION))
214 gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
215 gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
217 if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
220 gcry_md_setkey (mac, key, sizeof (key));
221 gcry_md_write (mac, data, sizeof (data));
223 if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
230 [AC_MSG_RESULT([yes])],
234 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.])
236 AC_MSG_FAILURE([HMAC test failed])
242 LIBCURL_CHECK_CONFIG(,7.20.1,,AC_MSG_ERROR([GNUnet requires libcurl >= 7.20.1]))
246 # test for kvm and kstat (for CPU stats under BSD/Solaris)
247 AC_CHECK_LIB([kvm],[kvm_open])
248 AC_CHECK_LIB([kstat],[kstat_open])
250 # test for libextractor
252 AC_MSG_CHECKING(for libextractor)
253 AC_ARG_WITH(extractor,
254 [ --with-extractor=PFX base of libextractor installation],
255 [AC_MSG_RESULT([$with_extractor])
256 case $with_extractor in
260 AC_CHECK_HEADERS(extractor.h,
261 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
265 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
266 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
267 AC_CHECK_HEADERS(extractor.h,
268 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
269 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
274 [AC_MSG_RESULT([--with-extractor not specified])
275 AC_CHECK_HEADERS(extractor.h,
276 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
278 if test "$extractor" != 1
280 AC_MSG_ERROR([GNUnet requires libextractor])
286 # Checks for standard header files.
290 # Check for headers that are ALWAYS required
291 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]))
293 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
294 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])
296 SAVE_LDFLAGS=$LDFLAGS
297 SAVE_CPPFLAGS=$CPPFLAGS
301 AC_MSG_CHECKING(for SQLite)
303 [ --with-sqlite=PFX base of SQLite installation],
304 [AC_MSG_RESULT("$with_sqlite")
309 AC_CHECK_HEADERS(sqlite3.h,
313 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
314 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
315 AC_CHECK_HEADERS(sqlite3.h,
316 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
317 SQLITE_LDFLAGS="-L$with_sqlite/lib"
318 SQLITE_CPPFLAGS="-I$with_sqlite/include"
320 LDFLAGS=$SAVE_LDFLAGS
321 CPPFLAGS=$SAVE_CPPFLAGS
325 [AC_MSG_RESULT([--with-sqlite not specified])
326 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
327 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
328 AC_SUBST(SQLITE_CPPFLAGS)
329 AC_SUBST(SQLITE_LDFLAGS)
333 AC_MSG_CHECKING(for postgres)
334 AC_ARG_WITH(postgres,
335 [ --with-postgres=PFX base of postgres installation],
336 [AC_MSG_RESULT("$with_postgres")
337 case $with_postgres in
341 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
345 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
346 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
347 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
348 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
349 POSTGRES_LDFLAGS="-L$with_postgres/lib"
350 POSTGRES_CPPFLAGS="-I$with_postgres/include"
352 LDFLAGS=$SAVE_LDFLAGS
353 CPPFLAGS=$SAVE_CPPFLAGS
357 [AC_MSG_RESULT([--with-postgres not specified])
358 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
359 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
360 AC_SUBST(POSTGRES_CPPFLAGS)
361 AC_SUBST(POSTGRES_LDFLAGS)
365 AC_MSG_CHECKING(for libpcap)
367 [ --with-pcap=PFX base of pcap installation],
368 [AC_MSG_RESULT("$with_pcap")
373 AC_CHECK_HEADERS(pcap.h,
377 LDFLAGS="-L$with_pcap/lib $LDFLAGS"
378 CPPFLAGS="-I$with_pcap/include $CPPFLAGS"
379 AC_CHECK_HEADERS(pcap.h,
380 EXT_LIB_PATH="-L$with_pcap/lib $EXT_LIB_PATH"
381 PCAP_LDFLAGS="-L$with_pcap/lib"
382 PCAP_CPPFLAGS="-I$with_pcap/include"
384 LDFLAGS=$SAVE_LDFLAGS
385 CPPFLAGS=$SAVE_CPPFLAGS
389 [AC_MSG_RESULT([--with-pcap not specified])
390 AC_CHECK_HEADERS(pcap.h, pcap=1)])
391 AM_CONDITIONAL(HAVE_PCAP, test x$pcap = x1)
392 AC_SUBST(PCAP_CPPFLAGS)
393 AC_SUBST(PCAP_LDFLAGS)
396 # test for libz (maybe required for linking mysql)
398 AC_CHECK_LIB(z, compress,,zlib=0)
399 AM_CONDITIONAL(HAVE_ZLIB, test x$zlib = x1)
402 AC_MSG_ERROR([GNUnet requires zlib])
406 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
407 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
409 if test "$build_target" = "mingw"
411 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
417 SAVE_LDFLAGS=$LDFLAGS
418 SAVE_CPPFLAGS=$CPPFLAGS
419 AC_MSG_CHECKING(for mysql)
421 [ --with-mysql=PFX base of MySQL installation],
422 [AC_MSG_RESULT("$with_mysql")
423 if test "$with_mysql" != "no"
425 if test "$with_mysql" != "yes"
427 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
428 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
430 AC_CHECK_HEADERS(mysql/mysql.h,
431 AC_CHECK_LIB(mysqlclient, mysql_init,
432 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
433 MYSQL_CPPFLAGS="-I$with_mysql/include"
435 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
438 [AC_MSG_RESULT([--with-mysql not specified])
439 LDFLAGS="-L/usr/lib/mysql $LDFLAGS $ZLIBS"
440 AC_CHECK_LIB(mysqlclient, mysql_init,
441 [AC_CHECK_HEADERS(mysql/mysql.h,
442 MYSQL_LDFLAGS="-L/usr/lib/mysql"
445 , [], [$CYGWIN_MYSQL_MAGIC])])
448 AC_SUBST(MYSQL_LDFLAGS)
449 AC_SUBST(MYSQL_CPPFLAGS)
451 # additional version check for mysql
452 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
453 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
455 AC_MSG_CHECKING(mysql version)
456 AC_RUN_IFELSE([AC_LANG_PROGRAM(
457 [[$CYGWIN_MYSQL_MAGIC
458 #include <mysql/mysql.h>]],
459 [[if (MYSQL_VERSION_ID < 40100)
464 ],mysql=true,mysql=false)
465 if test "$mysql" = "false"
468 AC_MSG_RESULT([fail, >= 4.1 required])
473 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
474 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
477 LDFLAGS=$SAVE_LDFLAGS
478 CPPFLAGS=$SAVE_CPPFLAGS
480 if test "$sqlite" = 0 -a "$mysql" = 0
482 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
487 AC_MSG_CHECKING([for libmicrohttpd])
488 AC_ARG_WITH(microhttpd,
489 [ --with-microhttpd=PFX base of libmicrohttpd installation],
490 [AC_MSG_RESULT([$with_microhttpd])
491 case $with_microhttpd in
495 AC_CHECK_HEADERS([microhttpd.h],
496 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
497 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
499 [],[#include "src/include/platform.h"
500 #include <microhttpd.h>]),,
501 [#include "src/include/platform.h"])
504 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
505 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
506 AC_CHECK_HEADERS(microhttpd.h,
507 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
508 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
509 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
511 [],[#include "src/include/platform.h"
512 #include <microhttpd.h>]),,
513 [#include "src/include/platform.h"])
517 [AC_MSG_RESULT([--with-microhttpd not specified])
518 AC_CHECK_HEADERS([microhttpd.h],
519 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
520 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
522 [],[#include "src/include/platform.h"
523 #include <microhttpd.h>]),,
524 [#include "src/include/platform.h"])])
525 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
526 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
531 AC_MSG_CHECKING([for openssl])
533 [ --with-openssl=PFX base of openssl installation],
534 [AC_MSG_RESULT([$with_openssl])
535 case $with_openssl in
539 AC_CHECK_HEADERS([openssl/ssl.h],
540 AC_CHECK_LIB([ssl], [SSL_new],
544 LDFLAGS="-L$with_openssl/lib $LDFLAGS"
545 CPPFLAGS="-I$with_openssl/include $CPPFLAGS"
546 AC_CHECK_HEADERS([openssl/ssl.h],
547 AC_CHECK_LIB([ssl], [SSL_new],
548 EXT_LIB_PATH="-L$with_openssl/lib $EXT_LIB_PATH"
553 [AC_MSG_RESULT([--with-openssl not specified])
554 AC_CHECK_HEADERS([openssl/ssl.h],
555 AC_CHECK_LIB([ssl], [SSL_new],
557 AM_CONDITIONAL(HAVE_OPENSSL, test x$openssl = x1)
558 AC_DEFINE_UNQUOTED([HAVE_OPENSSL], $openssl, [We have openssl])
568 # check for python & pexpect (used for some testcases only)
569 AM_PATH_PYTHON([2.5],, [:])
570 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
572 if test "$PYTHON" != :
574 AC_MSG_CHECKING([for pexpect])
575 $PYTHON -c "import pexpect" > /dev/null 2> /dev/null
577 AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, test $PYEX -eq 0)
582 AC_MSG_RESULT([not found])
585 AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, 0)
590 AC_MSG_CHECKING([for libesmtp])
592 [ --with-esmtp=PFX base of libesmtp installation],
593 [AC_MSG_RESULT([$with_esmtp])
598 AC_CHECK_HEADERS(libesmtp.h,
599 AC_CHECK_LIB([esmtp], [smtp_start_session],
603 LDFLAGS="-L$with_esmtp/lib $LDFLAGS"
604 CPPFLAGS="-I$with_esmtp/include $CPPFLAGS"
605 AC_CHECK_HEADERS(libesmtp.h,
606 AC_CHECK_LIB([esmtp], [smtp_start_session],
607 EXT_LIB_PATH="-L$with_esmtp/lib $EXT_LIB_PATH"
612 [AC_MSG_RESULT([--with-esmtp not specified])
613 AC_CHECK_HEADERS(libesmtp.h,
614 AC_CHECK_LIB([esmtp], [smtp_start_session],
616 AM_CONDITIONAL(HAVE_ESMTP, test x$esmtp = x1)
617 AC_DEFINE_UNQUOTED([HAVE_ESMTP], $esmtp, [We have libesmtp])
622 AM_GNU_GETTEXT([external])
623 AM_GNU_GETTEXT_VERSION([0.16.1])
628 # Checks for standard typedefs, structures, and compiler characteristics.
637 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
638 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
642 #include <sys/types.h>
643 #include <sys/socket.h>
644 #include <netinet/in.h>
649 # Checks for library functions.
650 AC_FUNC_CLOSEDIR_VOID
653 AC_PROG_GCC_TRADITIONAL
655 AC_FUNC_SELECT_ARGTYPES
665 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])
670 gn_user_home_dir="~/.gnunet"
671 AC_ARG_WITH(user-home-dir,
673 [--with-user-home-dir=DIR],
674 [default user home directory (~/.gnunet)]),
675 [gn_user_home_dir=$withval])
676 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
677 gn_daemon_home_dir="/var/lib/gnunet"
678 AC_ARG_WITH(daemon-home-dir,
680 [--with-daemon-home-dir=DIR],
681 [default daemon home directory (/var/lib/gnunet)]),
682 [gn_daemon_home_dir=$withval])
683 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
684 gn_daemon_config_dir="/etc"
685 AC_ARG_WITH(daemon-config-dir,
687 [--with-daemon-config-dir=DIR],
688 [default daemon config directory (/etc)]),
689 [gn_daemon_config_dir=$withval])
690 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
693 GN_LIBINTL="$LTLIBINTL"
694 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
695 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
696 if test x$enable_framework_build = xyes
698 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
699 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
700 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
701 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
704 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
705 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
707 AC_SUBST(GN_LIB_LDFLAGS)
708 AC_SUBST(GN_PLUGIN_LDFLAGS)
709 AC_SUBST(GN_INTLINCL)
715 AC_SUBST(EXT_LIB_PATH)
720 AC_SUBST(EXT_LIB_PATH)
723 # should 'make check' run tests?
724 AC_MSG_CHECKING(whether to run tests)
725 AC_ARG_ENABLE(testruns,
726 [AS_HELP_STRING([--enable-testruns=yes/no],
727 [disable running tests on make check (default is YES)])],
728 [enable_tests_run=$enableval],
729 [enable_tests_run="yes"])
730 AC_MSG_RESULT($enable_test_run)
731 AM_CONDITIONAL([DISABLE_TEST_RUN], [test "x$enable_tests_run" = "xno"])
733 # should experimental code be compiled (code that may not yet compile)?
734 disable_experimental=yes
735 AC_MSG_CHECKING(whether to compile experimental code)
736 AC_ARG_ENABLE(experimental,
737 [AS_HELP_STRING([--enable-experimental],
738 [enable compiling experimental code])],
739 [enable_experimental=$enableval],
740 [enable_experimental="no"])
741 AC_MSG_RESULT($enable_experimental)
742 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
744 # should malicious code be compiled (code used for testing with malicious peers)
746 AC_MSG_CHECKING(whether to compile malicious code)
747 AC_ARG_ENABLE(malicious,
748 [AS_HELP_STRING([--enable-malicious],
749 [enable compiling malicious code (only for developers for testing)])],
750 [enable_malicious=1],
751 [enable_malicious=0])
752 AC_MSG_RESULT($enable_malicious)
753 AM_CONDITIONAL([HAVE_MALICIOUS], [test "x$enable_malicious" = "x1"])
754 AC_DEFINE_UNQUOTED([HAVE_MALICIOUS], $enable_malicious, [Compile malicious code])
758 AC_ARG_ENABLE([coverage], AS_HELP_STRING([--enable-coverage],
759 [Compile the library with code coverage support (default is NO)]),
760 [use_gcov=yes], [use_gcov=no])
761 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
772 src/datacache/Makefile
773 src/datastore/Makefile
776 src/fragmentation/Makefile
780 src/include/gnunet_directories.h
781 src/hostlist/Makefile
784 src/peerinfo/Makefile
785 src/peerinfo-tool/Makefile
786 src/statistics/Makefile
787 src/template/Makefile
789 src/topology/Makefile
790 src/transport/Makefile
794 pkgconfig/gnunetarm.pc
795 pkgconfig/gnunetblock.pc
796 pkgconfig/gnunetcore.pc
797 pkgconfig/gnunetdatacache.pc
798 pkgconfig/gnunetdatastore.pc
799 pkgconfig/gnunetdht.pc
800 pkgconfig/gnunetdhtlog.pc
801 pkgconfig/gnunetdv.pc
802 pkgconfig/gnunetfragmentation.pc
803 pkgconfig/gnunetfs.pc
804 pkgconfig/gnunethello.pc
805 pkgconfig/gnunetpeerinfo.pc
806 pkgconfig/gnunetstatistics.pc
807 pkgconfig/gnunettesting.pc
808 pkgconfig/gnunettransport.pc
809 pkgconfig/gnunetutil.pc
815 # warn user if mysql found but not used due to version
816 if test "$mysqlfail" = "true"
818 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
822 if test "x$sqlite" = "x0"
824 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
827 if test "x$lmhd" != "x1"
829 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
832 if test "x$esmtp" != "x1"
834 AC_MSG_NOTICE([NOTICE: libesmtp not found, monkey will not be installed.])
837 if test "x$pcap" != "x1"
839 AC_MSG_NOTICE([NOTICE: libpcap not found, WiFi support will not be installed.])
842 if test "x$openssl" != "x1"
844 AC_MSG_NOTICE([NOTICE: OpenSSL not found, monkey will not be installed.])
847 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
849 if test "$enable_framework_build" = "yes"
851 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
854 AC_MSG_NOTICE([********************************************
855 You can compile GNUnet with
857 now. After that, run (if necessary as 'root')
859 to install everything. You may want to create a new user account
860 to run the GNUnet service:
862 You also need to create an configuration file that should
863 specify the path where GNUnet should store data. For example,
864 you could store in "/etc/gnunet.conf" the following lines:
867 SERVICEHOME = /opt/gnunet/
868 DEFAULTCONFIG = /etc/gnunet.conf
870 Now, in order to start your peer, run as the 'gnunet' user
873 Each GNUnet user should also create an (at least initially) empty
876 touch $HOME/.gnunet/gnunet.conf
878 Optionally, download and compile gnunet-gtk to get a GUI.
879 ********************************************])