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 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.5a],[bug-gnunet@gnu.org])
31 AM_INIT_AUTOMAKE([gnunet], [0.9.5a])
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])
46 LT_CONFIG_LTDL_DIR([libltdl])
57 if test "$enable_shared" = "no"
59 AC_MSG_ERROR([GNUnet only works with shared libraries. Sorry.])
62 CFLAGS="-Wall $CFLAGS"
63 # use '-fno-strict-aliasing', but only if the compiler can take it
64 if gcc -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1;
66 CFLAGS="-fno-strict-aliasing $CFLAGS"
69 # Use Linux interface name unless the OS has a different preference
70 DEFAULT_INTERFACE="\"eth0\""
72 funcstocheck="getnameinfo gethostname gethostbyname gethostbyaddr getaddrinfo"
74 # Srcdir in a form that native compiler understands (i.e. DOS path on W32)
79 *darwin* | *rhapsody* | *macosx*)
80 AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system])
81 CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS"
82 CFLAGS="-no-cpp-precomp -fno-common $CFLAGS"
83 AC_MSG_WARN([The VPN application cannot be compiled on your OS])
85 DEFAULT_INTERFACE="\"en0\""
91 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
99 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
100 AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
101 CFLAGS="-D_THREAD_SAFE $CFLAGS"
102 build_target="freebsd"
108 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
109 AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
110 LIBS=`echo $LIBS | sed -e "s/-ldl//"`
111 build_target="openbsd"
117 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
118 AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
124 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
125 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
126 AC_CHECK_LIB(resolv, res_init)
127 AC_CHECK_LIB(rt, nanosleep)
128 build_target="solaris"
134 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
135 CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
142 AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
143 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
144 AC_CHECK_LIB(intl, gettext)
145 LDFLAGS="$LDFLAGS -no-undefined"
146 CFLAGS="-mms-bitfields $CFLAGS"
147 build_target="cygwin"
154 AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
155 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
156 AC_DEFINE_UNQUOTED(_WIN32,1,[This is a Windows system])
157 AC_CHECK_LIB(intl, gettext)
158 LDFLAGS="$LDFLAGS -Wl,-no-undefined -Wl,--export-all-symbols"
159 LIBS="$LIBS -lws2_32 -lplibc -lgnurx -lole32"
160 CFLAGS="-mms-bitfields $CFLAGS"
161 CPPFLAGS="-D_WIN32_WINNT=0x0501 -DHAVE_STAT64=1 $CPPFLAGS"
168 native_srcdir=$(cd $srcdir; pwd -W)
171 AC_DEFINE_UNQUOTED(GNU,1,[This is a GNU system])
176 AC_MSG_RESULT(Unrecognised OS $host_os)
177 AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
181 AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should be the default choice for the name of the first network interface])
182 AC_SUBST(DEFAULT_INTERFACE)
184 # Disable TCP-based IPC on systems that support UNIX domain
185 # sockets in default configuratin:
189 AC_MSG_CHECKING([for build target])
190 AM_CONDITIONAL(DARWIN, test "$build_target" = "darwin")
191 AM_CONDITIONAL(CYGWIN, test "$build_target" = "cygwin")
192 AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
193 AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
194 AM_CONDITIONAL(XFREEBSD, test "$build_target" = "freebsd")
195 AM_CONDITIONAL(OPENBSD, test "$build_target" = "openbsd")
196 AM_CONDITIONAL(LINUX, test "$build_target" = "linux")
197 AM_CONDITIONAL(GNU, test "$build_target" = "gnu")
199 AC_MSG_RESULT([$build_target])
200 AC_SUBST(build_target)
201 AM_CONDITIONAL([am__fastdepOBJC], false)
202 AC_UNALIGNED_64_ACCESS
204 # some other checks for standard libs
205 AC_SEARCH_LIBS([gethostbyname], [nsl ws2_32])
206 AC_CHECK_LIB(socket, socket)
208 AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
210 # 'save' libs; only those libs found so far will be
211 # linked against _everywhere_. For the others, we
212 # will be more selective!
215 # libgnurx (regex library for W32)
217 AC_CHECK_LIB(gnurx, regexec, gnurx=1)
218 if test "x$gnurx" = "x0" -a "x$build_target" = "xmingw"
220 AC_MSG_ERROR([on W32 GNUnet needs libgnurx])
226 NEED_LIBGCRYPT_VERSION=1.6.0
229 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION", gcrypt=1)
230 AC_CHECK_DECLS([gcry_mpi_lshift], [], [], [[#include <gcrypt.h>]])
236 *** You need libgcrypt to build this program.
237 ** This library is for example available at
238 *** ftp://ftp.gnupg.org/gcrypt/libgcrypt/
239 *** (at least version $NEED_LIBGCRYPT_VERSION (API $NEED_LIBGCRYPT_API)
243 AC_DEFINE_UNQUOTED([NEED_LIBGCRYPT_VERSION], "$NEED_LIBGCRYPT_VERSION", [required libgcrypt version])
245 # Adam shostack suggests the following for Windows:
246 # -D_FORTIFY_SOURCE=2 -fstack-protector-all
247 AC_ARG_ENABLE(gcc-hardening,
248 AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
249 [if test x$enableval = xyes; then
250 CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all"
251 CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
252 CFLAGS="$CFLAGS --param ssp-buffer-size=1"
253 LDFLAGS="$LDFLAGS -pie"
257 # Linker hardening options
258 # Currently these options are ELF specific - you can't use this with MacOSX
259 AC_ARG_ENABLE(linker-hardening,
260 AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
261 [if test x$enableval = xyes; then
262 LDFLAGS="$LDFLAGS -z relro -z now"
266 extra_logging=GNUNET_NO
267 AC_ARG_ENABLE([logging],
268 AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose,veryverbose ('yes' is the default)]),
269 [AS_IF([test "x$enableval" = "xyes"], [],
270 [test "x$enableval" = "xno"], [AC_DEFINE([GNUNET_CULL_LOGGING],[],[Define to cull all logging calls])],
271 [test "x$enableval" = "xverbose"], [extra_logging=GNUNET_YES]
272 [test "x$enableval" = "xveryverbose"], [extra_logging=\(GNUNET_YES+1\)])
274 AC_DEFINE_UNQUOTED([GNUNET_EXTRA_LOGGING],[$extra_logging],[1 if extra logging is enabled, 2 for very verbose extra logging, 0 otherwise])
276 # should memory poisoning be enabled?
277 AC_MSG_CHECKING(whether to poison freed memory)
278 AC_ARG_ENABLE([poisoning],
279 [AS_HELP_STRING([--enable-poisoning], [enable poisoning of freed memory (good for debugging)])],
280 [enable_poisoning=${enableval}],
282 if test "x$extra_logging" != "xGNUNET_NO"; then
283 enable_poisoning="defaults to yes (extra logging is enabled)"
288 AC_MSG_RESULT($enable_poisoning)
289 if test ! "x$enable_poisoning" = "xno"; then
294 AC_DEFINE_UNQUOTED([ENABLE_POISONING],[$enable_poisoning],[1 if freed memory should be poisoned, 0 otherwise])
296 if test $build = $target
298 AC_MSG_CHECKING([for working HMAC])
300 LIBS="$LIBS $LIBGCRYPT_LIBS"
301 CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
303 [AC_LANG_PROGRAM([#include <gcrypt.h>
304 #include <stdio.h>], [[
307 unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
308 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
309 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
310 unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
311 unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
312 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
313 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
314 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
315 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
316 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
318 if (!gcry_check_version (GCRYPT_VERSION))
320 fprintf (stderr, "Version mismatch %s <-> %s \n", gcry_check_version (NULL), GCRYPT_VERSION);
324 gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
325 gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
327 if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
329 fprintf (stderr, "gcry_md_open error\n");
333 gcry_md_setkey (mac, key, sizeof (key));
334 gcry_md_write (mac, data, sizeof (data));
336 if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
338 fprintf (stderr, "memcmp error\n");
346 [AC_MSG_RESULT([yes])],
351 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.])
355 AC_MSG_FAILURE([HMAC test failed])
359 AC_MSG_FAILURE([libgcrypt header version does not match library version])
363 fi # $build = $target
366 LIBCURL_CHECK_CONFIG(,7.21.3,curl=1,curl=0)
369 AM_CONDITIONAL(HAVE_LIBCURL, true)
370 AC_DEFINE([HAVE_LIBCURL],[1],[Have libcurl])
372 AM_CONDITIONAL(HAVE_LIBCURL, false)
377 AC_MSG_CHECKING([if Libidn can be used])
378 AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
379 [Support IDN (needs GNU Libidn)]),
380 libidn=$withval, libidn=yes)
381 if test "$libidn" != "no"; then
382 if test "$libidn" != "yes"; then
383 LDFLAGS="${LDFLAGS} -L$libidn/lib"
384 CPPFLAGS="${CPPFLAGS} -I$libidn/include"
386 AC_CHECK_HEADER(idna.h,
387 AC_CHECK_LIB(idn, stringprep_check_version,
388 [libidn=yes LIBS="${LIBS} -lidn"],
389 AC_MSG_FAILURE([GNUnet requires libidn])),
390 AC_MSG_FAILURE([GNUnet requires libidn]))
392 AC_MSG_RESULT($libidn)
398 AC_CHECK_HEADERS([glpk.h],[glpk=true],[gplk=false])
399 # GLPK must support glpk_init_env, version >= 4.43
400 AC_CHECK_LIB([glpk],[glp_init_env],,[gplk=false])
401 # GLPK must support atm MLP presolving, version >= 4.32
402 AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include <glpk.h>]])
403 if test x$gplk = xfalse
405 AM_CONDITIONAL(HAVE_LIBGLPK, false)
406 AC_MSG_WARN([GNUnet requires GLPK >= 4.32])
408 AM_CONDITIONAL(HAVE_LIBGLPK, true)
409 AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
413 # Minimum required version for glibtop is 2.6.0
414 AM_PATH_GLIB_2_0(2.6.0, [glib2=true] , [glib2=false] ,)
415 if test x$glib2 = xfalse
417 AM_CONDITIONAL(HAVE_GLIB2, false)
418 AC_MSG_WARN([GNUnet requires GLIB >= 2.6.0])
420 AM_CONDITIONAL(HAVE_GLIB2, true)
421 AC_DEFINE([HAVE_GLIB2],[1],[Have glib2])
422 LIBS="$LIBS $GLIB_LIBS"
423 CFLAGS="$CFLAGS $GLIB_CFLAGS"
426 AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false])
427 if test x$nss = xfalse
429 AM_CONDITIONAL(HAVE_GLIBCNSS, false)
430 AC_MSG_WARN([No GNU libc nss header, will not build NSS plugin])
432 AM_CONDITIONAL(HAVE_GLIBCNSS, true)
437 # test for kvm and kstat (for CPU stats under BSD/Solaris)
438 AC_CHECK_LIB([kvm],[kvm_open])
439 AC_CHECK_LIB([kstat],[kstat_open])
441 # test for libextractor
443 AC_MSG_CHECKING(for libextractor)
444 AC_ARG_WITH(extractor,
445 [ --with-extractor=PFX base of libextractor installation],
446 [AC_MSG_RESULT([$with_extractor])
447 case $with_extractor in
451 AC_CHECK_HEADERS(extractor.h,
452 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
456 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
457 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
458 AC_CHECK_HEADERS(extractor.h,
459 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
460 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
465 [AC_MSG_RESULT([--with-extractor not specified])
466 AC_CHECK_HEADERS(extractor.h,
467 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
469 if test "$extractor" != 1
471 AC_MSG_ERROR([GNUnet requires libextractor])
476 # test for libunistring
478 if test $HAVE_LIBUNISTRING != yes; then
479 AC_MSG_ERROR([GNUnet requires libunistring])
481 if test $gl_libunistring_hexversion -le 2305; then
482 AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1])
489 # Checks for standard header files.
493 # Check for headers that are ALWAYS required
494 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]))
496 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
497 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 endian.h sys/endian.h execinfo.h])
499 SAVE_LDFLAGS=$LDFLAGS
500 SAVE_CPPFLAGS=$CPPFLAGS
504 AC_MSG_CHECKING(for SQLite)
506 [ --with-sqlite=PFX base of SQLite installation],
507 [AC_MSG_RESULT("$with_sqlite")
512 AC_CHECK_HEADERS(sqlite3.h,
516 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
517 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
518 AC_CHECK_HEADERS(sqlite3.h,
519 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
520 SQLITE_LDFLAGS="-L$with_sqlite/lib"
521 SQLITE_CPPFLAGS="-I$with_sqlite/include"
523 LDFLAGS=$SAVE_LDFLAGS
524 CPPFLAGS=$SAVE_CPPFLAGS
528 [AC_MSG_RESULT([--with-sqlite not specified])
529 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
530 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
531 AC_SUBST(SQLITE_CPPFLAGS)
532 AC_SUBST(SQLITE_LDFLAGS)
536 AC_MSG_CHECKING(for postgres)
537 AC_ARG_WITH(postgres,
538 [ --with-postgres=PFX base of postgres installation],
539 [AC_MSG_RESULT("$with_postgres")
540 case $with_postgres in
544 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
548 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
549 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
550 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
551 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
552 POSTGRES_LDFLAGS="-L$with_postgres/lib"
553 POSTGRES_CPPFLAGS="-I$with_postgres/include"
555 LDFLAGS=$SAVE_LDFLAGS
556 CPPFLAGS=$SAVE_CPPFLAGS
560 [AC_MSG_RESULT([--with-postgres not specified])
561 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
562 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
563 AC_SUBST(POSTGRES_CPPFLAGS)
564 AC_SUBST(POSTGRES_LDFLAGS)
567 SAVE_LDFLAGS=$LDFLAGS
568 SAVE_CPPFLAGS=$CPPFLAGS
570 [ --with-zlib[[=DIR]] use libz in DIR],
571 [AS_IF([test "$withval" = "no"],
572 [AC_MSG_ERROR([GNUnet requires zlib])],
573 [test "$withval" != "yes"],
576 CPPFLAGS="${CPPFLAGS} -I$withval/include"
577 LDFLAGS="${LDFLAGS} -L$withval/lib"
580 AC_CHECK_HEADER(zlib.h,
582 [AC_MSG_ERROR([GNUnet requires zlib])])
583 AC_CHECK_LIB(z, compress2,
585 AC_DEFINE([HAVE_ZLIB], [], [Have compression library])
586 if test "x${Z_DIR}" != "x"; then
587 Z_CFLAGS="-I${Z_DIR}/include"
588 Z_LIBS="-L${Z_DIR}/lib -lz"
592 [AC_MSG_ERROR([GNUnet requires zlib])])
596 LDFLAGS=$SAVE_LDFLAGS
597 CPPFLAGS=$SAVE_CPPFLAGS
600 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
601 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
603 if test "$build_target" = "mingw"
605 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
611 SAVE_LDFLAGS=$LDFLAGS
612 SAVE_CPPFLAGS=$CPPFLAGS
613 AC_MSG_CHECKING(for mysql)
615 [ --with-mysql=PFX base of MySQL installation],
616 [AC_MSG_RESULT("$with_mysql")
617 if test "$with_mysql" != "no"
619 if test "$with_mysql" != "yes"
621 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
622 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
624 AC_CHECK_HEADERS(mysql/mysql.h,
625 AC_CHECK_LIB(mysqlclient, mysql_init,
626 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
627 MYSQL_CPPFLAGS="-I$with_mysql/include"
629 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
632 [AC_MSG_RESULT([--with-mysql not specified])
633 if test -d "/usr/lib64/mysql"; then
634 MYSQL_LIBDIR="/usr/lib64/mysql"
635 elif test -d "/usr/lib/mysql"; then
636 MYSQL_LIBDIR="/usr/lib/mysql"
638 MYSQL_LIBDIR="/usr/lib"
640 LDFLAGS="-L$MYSQL_LIBDIR $LDFLAGS $ZLIBS"
641 AC_CHECK_LIB(mysqlclient, mysql_init,
642 [AC_CHECK_HEADERS(mysql/mysql.h,
643 MYSQL_LDFLAGS="-L$MYSQL_LIBDIR"
646 , [], [$CYGWIN_MYSQL_MAGIC])])
649 AC_SUBST(MYSQL_LDFLAGS)
650 AC_SUBST(MYSQL_CPPFLAGS)
652 # additional version check for mysql
653 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
654 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
656 AC_MSG_CHECKING(mysql version)
657 AC_RUN_IFELSE([AC_LANG_PROGRAM(
658 [[$CYGWIN_MYSQL_MAGIC
659 #include <mysql/mysql.h>]],
660 [[if (MYSQL_VERSION_ID < 40100)
665 ],mysql=true,mysql=false)
666 if test "$mysql" = "false"
669 AC_MSG_RESULT([fail, >= 4.1 required])
674 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
675 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
678 LDFLAGS=$SAVE_LDFLAGS
679 CPPFLAGS=$SAVE_CPPFLAGS
681 if test "$sqlite" = 0 -a "$mysql" = 0
683 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
688 AC_MSG_CHECKING([for libmicrohttpd])
689 AC_ARG_WITH(microhttpd,
690 [ --with-microhttpd=PFX base of libmicrohttpd installation],
691 [AC_MSG_RESULT([$with_microhttpd])
692 case $with_microhttpd in
696 AC_CHECK_HEADERS([microhttpd.h],
697 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
698 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
699 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
701 #include "$native_srcdir/src/include/platform.h"
702 #include <microhttpd.h>
703 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
706 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
707 [],[#include "$native_srcdir/src/include/platform.h"
708 #include <microhttpd.h>]),,
709 [#include "$native_srcdir/src/include/platform.h"])
712 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
713 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
714 AC_CHECK_HEADERS(microhttpd.h,
715 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
716 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
717 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
718 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
720 #include "$native_srcdir/src/include/platform.h"
721 #include <microhttpd.h>
722 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
725 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
726 [],[#include "$native_srcdir/src/include/platform.h"
727 #include <microhttpd.h>]),,
728 [#include "$native_srcdir/src/include/platform.h"])
732 [AC_MSG_RESULT([--with-microhttpd not specified])
733 AC_CHECK_HEADERS([microhttpd.h],
734 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
735 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
736 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
738 #include "$native_srcdir/src/include/platform.h"
739 #include <microhttpd.h>
740 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
743 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
744 [],[#include "$native_srcdir/src/include/platform.h"
745 #include <microhttpd.h>]),,
746 [#include "$native_srcdir/src/include/platform.h"])])
747 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
748 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
754 # check for python & pexpect (used for some testcases only)
755 AM_PATH_PYTHON([2.6],, [:])
756 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
759 AM_GNU_GETTEXT([external])
760 AM_GNU_GETTEXT_VERSION([0.16.1])
765 # Checks for standard typedefs, structures, and compiler characteristics.
774 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
775 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
779 #include <sys/types.h>
780 #include <sys/socket.h>
781 #include <netinet/in.h>
786 # Checks for library functions.
787 AC_FUNC_CLOSEDIR_VOID
789 AC_PROG_GCC_TRADITIONAL
791 AC_FUNC_SELECT_ARGTYPES
801 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])
806 gn_user_home_dir="~/.gnunet"
807 AC_ARG_WITH(user-home-dir,
809 [--with-user-home-dir=DIR],
810 [default user home directory (~/.gnunet)]),
811 [gn_user_home_dir=$withval])
812 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
813 gn_daemon_home_dir="/var/lib/gnunet"
814 AC_ARG_WITH(daemon-home-dir,
816 [--with-daemon-home-dir=DIR],
817 [default daemon home directory (/var/lib/gnunet)]),
818 [gn_daemon_home_dir=$withval])
819 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
820 gn_daemon_config_dir="/etc"
821 AC_ARG_WITH(daemon-config-dir,
823 [--with-daemon-config-dir=DIR],
824 [default daemon config directory (/etc)]),
825 [gn_daemon_config_dir=$withval])
826 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
829 GN_LIBINTL="$LTLIBINTL"
830 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
831 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
832 if test x$enable_framework_build = xyes
834 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
835 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
836 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
837 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
840 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
841 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
843 AC_SUBST(GN_LIB_LDFLAGS)
844 AC_SUBST(GN_PLUGIN_LDFLAGS)
845 AC_SUBST(GN_INTLINCL)
851 AC_SUBST(EXT_LIB_PATH)
856 AC_SUBST(EXT_LIB_PATH)
860 AC_MSG_CHECKING(for sudo)
862 [ --with-sudo=PATH path to sudo binary (or just yes)],
863 [AC_MSG_RESULT("$with_sudo")
872 SUDO_BINARY=$with_sudo
876 [AC_MSG_RESULT([no])])
877 AC_SUBST(SUDO_BINARY)
878 AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /])
882 AC_MSG_CHECKING(with nssdir)
884 [ --with-nssdir=PATH where to install NSS plugins],
885 [AC_MSG_RESULT("$with_nssdir")
902 if test "x$SUDO_BINARY" != "x" -o -w /
906 AC_MSG_RESULT([yes, to /lib])
914 AM_CONDITIONAL([INSTALL_NSS], [test "x$install_nss" != "x0"])
916 # test for gnunetdns group name
917 GNUNETDNS_GROUP=gnunetdns
918 AC_MSG_CHECKING(for gnunetdns group name)
919 AC_ARG_WITH(gnunetdns,
920 [ --with-gnunetdns=GRPNAME name for gnunetdns group],
921 [AC_MSG_RESULT("$with_gnunetdns")
922 case $with_gnunetdns in
924 GNUNETDNS_GROUP=gnunet
927 GNUNETDNS_GROUP=gnunetdns
930 GNUNETDNS_GROUP=$with_gnunetdns
934 [AC_MSG_RESULT([gnunetdns])])
935 AC_SUBST(GNUNETDNS_GROUP)
941 AC_MSG_CHECKING(for gnutls)
943 [ --with-gnutls=PFX base of gnutls installation],
944 [AC_MSG_RESULT([$with_gnutls])
949 AC_CHECK_HEADERS([gnutls/abstract.h],
950 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
954 LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
955 CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
956 AC_CHECK_HEADERS([gnutls/abstract.h],
957 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
958 EXT_LIB_PATH="-L$with_gnutls/lib $EXT_LIB_PATH"
963 [AC_MSG_RESULT([--with-gnutls not specified])
964 AC_CHECK_HEADERS([gnutls/abstract.h],
965 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
967 AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
968 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have gnutls])
971 # Test if we are building for superMUC
972 AC_MSG_CHECKING(if testbed should use IBM LoadLeveler to run on SuperMUC)
974 [AS_HELP_STRING([--enable-ll],
975 [build GNUnet testbed for use with IBM LoadLeveler for running testbed on
976 SuperMUC (default is NO)])],
977 [if test "x$enable_ll" = "xno"
985 AC_MSG_RESULT($enable_ll)
986 AM_CONDITIONAL([ENABLE_LL], [test "x$ll" = "x1"])
987 AC_DEFINE_UNQUOTED([ENABLE_LL], [$ll], [Build with LL support])
989 # Check if NSE has to send timestamp information to testbed logger for
990 # generating histogram of messages received
991 AC_MSG_CHECKING(if NSE has to send timestamp information to testbed logger)
992 AC_ARG_ENABLE([nse-histogram],
993 [AS_HELP_STRING([--enable-nse-histogram],
994 [have NSE send timestamp information to testbed logger for generating
995 histogram of received messages. NOT useful for production (default is
997 [if test "x$enableval" = "xno"
1004 enable_nse_histogram=no])
1005 AC_MSG_RESULT($enable_nse_histogram)
1006 AM_CONDITIONAL([ENABLE_NSE_HISTOGRAM], [test "x$nse_histogram" = "x1"])
1007 AC_DEFINE_UNQUOTED([ENABLE_NSE_HISTOGRAM], [$nse_histogram],
1008 [have NSE send timestamp information to testbed logger])
1010 # should 'make check' run tests?
1011 AC_MSG_CHECKING(whether to run tests)
1012 AC_ARG_ENABLE([testruns],
1013 [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
1014 [enable_tests_run=${enableval}],
1015 [enable_tests_run=yes])
1016 AC_MSG_RESULT($enable_test_run)
1017 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
1020 # should monkey be used when running (certain) services?
1021 AC_MSG_CHECKING(whether to run with monkey)
1022 AC_ARG_ENABLE([monkey],
1023 [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
1024 [enable_monkey=${enableval}],
1026 AC_MSG_RESULT($enable_monkey)
1027 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
1028 if test "x$enable_monkey" = "xyes"
1030 MONKEYPREFIX="monkey"
1034 AC_SUBST(MONKEYPREFIX)
1037 # should expensive tests be run?
1038 AC_MSG_CHECKING(whether to run expensive tests)
1039 AC_ARG_ENABLE([expensivetests],
1040 [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
1041 [enable_expensive=${enableval}],
1042 [enable_expensive=no])
1043 AC_MSG_RESULT($enable_expensive)
1044 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
1046 # should ports be open for Java services?
1047 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
1048 AC_ARG_ENABLE([javaports],
1049 [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
1050 [enable_java_ports=${enableval}],
1051 [enable_java_ports=no])
1052 AC_MSG_RESULT($enable_java_ports)
1053 if test "x$enable_java_ports" = "xyes"
1057 JAVAPORT="$UNIXONLY"
1061 # should benchmarks be run?
1062 AC_MSG_CHECKING(whether to run benchmarks during make check)
1063 AC_ARG_ENABLE([benchmarks],
1064 [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
1065 [enable_benchmarks=${enableval}],
1066 [enable_benchmarks=no])
1067 AC_MSG_RESULT($enable_benchmarks)
1068 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
1070 # should gnunet-testing be compiled
1071 AC_MSG_CHECKING(wether to compile gnunet-testing)
1072 AC_ARG_ENABLE([testing],
1073 [AS_HELP_STRING([--disable-testing], [do not build gnunet-testing])],
1074 [enable_testing=${enableval}],
1075 [enable_testing=yes])
1076 AC_MSG_RESULT($enable_testing)
1077 AM_CONDITIONAL([HAVE_TESTING], [test "x$enable_testing" = "xyes"])
1079 # should experimental code be compiled (code that may not yet compile)?
1080 AC_MSG_CHECKING(whether to compile experimental code)
1081 AC_ARG_ENABLE([experimental],
1082 [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
1083 [enable_experimental=${enableval}],
1084 [enable_experimental=no])
1085 AC_MSG_RESULT($enable_experimental)
1086 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
1088 # should memory statistics be kept (very expensive CPU-wise!)
1089 AC_MSG_CHECKING(whether to create expensive statistics on memory use)
1090 AC_ARG_ENABLE([heapstats],
1091 [AS_HELP_STRING([--enable-heapstats], [enable expensive heap statistics])],
1092 [enable_heapstats=1],
1093 [enable_heapstats=0])
1094 AC_MSG_RESULT($enable_heapstats)
1095 AC_DEFINE_UNQUOTED([ENABLE_HEAP_STATISTICS],$enable_heapstats,[enable expensive heap statistics])
1097 # should code be enabled that works around missing OS functionality on Windows?
1098 # used for test cases
1099 if test $build_target = "mingw"
1105 [#include <ws2tcpip.h>
1107 int s = socket (0, 0, 0);])
1109 AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
1111 AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
1116 [#include <ws2tcpip.h>
1118 int s = select (0, NULL, NULL, NULL, NULL);])
1120 AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
1122 AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
1127 [#include <ws2tcpip.h>
1130 char *s = inet_ntoa (i);])
1132 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
1134 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
1139 [#include <ws2tcpip.h>
1141 int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
1143 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
1145 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
1150 [#include <ws2tcpip.h>
1152 int s = gethostname (NULL, 0);])
1154 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
1156 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
1161 [#include <ws2tcpip.h>
1163 void *s = gethostbyname (NULL);])
1165 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
1167 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
1172 [#include <ws2tcpip.h>
1174 void *s = gethostbyaddr (NULL, 0, 0);])
1176 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
1178 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
1183 [#include <ws2tcpip.h>
1185 int s = getaddrinfo (NULL, NULL, NULL, NULL);])
1187 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1189 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1193 AC_MSG_CHECKING(whether to enable windows workarounds)
1194 AC_ARG_ENABLE([windows_workarounds],
1195 [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
1196 [enable_workarounds=${enableval}],
1197 [enable_workarounds=no])
1198 AC_MSG_RESULT($enable_workarounds)
1199 if test x$enable_windows_workarounds = "xyes"
1206 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
1209 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
1210 AC_ARG_ENABLE([coverage],
1211 AS_HELP_STRING([--enable-coverage],
1212 [compile the library with code coverage support]),
1213 [use_gcov=${enableval}],
1215 AC_MSG_RESULT($use_gcov)
1216 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
1220 AC_PATH_PROG(svnversioncommand, svnversion)
1221 AC_PATH_PROG(gitcommand, git)
1222 if test "X$svnversioncommand" = "X" || test `$svnversioncommand -n '.'` = "exported"
1224 if test "X$gitcommand" = "X"
1226 AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
1228 gitver=$(git log -1 | grep "git-svn-id" | sed -e 's/.*@\([[0-9]]\+\) .*/\1/')
1229 if test "X$gitver" = "X"
1231 AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
1233 AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-$gitver"], [repository svn version])
1237 AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-`svnversion -n`"], [repository svn version])
1252 src/ats-tool/Makefile
1256 src/consensus/Makefile
1257 src/consensus/consensus.conf
1258 src/datacache/Makefile
1259 src/datastore/Makefile
1260 src/datastore/datastore.conf
1268 src/experimentation/Makefile
1269 src/experimentation/experimentation.conf
1270 src/fragmentation/Makefile
1275 src/gns/nss/Makefile
1277 src/include/Makefile
1278 src/include/gnunet_directories.h
1279 src/hostlist/Makefile
1280 src/lockmanager/Makefile
1281 src/lockmanager/lockmanager.conf
1285 src/namestore/Makefile
1286 src/namestore/namestore.conf
1290 src/peerinfo/Makefile
1291 src/peerinfo/peerinfo.conf
1292 src/peerinfo-tool/Makefile
1293 src/postgres/Makefile
1296 src/regex/regex.conf
1299 src/statistics/Makefile
1300 src/statistics/statistics.conf
1302 src/template/Makefile
1303 src/testbed/Makefile
1304 src/testbed/testbed.conf
1305 src/testing/Makefile
1306 src/topology/Makefile
1307 src/transport/Makefile
1308 src/transport/transport.conf
1311 src/util/resolver.conf
1314 src/integration-tests/Makefile
1316 pkgconfig/gnunetats.pc
1317 pkgconfig/gnunetarm.pc
1318 pkgconfig/gnunetblock.pc
1319 pkgconfig/gnunetcore.pc
1320 pkgconfig/gnunetdatacache.pc
1321 pkgconfig/gnunetdatastore.pc
1322 pkgconfig/gnunetdht.pc
1323 pkgconfig/gnunetdns.pc
1324 pkgconfig/gnunetdnsparser.pc
1325 pkgconfig/gnunetdv.pc
1326 pkgconfig/gnunetfragmentation.pc
1327 pkgconfig/gnunetfs.pc
1328 pkgconfig/gnunetgns.pc
1329 pkgconfig/gnunethello.pc
1330 pkgconfig/gnunetlockmanager.pc
1331 pkgconfig/gnunetmesh.pc
1332 pkgconfig/gnunetmysql.pc
1333 pkgconfig/gnunetnamestore.pc
1334 pkgconfig/gnunetnat.pc
1335 pkgconfig/gnunetnse.pc
1336 pkgconfig/gnunetpeerinfo.pc
1337 pkgconfig/gnunetpostgres.pc
1338 pkgconfig/gnunetregex.pc
1339 pkgconfig/gnunetstatistics.pc
1340 pkgconfig/gnunetstream.pc
1341 pkgconfig/gnunettestbed.pc
1342 pkgconfig/gnunettesting.pc
1343 pkgconfig/gnunettransport.pc
1344 pkgconfig/gnunettun.pc
1345 pkgconfig/gnunetutil.pc
1346 pkgconfig/gnunetvpn.pc
1352 # warn user if mysql found but not used due to version
1353 if test "$mysqlfail" = "true"
1355 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1359 if test "x$sqlite" = "x0"
1361 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
1365 if test "x$curl" = "x0"
1367 AC_MSG_NOTICE([NOTICE: libcurl not found. http client support will not be compiled.])
1371 if test x$gnutls != xtrue
1373 AC_MSG_NOTICE([NOTICE: gnutls not found, gnunet-gns-proxy will not be built])
1377 if test "x$enable_java_ports" = "xyes"
1379 AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1382 if test "x$lmhd" != "x1"
1384 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1387 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1389 if test "$enable_framework_build" = "yes"
1391 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1394 if test "x$SUDO_BINARY" = "x" -a ! -w /
1396 AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library])
1400 AC_MSG_NOTICE([********************************************
1401 Please make sure NOW that you have created a user and group 'gnunet'
1402 and additionally a group 'gnunetdns':
1406 Make sure that '/var/lib/gnunet' is owned (and writable) by user
1407 'gnunet'. Then, you can compile GNUnet with
1410 After that, run (if necessary as 'root')
1412 to install everything.
1414 Each GNUnet user should be added to the 'gnunet' group (may
1415 require fresh login to come into effect):
1416 adduser $USERNAME gnunet
1417 (run the above command as root once for each of your users, replacing
1418 "$USERNAME" with the respective login names). If you have a global IP
1419 address, no further configuration is required.
1421 Optionally, download and compile gnunet-gtk to get a GUI for
1422 file-sharing and configuration. This is particularly recommended
1423 if your network setup is non-trivial, as gnunet-setup can be
1424 used to test in the GUI if your network configuration is working.
1425 gnunet-setup should be run as the "gnunet" user under X. As it
1426 does very little with the network, running it as "root" is likely
1427 also harmless. You can also run it as a normal user, but then
1428 you have to copy ~/.gnunet/gnunet.conf" over to the "gnunet" user's
1429 home directory in the end.
1431 Once you have configured your peer, run (as the 'gnunet' user)
1433 to start the peer. You can then run the various GNUnet-tools as
1434 your "normal" user (who should only be in the group 'gnunet').
1435 ********************************************])