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 -lgcrypt"
196 [AC_LANG_PROGRAM([#include <gcrypt.h>], [[
199 unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
200 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
201 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
202 unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
203 unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
204 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
205 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
206 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
207 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
208 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
210 if (!gcry_check_version (GCRYPT_VERSION))
213 gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
214 gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
216 if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
219 gcry_md_setkey (mac, key, sizeof (key));
220 gcry_md_write (mac, data, sizeof (data));
222 if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
229 [AC_MSG_RESULT([yes])],
233 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.])
235 AC_MSG_FAILURE([HMAC test failed])
241 LIBCURL_CHECK_CONFIG(,7.20.1,,AC_MSG_ERROR([GNUnet requires libcurl >= 7.20.1]))
245 # test for kvm and kstat (for CPU stats under BSD/Solaris)
246 AC_CHECK_LIB([kvm],[kvm_open])
247 AC_CHECK_LIB([kstat],[kstat_open])
249 # test for libextractor
251 AC_MSG_CHECKING(for libextractor)
252 AC_ARG_WITH(extractor,
253 [ --with-extractor=PFX base of libextractor installation],
254 [AC_MSG_RESULT([$with_extractor])
255 case $with_extractor in
259 AC_CHECK_HEADERS(extractor.h,
260 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
264 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
265 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
266 AC_CHECK_HEADERS(extractor.h,
267 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
268 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
273 [AC_MSG_RESULT([--with-extractor not specified])
274 AC_CHECK_HEADERS(extractor.h,
275 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
277 if test "$extractor" != 1
279 AC_MSG_ERROR([GNUnet requires libextractor])
285 # Checks for standard header files.
289 # Check for headers that are ALWAYS required
290 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]))
292 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
293 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])
295 SAVE_LDFLAGS=$LDFLAGS
296 SAVE_CPPFLAGS=$CPPFLAGS
300 AC_MSG_CHECKING(for SQLite)
302 [ --with-sqlite=PFX base of SQLite installation],
303 [AC_MSG_RESULT("$with_sqlite")
308 AC_CHECK_HEADERS(sqlite3.h,
312 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
313 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
314 AC_CHECK_HEADERS(sqlite3.h,
315 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
316 SQLITE_LDFLAGS="-L$with_sqlite/lib"
317 SQLITE_CPPFLAGS="-I$with_sqlite/include"
319 LDFLAGS=$SAVE_LDFLAGS
320 CPPFLAGS=$SAVE_CPPFLAGS
324 [AC_MSG_RESULT([--with-sqlite not specified])
325 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
326 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
327 AC_SUBST(SQLITE_CPPFLAGS)
328 AC_SUBST(SQLITE_LDFLAGS)
332 AC_MSG_CHECKING(for postgres)
333 AC_ARG_WITH(postgres,
334 [ --with-postgres=PFX base of postgres installation],
335 [AC_MSG_RESULT("$with_postgres")
336 case $with_postgres in
340 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
344 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
345 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
346 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
347 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
348 POSTGRES_LDFLAGS="-L$with_postgres/lib"
349 POSTGRES_CPPFLAGS="-I$with_postgres/include"
351 LDFLAGS=$SAVE_LDFLAGS
352 CPPFLAGS=$SAVE_CPPFLAGS
356 [AC_MSG_RESULT([--with-postgres not specified])
357 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
358 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
359 AC_SUBST(POSTGRES_CPPFLAGS)
360 AC_SUBST(POSTGRES_LDFLAGS)
364 AC_MSG_CHECKING(for libpcap)
366 [ --with-pcap=PFX base of pcap installation],
367 [AC_MSG_RESULT("$with_pcap")
372 AC_CHECK_HEADERS(pcap.h,
376 LDFLAGS="-L$with_pcap/lib $LDFLAGS"
377 CPPFLAGS="-I$with_pcap/include $CPPFLAGS"
378 AC_CHECK_HEADERS(pcap.h,
379 EXT_LIB_PATH="-L$with_pcap/lib $EXT_LIB_PATH"
380 PCAP_LDFLAGS="-L$with_pcap/lib"
381 PCAP_CPPFLAGS="-I$with_pcap/include"
383 LDFLAGS=$SAVE_LDFLAGS
384 CPPFLAGS=$SAVE_CPPFLAGS
388 [AC_MSG_RESULT([--with-pcap not specified])
389 AC_CHECK_HEADERS(pcap.h, pcap=1)])
390 AM_CONDITIONAL(HAVE_PCAP, test x$pcap = x1)
391 AC_SUBST(PCAP_CPPFLAGS)
392 AC_SUBST(PCAP_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 AC_MSG_CHECKING([for libesmtp])
591 [ --with-esmtp=PFX base of libesmtp installation],
592 [AC_MSG_RESULT([$with_esmtp])
597 AC_CHECK_HEADERS(libesmtp.h,
598 AC_CHECK_LIB([esmtp], [smtp_start_session],
602 LDFLAGS="-L$with_esmtp/lib $LDFLAGS"
603 CPPFLAGS="-I$with_esmtp/include $CPPFLAGS"
604 AC_CHECK_HEADERS(libesmtp.h,
605 AC_CHECK_LIB([esmtp], [smtp_start_session],
606 EXT_LIB_PATH="-L$with_esmtp/lib $EXT_LIB_PATH"
611 [AC_MSG_RESULT([--with-esmtp not specified])
612 AC_CHECK_HEADERS(libesmtp.h,
613 AC_CHECK_LIB([esmtp], [smtp_start_session],
615 AM_CONDITIONAL(HAVE_ESMTP, test x$esmtp = x1)
616 AC_DEFINE_UNQUOTED([HAVE_ESMTP], $esmtp, [We have libesmtp])
621 AM_GNU_GETTEXT([external])
622 AM_GNU_GETTEXT_VERSION([0.16.1])
627 # Checks for standard typedefs, structures, and compiler characteristics.
636 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
637 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
641 #include <sys/types.h>
642 #include <sys/socket.h>
643 #include <netinet/in.h>
648 # Checks for library functions.
649 AC_FUNC_CLOSEDIR_VOID
652 AC_PROG_GCC_TRADITIONAL
654 AC_FUNC_SELECT_ARGTYPES
664 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])
669 gn_user_home_dir="~/.gnunet"
670 AC_ARG_WITH(user-home-dir,
672 [--with-user-home-dir=DIR],
673 [default user home directory (~/.gnunet)]),
674 [gn_user_home_dir=$withval])
675 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
676 gn_daemon_home_dir="/var/lib/gnunet"
677 AC_ARG_WITH(daemon-home-dir,
679 [--with-daemon-home-dir=DIR],
680 [default daemon home directory (/var/lib/gnunet)]),
681 [gn_daemon_home_dir=$withval])
682 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
683 gn_daemon_config_dir="/etc"
684 AC_ARG_WITH(daemon-config-dir,
686 [--with-daemon-config-dir=DIR],
687 [default daemon config directory (/etc)]),
688 [gn_daemon_config_dir=$withval])
689 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
692 GN_LIBINTL="$LTLIBINTL"
693 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
694 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
695 if test x$enable_framework_build = xyes
697 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
698 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
699 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
700 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
703 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
704 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
706 AC_SUBST(GN_LIB_LDFLAGS)
707 AC_SUBST(GN_PLUGIN_LDFLAGS)
708 AC_SUBST(GN_INTLINCL)
714 AC_SUBST(EXT_LIB_PATH)
719 AC_SUBST(EXT_LIB_PATH)
722 # should 'make check' run tests?
723 AC_MSG_CHECKING(whether to run tests)
724 AC_ARG_ENABLE(testruns,
725 [AS_HELP_STRING([--enable-testruns=yes/no],
726 [disable running tests on make check (default is YES)])],
727 [enable_tests_run=$enableval],
728 [enable_tests_run="yes"])
729 AC_MSG_RESULT($enable_test_run)
730 AM_CONDITIONAL([DISABLE_TEST_RUN], [test "x$enable_tests_run" = "xno"])
732 # should experimental code be compiled (code that may not yet compile)?
733 disable_experimental=yes
734 AC_MSG_CHECKING(whether to compile experimental code)
735 AC_ARG_ENABLE(experimental,
736 [AS_HELP_STRING([--enable-experimental],
737 [enable compiling experimental code])],
738 [enable_experimental=$enableval],
739 [enable_experimental="no"])
740 AC_MSG_RESULT($enable_experimental)
741 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
743 # should malicious code be compiled (code used for testing with malicious peers)
745 AC_MSG_CHECKING(whether to compile malicious code)
746 AC_ARG_ENABLE(malicious,
747 [AS_HELP_STRING([--enable-malicious],
748 [enable compiling malicious code (only for developers for testing)])],
749 [enable_malicious=1],
750 [enable_malicious=0])
751 AC_MSG_RESULT($enable_malicious)
752 AM_CONDITIONAL([HAVE_MALICIOUS], [test "x$enable_malicious" = "x1"])
753 AC_DEFINE_UNQUOTED([HAVE_MALICIOUS], $enable_malicious, [Compile malicious code])
757 AC_ARG_ENABLE([coverage], AS_HELP_STRING([--enable-coverage],
758 [Compile the library with code coverage support (default is NO)]),
759 [use_gcov=yes], [use_gcov=no])
760 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
771 src/datacache/Makefile
772 src/datastore/Makefile
775 src/fragmentation/Makefile
779 src/include/gnunet_directories.h
780 src/hostlist/Makefile
783 src/peerinfo/Makefile
784 src/peerinfo-tool/Makefile
785 src/statistics/Makefile
786 src/template/Makefile
788 src/topology/Makefile
789 src/transport/Makefile
797 # warn user if mysql found but not used due to version
798 if test "$mysqlfail" = "true"
800 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
804 if test "x$sqlite" = "x0"
806 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
809 if test "x$lmhd" != "x1"
811 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
814 if test "x$esmtp" != "x1"
816 AC_MSG_NOTICE([NOTICE: libesmtp not found, monkey will not be installed.])
819 if test "x$pcap" != "x1"
821 AC_MSG_NOTICE([NOTICE: libpcap not found, WiFi support will not be installed.])
824 if test "x$openssl" != "x1"
826 AC_MSG_NOTICE([NOTICE: OpenSSL not found, monkey will not be installed.])
829 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
831 if test "$enable_framework_build" = "yes"
833 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
836 AC_MSG_NOTICE([********************************************
837 You can compile GNUnet with
839 now. After that, run (if necessary as 'root')
841 to install everything. You may want to create a new user account
842 to run the GNUnet service:
844 You also need to create an configuration file that should
845 specify the path where GNUnet should store data. For example,
846 you could store in "/etc/gnunet.conf" the following lines:
849 SERVICEHOME = /opt/gnunet/
850 DEFAULTCONFIG = /etc/gnunet.conf
852 Now, in order to start your peer, run as the 'gnunet' user
855 Each GNUnet user should also create an (at least initially) empty
858 touch $HOME/.gnunet/gnunet.conf
860 Optionally, download and compile gnunet-gtk to get a GUI.
861 ********************************************])