1 # This file is part of GNUnet.
2 # (C) 2001--2013 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 3, 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.10.0], [bug-gnunet@gnu.org])
32 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
33 AC_CONFIG_HEADERS([gnunet_config.h])
34 AH_TOP([#define _GNU_SOURCE 1])
35 AC_CONFIG_MACRO_DIR([m4])
45 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\""
68 funcstocheck="getnameinfo gethostname gethostbyname gethostbyaddr getaddrinfo"
70 # Srcdir in a form that native compiler understands (i.e. DOS path on W32)
75 *darwin* | *rhapsody* | *macosx*)
76 AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system])
77 CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS"
78 CFLAGS="-fno-common $CFLAGS"
79 AC_MSG_WARN([The VPN application cannot be compiled on your OS])
81 DEFAULT_INTERFACE="\"en0\""
87 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
95 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
96 AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
97 CFLAGS="-D_THREAD_SAFE $CFLAGS"
98 build_target="freebsd"
104 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
105 AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
106 LIBS=`echo $LIBS | sed -e "s/-ldl//"`
107 build_target="openbsd"
113 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
114 AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
120 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
121 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
122 AC_CHECK_LIB(resolv, res_init)
123 AC_CHECK_LIB(rt, nanosleep)
124 build_target="solaris"
130 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
131 CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
138 AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
139 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
140 AC_CHECK_LIB(intl, gettext)
141 LDFLAGS="$LDFLAGS -no-undefined"
142 CFLAGS="-mms-bitfields $CFLAGS"
143 build_target="cygwin"
150 AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
151 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
152 AC_DEFINE_UNQUOTED(_WIN32,1,[This is a Windows system])
153 AC_CHECK_LIB(intl, gettext)
154 LDFLAGS="$LDFLAGS -Wl,-no-undefined -Wl,--export-all-symbols"
155 LIBS="$LIBS -lws2_32 -lplibc -lgnurx -lole32"
156 CFLAGS="-mms-bitfields $CFLAGS"
157 CPPFLAGS="-D_WIN32_WINNT=0x0501 -DHAVE_STAT64=1 -D__USE_MINGW_ANSI_STDIO=1 $CPPFLAGS"
164 native_srcdir=$(cd $srcdir; pwd -W)
167 AC_DEFINE_UNQUOTED(GNU,1,[This is a GNU system])
172 AC_MSG_RESULT(Unrecognised OS $host_os)
173 AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
177 AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should be the default choice for the name of the first network interface])
178 AC_SUBST(DEFAULT_INTERFACE)
180 # Disable TCP-based IPC on systems that support UNIX domain
181 # sockets in default configuratin:
185 AC_MSG_CHECKING([for build target])
186 AM_CONDITIONAL(DARWIN, test "$build_target" = "darwin")
187 AM_CONDITIONAL(CYGWIN, test "$build_target" = "cygwin")
188 AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
189 AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
190 AM_CONDITIONAL(XFREEBSD, test "$build_target" = "freebsd")
191 AM_CONDITIONAL(OPENBSD, test "$build_target" = "openbsd")
192 AM_CONDITIONAL(LINUX, test "$build_target" = "linux")
193 AM_CONDITIONAL(GNU, test "$build_target" = "gnu")
195 AC_MSG_RESULT([$build_target])
196 AC_SUBST(build_target)
197 AM_CONDITIONAL([am__fastdepOBJC], false)
198 AC_UNALIGNED_64_ACCESS
200 # some other checks for standard libs
201 AC_SEARCH_LIBS([gethostbyname], [nsl ws2_32])
202 AC_CHECK_LIB(socket, socket)
204 AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
207 AC_CHECK_MEMBER(struct tm.tm_gmtoff,
208 [AC_DEFINE(HAVE_TM_GMTOFF, 1,
209 [Define if struct tm has the tm_gmtoff member.])],
213 AC_CHECK_DECLS([_stati64])
215 # 'save' libs; only those libs found so far will be
216 # linked against _everywhere_. For the others, we
217 # will be more selective!
220 # libgnurx (regex library for W32)
222 AC_CHECK_LIB(gnurx, regexec, gnurx=1)
223 if test "x$gnurx" = "x0" -a "x$build_target" = "xmingw"
225 AC_MSG_ERROR([on W32 GNUnet needs libgnurx])
231 NEED_LIBGCRYPT_VERSION=1.6.0
234 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION", gcrypt=1)
235 AC_CHECK_DECLS([gcry_mpi_set_opaque_copy], [], [], [[#include <gcrypt.h>]])
241 *** You need libgcrypt to build this program.
242 ** This library is for example available at
243 *** ftp://ftp.gnupg.org/gcrypt/libgcrypt/
244 *** (at least version $NEED_LIBGCRYPT_VERSION (API $NEED_LIBGCRYPT_API)
248 AC_DEFINE_UNQUOTED([NEED_LIBGCRYPT_VERSION], "$NEED_LIBGCRYPT_VERSION", [required libgcrypt version])
250 # Adam shostack suggests the following for Windows:
251 # -D_FORTIFY_SOURCE=2 -fstack-protector-all
252 AC_ARG_ENABLE(gcc-hardening,
253 AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
254 [if test x$enableval = xyes; then
255 CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all"
256 CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
257 CFLAGS="$CFLAGS --param ssp-buffer-size=1"
258 LDFLAGS="$LDFLAGS -pie"
262 # Linker hardening options
263 # Currently these options are ELF specific - you can't use this with MacOSX
264 AC_ARG_ENABLE(linker-hardening,
265 AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
266 [if test x$enableval = xyes; then
267 LDFLAGS="$LDFLAGS -z relro -z now"
271 extra_logging=GNUNET_NO
272 AC_ARG_ENABLE([logging],
273 AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose,veryverbose ('yes' is the default)]),
274 [AS_IF([test "x$enableval" = "xyes"], [],
275 [test "x$enableval" = "xno"], [AC_DEFINE([GNUNET_CULL_LOGGING],[],[Define to cull all logging calls])],
276 [test "x$enableval" = "xverbose"], [extra_logging=GNUNET_YES]
277 [test "x$enableval" = "xveryverbose"], [extra_logging=\(GNUNET_YES+1\)])
279 AC_DEFINE_UNQUOTED([GNUNET_EXTRA_LOGGING],[$extra_logging],[1 if extra logging is enabled, 2 for very verbose extra logging, 0 otherwise])
281 # should memory poisoning be enabled?
282 AC_MSG_CHECKING(whether to poison freed memory)
283 AC_ARG_ENABLE([poisoning],
284 [AS_HELP_STRING([--enable-poisoning], [enable poisoning of freed memory (good for debugging)])],
285 [enable_poisoning=${enableval}],
287 if test "x$extra_logging" != "xGNUNET_NO"; then
288 enable_poisoning="defaults to yes (extra logging is enabled)"
293 AC_MSG_RESULT($enable_poisoning)
294 if test ! "x$enable_poisoning" = "xno"; then
299 AC_DEFINE_UNQUOTED([ENABLE_POISONING],[$enable_poisoning],[1 if freed memory should be poisoned, 0 otherwise])
301 if test $build = $target
303 AC_MSG_CHECKING([for working HMAC])
305 LIBS="$LIBS $LIBGCRYPT_LIBS"
306 CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
308 [AC_LANG_PROGRAM([#include <gcrypt.h>
309 #include <stdio.h>], [[
312 unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
313 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
314 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
315 unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
316 unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
317 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
318 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
319 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
320 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
321 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
323 if (!gcry_check_version (GCRYPT_VERSION))
325 fprintf (stderr, "Version mismatch %s <-> %s \n", gcry_check_version (NULL), GCRYPT_VERSION);
329 gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
330 gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
332 if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
334 fprintf (stderr, "gcry_md_open error\n");
338 gcry_md_setkey (mac, key, sizeof (key));
339 gcry_md_write (mac, data, sizeof (data));
341 if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
343 fprintf (stderr, "memcmp error\n");
351 [AC_MSG_RESULT([yes])],
356 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.])
360 AC_MSG_FAILURE([HMAC test failed])
364 AC_MSG_FAILURE([libgcrypt header version does not match library version])
368 fi # $build = $target
370 # check for bluetooth library
372 AC_CHECK_LIB(bluetooth, ba2str,[AC_CHECK_HEADER([bluetooth/bluetooth.h],bluetooth=1)])
373 if test "$bluetooth" = 1
375 AM_CONDITIONAL(HAVE_LIBBLUETOOTH, true)
376 AC_DEFINE([HAVE_LIBBLUETOOTH],[1],[Have bluetooth library])
378 AM_CONDITIONAL(HAVE_LIBBLUETOOTH, false)
380 if test "$build_target" = "mingw"
385 # check for libpulse(audio) library
387 AC_CHECK_LIB(pulse,pa_stream_peek,
388 [AC_CHECK_HEADER([pulse/simple.h],pulse=1)])
391 AM_CONDITIONAL(HAVE_PULSE, true)
392 AC_DEFINE([HAVE_PULSE],[1],[Have libpulse(audio) library])
394 AM_CONDITIONAL(HAVE_PULSE, false)
396 if test "$build_target" = "mingw"
401 # check for libopus(audio) library
403 AC_CHECK_LIB(opus,opus_decode_float,
404 [AC_CHECK_HEADER([opus/opus.h],opus=1)])
407 AM_CONDITIONAL(HAVE_OPUS, true)
408 AC_DEFINE([HAVE_OPUS],[1],[Have libopus library])
410 AM_CONDITIONAL(HAVE_OPUS, false)
415 LIBGNURL_CHECK_CONFIG(,7.34.0,gnurl=1,gnurl=0)
418 AM_CONDITIONAL(HAVE_LIBGNURL, true)
419 AC_DEFINE([HAVE_LIBGNURL],[1],[Have libgnurl])
421 AM_CONDITIONAL(HAVE_LIBGNURL, false)
426 AC_MSG_CHECKING([if Libidn can be used])
427 AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
428 [Support IDN (needs GNU Libidn)]),
429 libidn=$withval, libidn=yes)
430 if test "$libidn" != "no"; then
431 if test "$libidn" != "yes"; then
432 LDFLAGS="${LDFLAGS} -L$libidn/lib"
433 CPPFLAGS="${CPPFLAGS} -I$libidn/include"
435 AC_CHECK_HEADER(idna.h,
436 AC_CHECK_LIB(idn, stringprep_check_version,
437 [libidn=yes LIBS="${LIBS} -lidn"],
438 AC_MSG_FAILURE([GNUnet requires libidn])),
439 AC_MSG_FAILURE([GNUnet requires libidn]))
441 AC_MSG_RESULT($libidn)
447 AC_CHECK_HEADERS([glpk.h],[glpk=true],[gplk=false])
448 # GLPK must support glpk_init_env, version >= 4.43
449 AC_CHECK_LIB([glpk],[glp_init_env],,[gplk=false])
450 # GLPK must support atm MLP presolving, version >= 4.32
451 AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include <glpk.h>]])
452 if test x$gplk = xfalse
454 AM_CONDITIONAL(HAVE_LIBGLPK, false)
455 AC_MSG_WARN([GNUnet requires GLPK >= 4.32])
457 AM_CONDITIONAL(HAVE_LIBGLPK, true)
458 AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
463 AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false])
464 if test x$nss = xfalse
466 AM_CONDITIONAL(HAVE_GLIBCNSS, false)
467 AC_MSG_WARN([No GNU libc nss header, will not build NSS plugin])
469 AM_CONDITIONAL(HAVE_GLIBCNSS, true)
474 # test for kvm and kstat (for CPU stats under BSD/Solaris)
475 AC_CHECK_LIB([kvm],[kvm_open])
476 AC_CHECK_LIB([kstat],[kstat_open])
478 # test for libextractor
480 AC_MSG_CHECKING(for libextractor)
481 AC_ARG_WITH(extractor,
482 [ --with-extractor=PFX base of libextractor installation],
483 [AC_MSG_RESULT([$with_extractor])
484 case $with_extractor in
488 AC_CHECK_HEADERS(extractor.h,
489 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
493 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
494 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
495 AC_CHECK_HEADERS(extractor.h,
496 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
497 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
502 [AC_MSG_RESULT([--with-extractor not specified])
503 AC_CHECK_HEADERS(extractor.h,
504 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
506 if test "$extractor" != 1
508 AC_MSG_ERROR([GNUnet requires libextractor])
513 # Check for libltdl header (#2999)
515 AC_MSG_CHECKING(for libltdl)
517 [ --with-ltdl=PFX base of libltdl installation],
518 [AC_MSG_RESULT([$with_ltdl])
523 AC_CHECK_HEADERS(ltdl.h,
524 AC_CHECK_LIB([ltdl], [lt_dlopenext],
528 LDFLAGS="-L$with_ltdl/lib $LDFLAGS"
529 CPPFLAGS="-I$with_ltdl/include $CPPFLAGS"
530 AC_CHECK_HEADERS(ltdl.h,
531 AC_CHECK_LIB([ltdl], [lt_dlopenext],
532 EXT_LIB_PATH="-L$with_ltdl/lib $EXT_LIB_PATH"
537 [AC_MSG_RESULT([--with-ltdl not specified])
538 AC_CHECK_HEADERS(ltdl.h,
539 AC_CHECK_LIB([ltdl], [lt_dlopenext],
543 AC_MSG_RESULT([libltdl found])
545 AC_MSG_ERROR([GNUnet requires libltdl (from GNU libtool), try installing libltdl-dev])
550 # test for libunistring
552 if test $HAVE_LIBUNISTRING != yes; then
553 AC_MSG_ERROR([GNUnet requires libunistring])
555 if test $gl_libunistring_hexversion -le 2305; then
556 AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1])
563 # Checks for standard header files.
567 # Check for headers that are ALWAYS required
568 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]))
572 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
573 AC_CHECK_HEADERS([malloc.h malloc/malloc.h 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 netinet/ip.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 sys/ucred.h endian.h sys/endian.h execinfo.h])
575 SAVE_LDFLAGS=$LDFLAGS
576 SAVE_CPPFLAGS=$CPPFLAGS
580 AC_MSG_CHECKING(for SQLite)
582 [ --with-sqlite=PFX base of SQLite installation],
583 [AC_MSG_RESULT("$with_sqlite")
588 AC_CHECK_HEADERS(sqlite3.h,
592 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
593 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
594 AC_CHECK_HEADERS(sqlite3.h,
595 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
596 SQLITE_LDFLAGS="-L$with_sqlite/lib"
597 SQLITE_CPPFLAGS="-I$with_sqlite/include"
599 LDFLAGS=$SAVE_LDFLAGS
600 CPPFLAGS=$SAVE_CPPFLAGS
604 [AC_MSG_RESULT([--with-sqlite not specified])
605 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
606 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
607 AC_SUBST(SQLITE_CPPFLAGS)
608 AC_SUBST(SQLITE_LDFLAGS)
612 AC_MSG_CHECKING(for postgres)
613 AC_ARG_WITH(postgres,
614 [ --with-postgres=PFX base of postgres installation],
615 [AC_MSG_RESULT("$with_postgres")
616 case $with_postgres in
620 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
624 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
625 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
626 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
627 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
628 POSTGRES_LDFLAGS="-L$with_postgres/lib"
629 POSTGRES_CPPFLAGS="-I$with_postgres/include"
631 LDFLAGS=$SAVE_LDFLAGS
632 CPPFLAGS=$SAVE_CPPFLAGS
636 [AC_MSG_RESULT([--with-postgres not specified])
637 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
638 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
639 AC_SUBST(POSTGRES_CPPFLAGS)
640 AC_SUBST(POSTGRES_LDFLAGS)
643 SAVE_LDFLAGS=$LDFLAGS
644 SAVE_CPPFLAGS=$CPPFLAGS
646 [ --with-zlib[[=DIR]] use libz in DIR],
647 [AS_IF([test "$withval" = "no"],
648 [AC_MSG_ERROR([GNUnet requires zlib])],
649 [test "$withval" != "yes"],
652 CPPFLAGS="${CPPFLAGS} -I$withval/include"
653 LDFLAGS="${LDFLAGS} -L$withval/lib"
656 AC_CHECK_HEADER(zlib.h,
658 [AC_MSG_ERROR([GNUnet requires zlib])])
659 AC_CHECK_LIB(z, compress2,
661 AC_DEFINE([HAVE_ZLIB], [], [Have compression library])
662 if test "x${Z_DIR}" != "x"; then
663 Z_CFLAGS="-I${Z_DIR}/include"
664 Z_LIBS="-L${Z_DIR}/lib -lz"
668 [AC_MSG_ERROR([GNUnet requires zlib])])
672 LDFLAGS=$SAVE_LDFLAGS
673 CPPFLAGS=$SAVE_CPPFLAGS
676 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
677 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
679 if test "$build_target" = "mingw"
681 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
687 SAVE_LDFLAGS=$LDFLAGS
688 SAVE_CPPFLAGS=$CPPFLAGS
689 AC_MSG_CHECKING(for mysql)
691 [ --with-mysql=PFX base of MySQL installation],
692 [AC_MSG_RESULT("$with_mysql")
693 if test "$with_mysql" != "no"
695 if test "$with_mysql" != "yes"
697 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
698 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
700 AC_CHECK_HEADERS(mysql/mysql.h,
701 AC_CHECK_LIB(mysqlclient, mysql_init,
702 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
703 MYSQL_CPPFLAGS="-I$with_mysql/include"
705 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
708 [AC_MSG_RESULT([--with-mysql not specified])
709 if test -d "/usr/lib64/mysql"; then
710 MYSQL_LIBDIR="/usr/lib64/mysql"
711 elif test -d "/usr/lib/mysql"; then
712 MYSQL_LIBDIR="/usr/lib/mysql"
714 MYSQL_LIBDIR="/usr/lib"
716 LDFLAGS="-L$MYSQL_LIBDIR $LDFLAGS $ZLIBS"
717 AC_CHECK_LIB(mysqlclient, mysql_init,
718 [AC_CHECK_HEADERS(mysql/mysql.h,
719 MYSQL_LDFLAGS="-L$MYSQL_LIBDIR"
722 , [], [$CYGWIN_MYSQL_MAGIC])])
725 AC_SUBST(MYSQL_LDFLAGS)
726 AC_SUBST(MYSQL_CPPFLAGS)
728 # additional version check for mysql
729 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
730 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
732 AC_MSG_CHECKING(mysql version)
733 AC_RUN_IFELSE([AC_LANG_PROGRAM(
734 [[$CYGWIN_MYSQL_MAGIC
735 #include <mysql/mysql.h>]],
736 [[if (MYSQL_VERSION_ID < 40100)
741 ],mysql=true,mysql=false)
742 if test "$mysql" = "false"
745 AC_MSG_RESULT([fail, >= 4.1 required])
750 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
751 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
754 LDFLAGS=$SAVE_LDFLAGS
755 CPPFLAGS=$SAVE_CPPFLAGS
757 if test "$sqlite" = 0 -a "$mysql" = 0
759 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
764 AC_MSG_CHECKING([for libmicrohttpd])
765 AC_ARG_WITH(microhttpd,
766 [ --with-microhttpd=PFX base of libmicrohttpd installation],
767 [AC_MSG_RESULT([$with_microhttpd])
768 case $with_microhttpd in
772 AC_CHECK_HEADERS([microhttpd.h],
773 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
774 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
775 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31])
776 AC_RUN_IFELSE([AC_LANG_SOURCE([
777 #include "$native_srcdir/src/include/platform.h"
778 #include <microhttpd.h>
779 int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; }
782 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
783 [],[#include "$native_srcdir/src/include/platform.h"
784 #include <microhttpd.h>]),,
785 [#include "$native_srcdir/src/include/platform.h"])
788 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
789 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
790 AC_CHECK_HEADERS(microhttpd.h,
791 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
792 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
793 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
794 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31])
795 AC_RUN_IFELSE([AC_LANG_SOURCE([
796 #include "$native_srcdir/src/include/platform.h"
797 #include <microhttpd.h>
798 int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; }
801 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
802 [],[#include "$native_srcdir/src/include/platform.h"
803 #include <microhttpd.h>]),,
804 [#include "$native_srcdir/src/include/platform.h"])
808 [AC_MSG_RESULT([--with-microhttpd not specified])
809 AC_CHECK_HEADERS([microhttpd.h],
810 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
811 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
812 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31])
813 AC_RUN_IFELSE([AC_LANG_SOURCE([
814 #include "$native_srcdir/src/include/platform.h"
815 #include <microhttpd.h>
816 int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; }
819 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
820 [],[#include "$native_srcdir/src/include/platform.h"
821 #include <microhttpd.h>]),,
822 [#include "$native_srcdir/src/include/platform.h"])])
823 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
824 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
830 # check for python & pexpect (used for some testcases only)
831 AM_PATH_PYTHON([2.6],, [:])
832 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
835 AM_GNU_GETTEXT([external])
836 AM_GNU_GETTEXT_VERSION([0.16.1])
841 # Checks for standard typedefs, structures, and compiler characteristics.
850 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
851 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
855 #include <sys/types.h>
856 #include <sys/socket.h>
857 #include <netinet/in.h>
862 # Checks for library functions.
863 AC_FUNC_CLOSEDIR_VOID
865 AC_PROG_GCC_TRADITIONAL
867 AC_FUNC_SELECT_ARGTYPES
877 AC_CHECK_FUNCS([atoll stat64 strnlen mremap getrlimit setrlimit sysconf initgroups strndup gethostbyname2 getpeerucred getpeereid setresuid $funcstocheck getifaddrs freeifaddrs getresgid mallinfo malloc_size malloc_usable_size getrusage random srandom stat statfs statvfs])
883 GN_LIBINTL="$LTLIBINTL"
884 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
885 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
886 if test x$enable_framework_build = xyes
888 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
889 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
890 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
891 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
894 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
895 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
897 AC_SUBST(GN_LIB_LDFLAGS)
898 AC_SUBST(GN_PLUGIN_LDFLAGS)
899 AC_SUBST(GN_INTLINCL)
905 AC_SUBST(EXT_LIB_PATH)
910 AC_SUBST(EXT_LIB_PATH)
914 AC_MSG_CHECKING(for sudo)
916 [ --with-sudo=PATH path to sudo binary (or just yes)],
917 [AC_MSG_RESULT("$with_sudo")
926 SUDO_BINARY=$with_sudo
930 [AC_MSG_RESULT([no])])
931 AC_SUBST(SUDO_BINARY)
932 AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /])
936 AC_MSG_CHECKING(with nssdir)
938 [ --with-nssdir=PATH where to install NSS plugins],
939 [AC_MSG_RESULT("$with_nssdir")
956 if test "x$SUDO_BINARY" != "x" -o -w /
960 AC_MSG_RESULT([yes, to /lib])
968 AM_CONDITIONAL([INSTALL_NSS], [test "x$install_nss" != "x0"])
970 # test for gnunetdns group name
971 GNUNETDNS_GROUP=gnunetdns
972 AC_MSG_CHECKING(for gnunetdns group name)
973 AC_ARG_WITH(gnunetdns,
974 [ --with-gnunetdns=GRPNAME name for gnunetdns group],
975 [AC_MSG_RESULT("$with_gnunetdns")
976 case $with_gnunetdns in
978 GNUNETDNS_GROUP=gnunet
981 GNUNETDNS_GROUP=gnunetdns
984 GNUNETDNS_GROUP=$with_gnunetdns
988 [AC_MSG_RESULT([gnunetdns])])
989 AC_SUBST(GNUNETDNS_GROUP)
995 AC_MSG_CHECKING(for gnutls)
997 [ --with-gnutls=PFX base of gnutls installation],
998 [AC_MSG_RESULT([$with_gnutls])
1003 AC_CHECK_HEADERS([gnutls/abstract.h],
1004 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
1008 LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
1009 CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
1010 AC_CHECK_HEADERS([gnutls/abstract.h],
1011 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
1012 EXT_LIB_PATH="-L$with_gnutls/lib $EXT_LIB_PATH"
1017 [AC_MSG_RESULT([--with-gnutls not specified])
1018 AC_CHECK_HEADERS([gnutls/abstract.h],
1019 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
1021 AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
1022 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have GnuTLS])
1025 AC_CHECK_HEADERS([gnutls/dane.h],
1026 AC_CHECK_LIB([gnutls-dane], [dane_verify_crt_raw],
1028 AM_CONDITIONAL(HAVE_GNUTLS_DANE, test x$gnutls_dane = x1)
1029 AC_DEFINE_UNQUOTED([HAVE_GNUTLS_DANE], $gnutls_dane, [We have GnuTLS with DANE support])
1032 # Test if we are building for superMUC
1033 AC_MSG_CHECKING(if GNUnet is being configured to run on the SuperMUC)
1034 AC_ARG_ENABLE([supermuc],
1035 [AS_HELP_STRING([--enable-supermuc],
1036 [build GNUnet with support to run on the SuperMUC (default is NO)])],
1037 [if test "x$enable_supermuc" = "xno"
1044 enable_supermuc=no])
1045 AC_MSG_RESULT($enable_SUPERMUC)
1046 AM_CONDITIONAL([ENABLE_SUPERMUC], [test "x$supermuc" = "x1"])
1047 AC_DEFINE_UNQUOTED([ENABLE_SUPERMUC], [$supermuc], [Build with support for SuperMUC])
1049 # Check if NSE has to send timestamp information to testbed logger for
1050 # generating histogram of messages received
1051 AC_MSG_CHECKING(if NSE has to send timestamp information to testbed logger)
1052 AC_ARG_ENABLE([nse-histogram],
1053 [AS_HELP_STRING([--enable-nse-histogram],
1054 [have NSE send timestamp information to testbed logger for generating
1055 histogram of received messages. NOT useful for production (default is
1057 [if test "x$enableval" = "xno"
1064 enable_nse_histogram=no])
1065 AC_MSG_RESULT($enable_nse_histogram)
1066 AM_CONDITIONAL([ENABLE_NSE_HISTOGRAM], [test "x$nse_histogram" = "x1"])
1067 AC_DEFINE_UNQUOTED([ENABLE_NSE_HISTOGRAM], [$nse_histogram],
1068 [have NSE send timestamp information to testbed logger])
1070 # should 'make check' run tests?
1071 AC_MSG_CHECKING(whether to run tests)
1072 AC_ARG_ENABLE([testruns],
1073 [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
1074 [enable_tests_run=${enableval}],
1075 [enable_tests_run=yes])
1076 AC_MSG_RESULT($enable_test_run)
1077 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
1080 # should monkey be used when running (certain) services?
1081 AC_MSG_CHECKING(whether to run with monkey)
1082 AC_ARG_ENABLE([monkey],
1083 [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
1084 [enable_monkey=${enableval}],
1086 AC_MSG_RESULT($enable_monkey)
1087 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
1088 if test "x$enable_monkey" = "xyes"
1090 MONKEYPREFIX="pathologist -d $(eval echo ${datarootdir}/gnunet/gnunet.sqlite) -p 30 --"
1094 AC_SUBST(MONKEYPREFIX)
1097 # should expensive tests be run?
1098 AC_MSG_CHECKING(whether to run expensive tests)
1099 AC_ARG_ENABLE([expensivetests],
1100 [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
1101 [enable_expensive=${enableval}],
1102 [enable_expensive=no])
1103 AC_MSG_RESULT($enable_expensive)
1104 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
1106 # should ports be open for Java services?
1107 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
1108 AC_ARG_ENABLE([javaports],
1109 [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
1110 [enable_java_ports=${enableval}],
1111 [enable_java_ports=no])
1112 AC_MSG_RESULT($enable_java_ports)
1113 if test "x$enable_java_ports" = "xyes"
1117 JAVAPORT="$UNIXONLY"
1121 # should benchmarks be run?
1122 AC_MSG_CHECKING(whether to run benchmarks during make check)
1123 AC_ARG_ENABLE([benchmarks],
1124 [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
1125 [enable_benchmarks=${enableval}],
1126 [enable_benchmarks=no])
1127 AC_MSG_RESULT($enable_benchmarks)
1128 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
1130 # should gnunet-testing be compiled
1131 AC_MSG_CHECKING(wether to compile gnunet-testing)
1132 AC_ARG_ENABLE([testing],
1133 [AS_HELP_STRING([--disable-testing], [do not build gnunet-testing])],
1134 [enable_testing=${enableval}],
1135 [enable_testing=yes])
1136 AC_MSG_RESULT($enable_testing)
1137 AM_CONDITIONAL([HAVE_TESTING], [test "x$enable_testing" = "xyes"])
1139 # should experimental code be compiled (code that may not yet compile)?
1140 AC_MSG_CHECKING(whether to compile experimental code)
1141 AC_ARG_ENABLE([experimental],
1142 [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
1143 [enable_experimental=${enableval}],
1144 [enable_experimental=no])
1145 AC_MSG_RESULT($enable_experimental)
1146 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
1148 # should services be started by default when a peer starts? Some services may
1149 # choose to never start by default and it is upto the service/module developer to
1150 # decide it by having "AUTOSTART = NO" instead of "AUTOSTART = @AUTOSTART" in
1151 # the service/module's conf.in file.
1153 AC_MSG_CHECKING(whether to auto-start peer's services by default)
1154 AC_ARG_ENABLE([autostart],
1155 [AS_HELP_STRING([--disable-autostart], [do not start peer's services by default])],
1156 [enable_autostart=${enableval}
1157 if test "x$enable_autostart" == "xno"
1162 [enable_autostart=yes])
1163 AC_MSG_RESULT($enable_autostart)
1164 #AM_CONDITIONAL([HAVE_AUTOSTART], [test "x$enable_autostart" = "xyes"])
1167 # should memory statistics be kept (very expensive CPU-wise!)
1168 AC_MSG_CHECKING(whether to create expensive statistics on memory use)
1169 AC_ARG_ENABLE([heapstats],
1170 [AS_HELP_STRING([--enable-heapstats], [enable expensive heap statistics])],
1171 [enable_heapstats=1],
1172 [enable_heapstats=0])
1173 AC_MSG_RESULT($enable_heapstats)
1174 AC_DEFINE_UNQUOTED([ENABLE_HEAP_STATISTICS],$enable_heapstats,[enable expensive heap statistics])
1176 # should code be enabled that works around missing OS functionality on Windows?
1177 # used for test cases
1178 if test $build_target = "mingw"
1184 [#include <ws2tcpip.h>
1186 int s = socket (0, 0, 0);])
1188 AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
1190 AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
1195 [#include <ws2tcpip.h>
1197 int s = select (0, NULL, NULL, NULL, NULL);])
1199 AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
1201 AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
1206 [#include <ws2tcpip.h>
1209 char *s = inet_ntoa (i);])
1211 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
1213 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
1218 [#include <ws2tcpip.h>
1220 int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
1222 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
1224 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
1229 [#include <ws2tcpip.h>
1231 int s = gethostname (NULL, 0);])
1233 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
1235 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
1240 [#include <ws2tcpip.h>
1242 void *s = gethostbyname (NULL);])
1244 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
1246 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
1251 [#include <ws2tcpip.h>
1253 void *s = gethostbyaddr (NULL, 0, 0);])
1255 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
1257 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
1262 [#include <ws2tcpip.h>
1264 int s = getaddrinfo (NULL, NULL, NULL, NULL);])
1266 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1268 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1272 AC_MSG_CHECKING(whether to enable windows workarounds)
1273 AC_ARG_ENABLE([windows_workarounds],
1274 [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
1275 [enable_workarounds=${enableval}],
1276 [enable_workarounds=no])
1277 AC_MSG_RESULT($enable_workarounds)
1278 if test x$enable_windows_workarounds = "xyes"
1285 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
1288 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
1289 AC_ARG_ENABLE([coverage],
1290 AS_HELP_STRING([--enable-coverage],
1291 [compile the library with code coverage support]),
1292 [use_gcov=${enableval}],
1294 AC_MSG_RESULT($use_gcov)
1295 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
1299 AC_PATH_PROG(svnversioncommand, svnversion)
1300 AC_PATH_PROG(gitcommand, git)
1301 AC_MSG_CHECKING(for source being under a VCS)
1304 AS_IF([test ! "X$svnversioncommand" = "X"],
1306 svn_version=$(cd $srcdir ; $svnversioncommand -n 2>/dev/null)
1308 AS_IF([test ! "X$gitcommand" = "X"],
1310 gitsvn_version=$(cd $srcdir ; git log -1 2>/dev/null | grep "git-svn-id" | sed -e 's/.*@\([[0-9]]\+\) .*/\1/')
1312 AS_IF([test "X$svn_version" = "X" -o "X$svn_version" = "Xexported" -o "X$svn_version" = "XUnversioned directory"],
1314 AS_IF([test "X$gitsvn_version" = "X"],
1317 vcs_version="\"release\""
1320 vcs_name="yes, git-svn"
1321 vcs_version="\"svn-r$gitsvn_version\""
1326 vcs_version="\"svn-r$svn_version\""
1328 AC_MSG_RESULT($vcs_name)
1330 AC_MSG_CHECKING(VCS version)
1331 AC_MSG_RESULT($vcs_version)
1332 AC_DEFINE_UNQUOTED(VCS_VERSION, [$vcs_version], [VCS revision/hash or tarball version])
1339 doc/doxygen/Makefile
1347 src/ats-tool/Makefile
1348 src/ats-tests/Makefile
1352 src/consensus/Makefile
1353 src/consensus/consensus.conf
1354 src/conversation/Makefile
1355 src/conversation/conversation.conf
1356 src/datacache/Makefile
1357 src/datastore/Makefile
1358 src/datastore/datastore.conf
1367 src/experimentation/Makefile
1368 src/experimentation/experimentation.conf
1369 src/fragmentation/Makefile
1374 src/gns/nss/Makefile
1375 src/gnsrecord/Makefile
1377 src/identity/Makefile
1378 src/identity/identity.conf
1379 src/include/Makefile
1380 src/integration-tests/Makefile
1381 src/hostlist/Makefile
1384 src/multicast/Makefile
1385 src/multicast/multicast.conf
1387 src/namecache/Makefile
1388 src/namecache/namecache.conf
1389 src/namestore/Makefile
1390 src/namestore/namestore.conf
1394 src/peerinfo/Makefile
1395 src/peerinfo/peerinfo.conf
1396 src/peerinfo-tool/Makefile
1397 src/postgres/Makefile
1400 src/psycstore/Makefile
1401 src/psycstore/psycstore.conf
1404 src/regex/regex.conf
1405 src/revocation/Makefile
1406 src/revocation/revocation.conf
1407 src/secretsharing/Makefile
1408 src/secretsharing/secretsharing.conf
1409 src/scalarproduct/Makefile
1410 src/scalarproduct/scalarproduct.conf
1413 src/statistics/Makefile
1414 src/statistics/statistics.conf
1415 src/template/Makefile
1416 src/testbed/Makefile
1417 src/testbed/testbed.conf
1418 src/testing/Makefile
1419 src/topology/Makefile
1420 src/transport/Makefile
1421 src/transport/transport.conf
1424 src/util/resolver.conf
1428 pkgconfig/gnunetarm.pc
1429 pkgconfig/gnunetats.pc
1430 pkgconfig/gnunetblock.pc
1431 pkgconfig/gnunetconsensus.pc
1432 pkgconfig/gnunetconversation.pc
1433 pkgconfig/gnunetcore.pc
1434 pkgconfig/gnunetdatacache.pc
1435 pkgconfig/gnunetdatastore.pc
1436 pkgconfig/gnunetdht.pc
1437 pkgconfig/gnunetdns.pc
1438 pkgconfig/gnunetdnsparser.pc
1439 pkgconfig/gnunetdnsstub.pc
1440 pkgconfig/gnunetdv.pc
1441 pkgconfig/gnunetenv.pc
1442 pkgconfig/gnunetfragmentation.pc
1443 pkgconfig/gnunetfs.pc
1444 pkgconfig/gnunetgns.pc
1445 pkgconfig/gnunethello.pc
1446 pkgconfig/gnunetidentity.pc
1447 pkgconfig/gnunetmesh.pc
1448 pkgconfig/gnunetmicrophone.pc
1449 pkgconfig/gnunetmulticast.pc
1450 pkgconfig/gnunetmysql.pc
1451 pkgconfig/gnunetnamestore.pc
1452 pkgconfig/gnunetnat.pc
1453 pkgconfig/gnunetnse.pc
1454 pkgconfig/gnunetpeerinfo.pc
1455 pkgconfig/gnunetpostgres.pc
1456 pkgconfig/gnunetpsyc.pc
1457 pkgconfig/gnunetpsycstore.pc
1458 pkgconfig/gnunetregex.pc
1459 pkgconfig/gnunetrevocation.pc
1460 pkgconfig/gnunetscalarproduct.pc
1461 pkgconfig/gnunetset.pc
1462 pkgconfig/gnunetspeaker.pc
1463 pkgconfig/gnunetstatistics.pc
1464 pkgconfig/gnunettestbed.pc
1465 pkgconfig/gnunettesting.pc
1466 pkgconfig/gnunettransport.pc
1467 pkgconfig/gnunettun.pc
1468 pkgconfig/gnunetutil.pc
1469 pkgconfig/gnunetvpn.pc
1475 # warn user if mysql found but not used due to version
1476 if test "$mysqlfail" = "true"
1478 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1482 if test "x$sqlite" = "x0"
1484 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
1488 if test "x$gnurl" = "x0"
1490 AC_MSG_NOTICE([NOTICE: libgnurl not found. http client support will not be compiled.])
1494 if test "x$bluetooth" = "x0"
1496 AC_MSG_NOTICE([NOTICE: bluetooth library not found. bluetooth support will not be compiled.])
1500 if test x$gnutls != xtrue
1502 AC_MSG_NOTICE([NOTICE: GnuTLS not found, gnunet-gns-proxy will not be built])
1504 if test x$gnutls_dane != xtrue
1506 AC_MSG_NOTICE([NOTICE: GnuTLS has no DANE support, DANE validation will not be possible])
1511 if test "x$enable_java_ports" = "xyes"
1513 AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1517 if test "x$lmhd" != "x1"
1519 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1523 if test "x$pulse" != "x1"
1525 AC_MSG_NOTICE([NOTICE: libpulse(audio) not found, conversation will not be built.])
1529 if test "x$opus" != "x1"
1531 AC_MSG_NOTICE([NOTICE: libopus not found, conversation will not be built.])
1534 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1536 if test "$enable_framework_build" = "yes"
1538 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1541 if test "x$SUDO_BINARY" = "x" -a ! -w /
1543 AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library])
1547 AC_MSG_NOTICE([********************************************
1548 Please make sure NOW that you have created a user and group 'gnunet'
1549 and additionally a group 'gnunetdns':
1553 Make sure that '/var/lib/gnunet' is owned (and writable) by user
1554 'gnunet'. Then, you can compile GNUnet with
1557 After that, run (if necessary as 'root')
1559 to install everything.
1561 Each GNUnet user should be added to the 'gnunet' group (may
1562 require fresh login to come into effect):
1563 adduser $USERNAME gnunet
1564 (run the above command as root once for each of your users, replacing
1565 "$USERNAME" with the respective login names). If you have a global IP
1566 address, no further configuration is required.
1568 Optionally, download and compile gnunet-gtk to get a GUI for
1569 file-sharing and configuration. This is particularly recommended
1570 if your network setup is non-trivial, as gnunet-setup can be
1571 used to test in the GUI if your network configuration is working.
1572 gnunet-setup should be run as the "gnunet" user under X. As it
1573 does very little with the network, running it as "root" is likely
1574 also harmless. You can also run it as a normal user, but then
1575 you have to copy ~/.gnunet/gnunet.conf" over to the "gnunet" user's
1576 home directory in the end.
1578 Once you have configured your peer, run (as the 'gnunet' user)
1580 to start the peer. You can then run the various GNUnet-tools as
1581 your "normal" user (who should only be in the group 'gnunet').
1582 ********************************************])