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])
56 if test "$enable_shared" = "no"
58 AC_MSG_ERROR([GNUnet only works with shared libraries. Sorry.])
61 CFLAGS="-Wall $CFLAGS"
62 # use '-fno-strict-aliasing', but only if the compiler can take it
63 if gcc -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1;
65 CFLAGS="-fno-strict-aliasing $CFLAGS"
68 # Use Linux interface name unless the OS has a different preference
69 DEFAULT_INTERFACE="\"eth0\""
71 funcstocheck="getnameinfo gethostname gethostbyname gethostbyaddr getaddrinfo"
73 # Srcdir in a form that native compiler understands (i.e. DOS path on W32)
78 *darwin* | *rhapsody* | *macosx*)
79 AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system])
80 CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS"
81 CFLAGS="-no-cpp-precomp -fno-common $CFLAGS"
82 AC_MSG_WARN([The VPN application cannot be compiled on your OS])
84 DEFAULT_INTERFACE="\"en0\""
90 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
98 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
99 AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
100 CFLAGS="-D_THREAD_SAFE $CFLAGS"
101 build_target="freebsd"
107 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
108 AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
109 LIBS=`echo $LIBS | sed -e "s/-ldl//"`
110 build_target="openbsd"
116 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
117 AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
123 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
124 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
125 AC_CHECK_LIB(resolv, res_init)
126 AC_CHECK_LIB(rt, nanosleep)
127 build_target="solaris"
133 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
134 CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
141 AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
142 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
143 AC_CHECK_LIB(intl, gettext)
144 LDFLAGS="$LDFLAGS -no-undefined"
145 CFLAGS="-mms-bitfields $CFLAGS"
146 build_target="cygwin"
153 AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
154 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
155 AC_DEFINE_UNQUOTED(_WIN32,1,[This is a Windows system])
156 AC_CHECK_LIB(intl, gettext)
157 LDFLAGS="$LDFLAGS -Wl,-no-undefined -Wl,--export-all-symbols"
158 LIBS="$LIBS -lws2_32 -lplibc -lgnurx -lole32"
159 CFLAGS="-mms-bitfields $CFLAGS"
160 CPPFLAGS="-D_WIN32_WINNT=0x0501 -DHAVE_STAT64=1 $CPPFLAGS"
167 native_srcdir=$(cd $srcdir; pwd -W)
170 AC_DEFINE_UNQUOTED(GNU,1,[This is a GNU system])
175 AC_MSG_RESULT(Unrecognised OS $host_os)
176 AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
180 AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should be the default choice for the name of the first network interface])
181 AC_SUBST(DEFAULT_INTERFACE)
183 # Disable TCP-based IPC on systems that support UNIX domain
184 # sockets in default configuratin:
188 AC_MSG_CHECKING([for build target])
189 AM_CONDITIONAL(DARWIN, test "$build_target" = "darwin")
190 AM_CONDITIONAL(CYGWIN, test "$build_target" = "cygwin")
191 AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
192 AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
193 AM_CONDITIONAL(XFREEBSD, test "$build_target" = "freebsd")
194 AM_CONDITIONAL(OPENBSD, test "$build_target" = "openbsd")
195 AM_CONDITIONAL(LINUX, test "$build_target" = "linux")
196 AM_CONDITIONAL(GNU, test "$build_target" = "gnu")
198 AC_MSG_RESULT([$build_target])
199 AC_SUBST(build_target)
200 AM_CONDITIONAL([am__fastdepOBJC], false)
201 AC_UNALIGNED_64_ACCESS
203 # some other checks for standard libs
204 AC_SEARCH_LIBS([gethostbyname], [nsl ws2_32])
205 AC_CHECK_LIB(socket, socket)
207 AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
209 # 'save' libs; only those libs found so far will be
210 # linked against _everywhere_. For the others, we
211 # will be more selective!
214 # libgnurx (regex library for W32)
216 AC_CHECK_LIB(gnurx, regexec, gnurx=1)
217 if test "x$gnurx" = "x0" -a "x$build_target" = "xmingw"
219 AC_MSG_ERROR([on W32 GNUnet needs libgnurx])
225 NEED_LIBGCRYPT_VERSION=1.6.0
228 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION", gcrypt=1)
229 AC_CHECK_DECLS([gcry_mpi_lshift], [], [], [[#include <gcrypt.h>]])
235 *** You need libgcrypt to build this program.
236 ** This library is for example available at
237 *** ftp://ftp.gnupg.org/gcrypt/libgcrypt/
238 *** (at least version $NEED_LIBGCRYPT_VERSION (API $NEED_LIBGCRYPT_API)
242 AC_DEFINE_UNQUOTED([NEED_LIBGCRYPT_VERSION], "$NEED_LIBGCRYPT_VERSION", [required libgcrypt version])
244 # Adam shostack suggests the following for Windows:
245 # -D_FORTIFY_SOURCE=2 -fstack-protector-all
246 AC_ARG_ENABLE(gcc-hardening,
247 AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
248 [if test x$enableval = xyes; then
249 CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all"
250 CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
251 CFLAGS="$CFLAGS --param ssp-buffer-size=1"
252 LDFLAGS="$LDFLAGS -pie"
256 # Linker hardening options
257 # Currently these options are ELF specific - you can't use this with MacOSX
258 AC_ARG_ENABLE(linker-hardening,
259 AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
260 [if test x$enableval = xyes; then
261 LDFLAGS="$LDFLAGS -z relro -z now"
265 extra_logging=GNUNET_NO
266 AC_ARG_ENABLE([logging],
267 AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose,veryverbose ('yes' is the default)]),
268 [AS_IF([test "x$enableval" = "xyes"], [],
269 [test "x$enableval" = "xno"], [AC_DEFINE([GNUNET_CULL_LOGGING],[],[Define to cull all logging calls])],
270 [test "x$enableval" = "xverbose"], [extra_logging=GNUNET_YES]
271 [test "x$enableval" = "xveryverbose"], [extra_logging=\(GNUNET_YES+1\)])
273 AC_DEFINE_UNQUOTED([GNUNET_EXTRA_LOGGING],[$extra_logging],[1 if extra logging is enabled, 2 for very verbose extra logging, 0 otherwise])
275 # should memory poisoning be enabled?
276 AC_MSG_CHECKING(whether to poison freed memory)
277 AC_ARG_ENABLE([poisoning],
278 [AS_HELP_STRING([--enable-poisoning], [enable poisoning of freed memory (good for debugging)])],
279 [enable_poisoning=${enableval}],
281 if test "x$extra_logging" != "xGNUNET_NO"; then
282 enable_poisoning="defaults to yes (extra logging is enabled)"
287 AC_MSG_RESULT($enable_poisoning)
288 if test ! "x$enable_poisoning" = "xno"; then
293 AC_DEFINE_UNQUOTED([ENABLE_POISONING],[$enable_poisoning],[1 if freed memory should be poisoned, 0 otherwise])
295 if test $build = $target
297 AC_MSG_CHECKING([for working HMAC])
299 LIBS="$LIBS $LIBGCRYPT_LIBS"
300 CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
302 [AC_LANG_PROGRAM([#include <gcrypt.h>
303 #include <stdio.h>], [[
306 unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
307 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
308 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
309 unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
310 unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
311 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
312 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
313 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
314 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
315 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
317 if (!gcry_check_version (GCRYPT_VERSION))
319 fprintf (stderr, "Version mismatch %s <-> %s \n", gcry_check_version (NULL), GCRYPT_VERSION);
323 gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
324 gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
326 if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
328 fprintf (stderr, "gcry_md_open error\n");
332 gcry_md_setkey (mac, key, sizeof (key));
333 gcry_md_write (mac, data, sizeof (data));
335 if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
337 fprintf (stderr, "memcmp error\n");
345 [AC_MSG_RESULT([yes])],
350 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.])
354 AC_MSG_FAILURE([HMAC test failed])
358 AC_MSG_FAILURE([libgcrypt header version does not match library version])
362 fi # $build = $target
365 LIBCURL_CHECK_CONFIG(,7.21.3,curl=1,curl=0)
368 AM_CONDITIONAL(HAVE_LIBCURL, true)
369 AC_DEFINE([HAVE_LIBCURL],[1],[Have libcurl])
371 AM_CONDITIONAL(HAVE_LIBCURL, false)
376 AC_MSG_CHECKING([if Libidn can be used])
377 AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
378 [Support IDN (needs GNU Libidn)]),
379 libidn=$withval, libidn=yes)
380 if test "$libidn" != "no"; then
381 if test "$libidn" != "yes"; then
382 LDFLAGS="${LDFLAGS} -L$libidn/lib"
383 CPPFLAGS="${CPPFLAGS} -I$libidn/include"
385 AC_CHECK_HEADER(idna.h,
386 AC_CHECK_LIB(idn, stringprep_check_version,
387 [libidn=yes LIBS="${LIBS} -lidn"], libidn=no),
390 AM_CONDITIONAL([HAVE_LIBIDN], [test "$libidn" != "no"])
391 AC_MSG_RESULT($libidn)
399 AC_CHECK_HEADERS([glpk.h],[glpk=true],[gplk=false])
400 # GLPK must support glpk_init_env, version >= 4.43
401 AC_CHECK_LIB([glpk],[glp_init_env],,[gplk=false])
402 # GLPK must support atm MLP presolving, version >= 4.32
403 AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include <glpk.h>]])
404 if test x$gplk = xfalse
406 AM_CONDITIONAL(HAVE_LIBGLPK, false)
407 AC_MSG_WARN([GNUnet requires GLPK >= 4.32])
409 AM_CONDITIONAL(HAVE_LIBGLPK, true)
410 AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
414 # Minimum required version for glibtop is 2.6.0
415 AM_PATH_GLIB_2_0(2.6.0, [glib2=true] , [glib2=false] ,)
416 if test x$glib2 = xfalse
418 AM_CONDITIONAL(HAVE_GLIB2, false)
419 AC_MSG_WARN([GNUnet requires GLIB >= 2.6.0])
421 AM_CONDITIONAL(HAVE_GLIB2, true)
422 AC_DEFINE([HAVE_GLIB2],[1],[Have glib2])
423 LIBS="$LIBS $GLIB_LIBS"
424 CFLAGS="$CFLAGS $GLIB_CFLAGS"
427 AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false])
428 if test x$nss = xfalse
430 AM_CONDITIONAL(HAVE_GLIBCNSS, false)
431 AC_MSG_WARN([No GNU libc nss header, will not build NSS plugin])
433 AM_CONDITIONAL(HAVE_GLIBCNSS, true)
438 # test for kvm and kstat (for CPU stats under BSD/Solaris)
439 AC_CHECK_LIB([kvm],[kvm_open])
440 AC_CHECK_LIB([kstat],[kstat_open])
442 # test for libextractor
444 AC_MSG_CHECKING(for libextractor)
445 AC_ARG_WITH(extractor,
446 [ --with-extractor=PFX base of libextractor installation],
447 [AC_MSG_RESULT([$with_extractor])
448 case $with_extractor in
452 AC_CHECK_HEADERS(extractor.h,
453 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
457 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
458 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
459 AC_CHECK_HEADERS(extractor.h,
460 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
461 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
466 [AC_MSG_RESULT([--with-extractor not specified])
467 AC_CHECK_HEADERS(extractor.h,
468 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
470 if test "$extractor" != 1
472 AC_MSG_ERROR([GNUnet requires libextractor])
477 # test for libunistring
479 if test $HAVE_LIBUNISTRING != yes; then
480 AC_MSG_ERROR([GNUnet requires libunistring])
482 if test $gl_libunistring_hexversion -le 2305; then
483 AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1])
490 # Checks for standard header files.
494 # Check for headers that are ALWAYS required
495 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]))
497 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
498 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 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])
500 SAVE_LDFLAGS=$LDFLAGS
501 SAVE_CPPFLAGS=$CPPFLAGS
505 AC_MSG_CHECKING(for SQLite)
507 [ --with-sqlite=PFX base of SQLite installation],
508 [AC_MSG_RESULT("$with_sqlite")
513 AC_CHECK_HEADERS(sqlite3.h,
517 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
518 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
519 AC_CHECK_HEADERS(sqlite3.h,
520 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
521 SQLITE_LDFLAGS="-L$with_sqlite/lib"
522 SQLITE_CPPFLAGS="-I$with_sqlite/include"
524 LDFLAGS=$SAVE_LDFLAGS
525 CPPFLAGS=$SAVE_CPPFLAGS
529 [AC_MSG_RESULT([--with-sqlite not specified])
530 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
531 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
532 AC_SUBST(SQLITE_CPPFLAGS)
533 AC_SUBST(SQLITE_LDFLAGS)
537 AC_MSG_CHECKING(for postgres)
538 AC_ARG_WITH(postgres,
539 [ --with-postgres=PFX base of postgres installation],
540 [AC_MSG_RESULT("$with_postgres")
541 case $with_postgres in
545 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
549 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
550 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
551 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
552 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
553 POSTGRES_LDFLAGS="-L$with_postgres/lib"
554 POSTGRES_CPPFLAGS="-I$with_postgres/include"
556 LDFLAGS=$SAVE_LDFLAGS
557 CPPFLAGS=$SAVE_CPPFLAGS
561 [AC_MSG_RESULT([--with-postgres not specified])
562 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
563 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
564 AC_SUBST(POSTGRES_CPPFLAGS)
565 AC_SUBST(POSTGRES_LDFLAGS)
568 SAVE_LDFLAGS=$LDFLAGS
569 SAVE_CPPFLAGS=$CPPFLAGS
571 [ --with-zlib[[=DIR]] use libz in DIR],
572 [AS_IF([test "$withval" = "no"],
573 [AC_MSG_ERROR([GNUnet requires zlib])],
574 [test "$withval" != "yes"],
577 CPPFLAGS="${CPPFLAGS} -I$withval/include"
578 LDFLAGS="${LDFLAGS} -L$withval/lib"
581 AC_CHECK_HEADER(zlib.h,
583 [AC_MSG_ERROR([GNUnet requires zlib])])
584 AC_CHECK_LIB(z, compress2,
586 AC_DEFINE([HAVE_ZLIB], [], [Have compression library])
587 if test "x${Z_DIR}" != "x"; then
588 Z_CFLAGS="-I${Z_DIR}/include"
589 Z_LIBS="-L${Z_DIR}/lib -lz"
593 [AC_MSG_ERROR([GNUnet requires zlib])])
597 LDFLAGS=$SAVE_LDFLAGS
598 CPPFLAGS=$SAVE_CPPFLAGS
601 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
602 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
604 if test "$build_target" = "mingw"
606 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
612 SAVE_LDFLAGS=$LDFLAGS
613 SAVE_CPPFLAGS=$CPPFLAGS
614 AC_MSG_CHECKING(for mysql)
616 [ --with-mysql=PFX base of MySQL installation],
617 [AC_MSG_RESULT("$with_mysql")
618 if test "$with_mysql" != "no"
620 if test "$with_mysql" != "yes"
622 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
623 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
625 AC_CHECK_HEADERS(mysql/mysql.h,
626 AC_CHECK_LIB(mysqlclient, mysql_init,
627 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
628 MYSQL_CPPFLAGS="-I$with_mysql/include"
630 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
633 [AC_MSG_RESULT([--with-mysql not specified])
634 if test -d "/usr/lib64/mysql"; then
635 MYSQL_LIBDIR="/usr/lib64/mysql"
636 elif test -d "/usr/lib/mysql"; then
637 MYSQL_LIBDIR="/usr/lib/mysql"
639 MYSQL_LIBDIR="/usr/lib"
641 LDFLAGS="-L$MYSQL_LIBDIR $LDFLAGS $ZLIBS"
642 AC_CHECK_LIB(mysqlclient, mysql_init,
643 [AC_CHECK_HEADERS(mysql/mysql.h,
644 MYSQL_LDFLAGS="-L$MYSQL_LIBDIR"
647 , [], [$CYGWIN_MYSQL_MAGIC])])
650 AC_SUBST(MYSQL_LDFLAGS)
651 AC_SUBST(MYSQL_CPPFLAGS)
653 # additional version check for mysql
654 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
655 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
657 AC_MSG_CHECKING(mysql version)
658 AC_RUN_IFELSE([AC_LANG_PROGRAM(
659 [[$CYGWIN_MYSQL_MAGIC
660 #include <mysql/mysql.h>]],
661 [[if (MYSQL_VERSION_ID < 40100)
666 ],mysql=true,mysql=false)
667 if test "$mysql" = "false"
670 AC_MSG_RESULT([fail, >= 4.1 required])
675 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
676 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
679 LDFLAGS=$SAVE_LDFLAGS
680 CPPFLAGS=$SAVE_CPPFLAGS
682 if test "$sqlite" = 0 -a "$mysql" = 0
684 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
689 AC_MSG_CHECKING([for libmicrohttpd])
690 AC_ARG_WITH(microhttpd,
691 [ --with-microhttpd=PFX base of libmicrohttpd installation],
692 [AC_MSG_RESULT([$with_microhttpd])
693 case $with_microhttpd in
697 AC_CHECK_HEADERS([microhttpd.h],
698 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
699 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
700 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
702 #include "$native_srcdir/src/include/platform.h"
703 #include <microhttpd.h>
704 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
707 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
708 [],[#include "$native_srcdir/src/include/platform.h"
709 #include <microhttpd.h>]),,
710 [#include "$native_srcdir/src/include/platform.h"])
713 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
714 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
715 AC_CHECK_HEADERS(microhttpd.h,
716 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
717 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
718 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
719 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
721 #include "$native_srcdir/src/include/platform.h"
722 #include <microhttpd.h>
723 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
726 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
727 [],[#include "$native_srcdir/src/include/platform.h"
728 #include <microhttpd.h>]),,
729 [#include "$native_srcdir/src/include/platform.h"])
733 [AC_MSG_RESULT([--with-microhttpd not specified])
734 AC_CHECK_HEADERS([microhttpd.h],
735 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
736 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
737 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
739 #include "$native_srcdir/src/include/platform.h"
740 #include <microhttpd.h>
741 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
744 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
745 [],[#include "$native_srcdir/src/include/platform.h"
746 #include <microhttpd.h>]),,
747 [#include "$native_srcdir/src/include/platform.h"])])
748 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
749 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
755 # check for python & pexpect (used for some testcases only)
756 AM_PATH_PYTHON([2.6],, [:])
757 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
760 AM_GNU_GETTEXT([external])
761 AM_GNU_GETTEXT_VERSION([0.16.1])
766 # Checks for standard typedefs, structures, and compiler characteristics.
775 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
776 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
780 #include <sys/types.h>
781 #include <sys/socket.h>
782 #include <netinet/in.h>
787 # Checks for library functions.
788 AC_FUNC_CLOSEDIR_VOID
790 AC_PROG_GCC_TRADITIONAL
792 AC_FUNC_SELECT_ARGTYPES
802 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])
807 gn_user_home_dir="~/.gnunet"
808 AC_ARG_WITH(user-home-dir,
810 [--with-user-home-dir=DIR],
811 [default user home directory (~/.gnunet)]),
812 [gn_user_home_dir=$withval])
813 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
814 gn_daemon_home_dir="/var/lib/gnunet"
815 AC_ARG_WITH(daemon-home-dir,
817 [--with-daemon-home-dir=DIR],
818 [default daemon home directory (/var/lib/gnunet)]),
819 [gn_daemon_home_dir=$withval])
820 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
821 gn_daemon_config_dir="/etc"
822 AC_ARG_WITH(daemon-config-dir,
824 [--with-daemon-config-dir=DIR],
825 [default daemon config directory (/etc)]),
826 [gn_daemon_config_dir=$withval])
827 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
830 GN_LIBINTL="$LTLIBINTL"
831 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
832 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
833 if test x$enable_framework_build = xyes
835 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
836 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
837 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
838 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
841 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
842 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
844 AC_SUBST(GN_LIB_LDFLAGS)
845 AC_SUBST(GN_PLUGIN_LDFLAGS)
846 AC_SUBST(GN_INTLINCL)
852 AC_SUBST(EXT_LIB_PATH)
857 AC_SUBST(EXT_LIB_PATH)
861 AC_MSG_CHECKING(for sudo)
863 [ --with-sudo=PATH path to sudo binary (or just yes)],
864 [AC_MSG_RESULT("$with_sudo")
873 SUDO_BINARY=$with_sudo
877 [AC_MSG_RESULT([no])])
878 AC_SUBST(SUDO_BINARY)
879 AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /])
883 AC_MSG_CHECKING(with nssdir)
885 [ --with-nssdir=PATH where to install NSS plugins],
886 [AC_MSG_RESULT("$with_nssdir")
903 if test "x$SUDO_BINARY" != "x" -o -w /
907 AC_MSG_RESULT([yes, to /lib])
915 AM_CONDITIONAL([INSTALL_NSS], [test "x$install_nss" != "x0"])
917 # test for gnunetdns group name
918 GNUNETDNS_GROUP=gnunetdns
919 AC_MSG_CHECKING(for gnunetdns group name)
920 AC_ARG_WITH(gnunetdns,
921 [ --with-gnunetdns=GRPNAME name for gnunetdns group],
922 [AC_MSG_RESULT("$with_gnunetdns")
923 case $with_gnunetdns in
925 GNUNETDNS_GROUP=gnunet
928 GNUNETDNS_GROUP=gnunetdns
931 GNUNETDNS_GROUP=$with_gnunetdns
935 [AC_MSG_RESULT([gnunetdns])])
936 AC_SUBST(GNUNETDNS_GROUP)
942 AC_MSG_CHECKING(for gnutls)
944 [ --with-gnutls=PFX base of gnutls installation],
945 [AC_MSG_RESULT([$with_gnutls])
950 AC_CHECK_HEADERS([gnutls/abstract.h],
951 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
955 LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
956 CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
957 AC_CHECK_HEADERS([gnutls/abstract.h],
958 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
959 EXT_LIB_PATH="-L$with_gnutls/lib $EXT_LIB_PATH"
964 [AC_MSG_RESULT([--with-gnutls not specified])
965 AC_CHECK_HEADERS([gnutls/abstract.h],
966 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
968 AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
969 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have gnutls])
972 # Test if we are building for superMUC
973 AC_MSG_CHECKING(if testbed should use IBM LoadLeveler to run on SuperMUC)
975 [AS_HELP_STRING([--enable-ll],
976 [build GNUnet testbed for use with IBM LoadLeveler for running testbed on
977 SuperMUC (default is NO)])],
978 [if test "x$enable_ll" = "xno"
986 AC_MSG_RESULT($enable_ll)
987 AM_CONDITIONAL([ENABLE_LL], [test "x$ll" = "x1"])
988 AC_DEFINE_UNQUOTED([ENABLE_LL], [$ll], [Build with LL support])
990 # Check if NSE has to send timestamp information to testbed logger for
991 # generating histogram of messages received
992 AC_MSG_CHECKING(if NSE has to send timestamp information to testbed logger)
993 AC_ARG_ENABLE([nse-histogram],
994 [AS_HELP_STRING([--enable-nse-histogram],
995 [have NSE send timestamp information to testbed logger for generating
996 histogram of received messages. NOT useful for production (default is
998 [if test "x$enableval" = "xno"
1005 enable_nse_histogram=no])
1006 AC_MSG_RESULT($enable_nse_histogram)
1007 AM_CONDITIONAL([ENABLE_NSE_HISTOGRAM], [test "x$nse_histogram" = "x1"])
1008 AC_DEFINE_UNQUOTED([ENABLE_NSE_HISTOGRAM], [$nse_histogram],
1009 [have NSE send timestamp information to testbed logger])
1011 # should 'make check' run tests?
1012 AC_MSG_CHECKING(whether to run tests)
1013 AC_ARG_ENABLE([testruns],
1014 [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
1015 [enable_tests_run=${enableval}],
1016 [enable_tests_run=yes])
1017 AC_MSG_RESULT($enable_test_run)
1018 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
1021 # should monkey be used when running (certain) services?
1022 AC_MSG_CHECKING(whether to run with monkey)
1023 AC_ARG_ENABLE([monkey],
1024 [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
1025 [enable_monkey=${enableval}],
1027 AC_MSG_RESULT($enable_monkey)
1028 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
1029 if test "x$enable_monkey" = "xyes"
1031 MONKEYPREFIX="monkey"
1035 AC_SUBST(MONKEYPREFIX)
1038 # should expensive tests be run?
1039 AC_MSG_CHECKING(whether to run expensive tests)
1040 AC_ARG_ENABLE([expensivetests],
1041 [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
1042 [enable_expensive=${enableval}],
1043 [enable_expensive=no])
1044 AC_MSG_RESULT($enable_expensive)
1045 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
1047 # should ports be open for Java services?
1048 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
1049 AC_ARG_ENABLE([javaports],
1050 [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
1051 [enable_java_ports=${enableval}],
1052 [enable_java_ports=no])
1053 AC_MSG_RESULT($enable_java_ports)
1054 if test "x$enable_java_ports" = "xyes"
1058 JAVAPORT="$UNIXONLY"
1062 # should benchmarks be run?
1063 AC_MSG_CHECKING(whether to run benchmarks during make check)
1064 AC_ARG_ENABLE([benchmarks],
1065 [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
1066 [enable_benchmarks=${enableval}],
1067 [enable_benchmarks=no])
1068 AC_MSG_RESULT($enable_benchmarks)
1069 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
1071 # should experimental code be compiled (code that may not yet compile)?
1072 AC_MSG_CHECKING(whether to compile experimental code)
1073 AC_ARG_ENABLE([experimental],
1074 [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
1075 [enable_experimental=${enableval}],
1076 [enable_experimental=no])
1077 AC_MSG_RESULT($enable_experimental)
1078 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
1080 # should memory statistics be kept (very expensive CPU-wise!)
1081 AC_MSG_CHECKING(whether to create expensive statistics on memory use)
1082 AC_ARG_ENABLE([heapstats],
1083 [AS_HELP_STRING([--enable-heapstats], [enable expensive heap statistics])],
1084 [enable_heapstats=1],
1085 [enable_heapstats=0])
1086 AC_MSG_RESULT($enable_heapstats)
1087 AC_DEFINE_UNQUOTED([ENABLE_HEAP_STATISTICS],$enable_heapstats,[enable expensive heap statistics])
1089 # should code be enabled that works around missing OS functionality on Windows?
1090 # used for test cases
1091 if test $build_target = "mingw"
1097 [#include <ws2tcpip.h>
1099 int s = socket (0, 0, 0);])
1101 AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
1103 AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
1108 [#include <ws2tcpip.h>
1110 int s = select (0, NULL, NULL, NULL, NULL);])
1112 AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
1114 AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
1119 [#include <ws2tcpip.h>
1122 char *s = inet_ntoa (i);])
1124 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
1126 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
1131 [#include <ws2tcpip.h>
1133 int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
1135 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
1137 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
1142 [#include <ws2tcpip.h>
1144 int s = gethostname (NULL, 0);])
1146 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
1148 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
1153 [#include <ws2tcpip.h>
1155 void *s = gethostbyname (NULL);])
1157 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
1159 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
1164 [#include <ws2tcpip.h>
1166 void *s = gethostbyaddr (NULL, 0, 0);])
1168 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
1170 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
1175 [#include <ws2tcpip.h>
1177 int s = getaddrinfo (NULL, NULL, NULL, NULL);])
1179 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1181 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1185 AC_MSG_CHECKING(whether to enable windows workarounds)
1186 AC_ARG_ENABLE([windows_workarounds],
1187 [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
1188 [enable_workarounds=${enableval}],
1189 [enable_workarounds=no])
1190 AC_MSG_RESULT($enable_workarounds)
1191 if test x$enable_windows_workarounds = "xyes"
1198 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
1201 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
1202 AC_ARG_ENABLE([coverage],
1203 AS_HELP_STRING([--enable-coverage],
1204 [compile the library with code coverage support]),
1205 [use_gcov=${enableval}],
1207 AC_MSG_RESULT($use_gcov)
1208 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
1212 AC_PATH_PROG(svnversioncommand, svnversion)
1213 AC_PATH_PROG(gitcommand, git)
1214 if test "X$svnversioncommand" = "X" || test `$svnversioncommand -n '.'` = "exported"
1216 if test "X$gitcommand" = "X"
1218 AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
1220 gitver=$(git log -1 | grep "git-svn-id" | sed -e 's/.*@\([[0-9]]\+\) .*/\1/')
1221 if test "X$gitver" = "X"
1223 AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
1225 AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-$gitver"], [repository svn version])
1229 AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-`svnversion -n`"], [repository svn version])
1244 src/ats-tool/Makefile
1248 src/consensus/Makefile
1249 src/consensus/consensus.conf
1250 src/datacache/Makefile
1251 src/datastore/Makefile
1252 src/datastore/datastore.conf
1260 src/experimentation/Makefile
1261 src/experimentation/experimentation.conf
1262 src/fragmentation/Makefile
1267 src/gns/nss/Makefile
1269 src/include/Makefile
1270 src/include/gnunet_directories.h
1271 src/hostlist/Makefile
1272 src/lockmanager/Makefile
1273 src/lockmanager/lockmanager.conf
1277 src/namestore/Makefile
1278 src/namestore/namestore.conf
1282 src/peerinfo/Makefile
1283 src/peerinfo/peerinfo.conf
1284 src/peerinfo-tool/Makefile
1285 src/postgres/Makefile
1288 src/regex/regex.conf
1291 src/statistics/Makefile
1292 src/statistics/statistics.conf
1294 src/template/Makefile
1295 src/testbed/Makefile
1296 src/testbed/testbed.conf
1297 src/testing/Makefile
1298 src/topology/Makefile
1299 src/transport/Makefile
1300 src/transport/transport.conf
1303 src/util/resolver.conf
1306 src/integration-tests/Makefile
1308 pkgconfig/gnunetats.pc
1309 pkgconfig/gnunetarm.pc
1310 pkgconfig/gnunetblock.pc
1311 pkgconfig/gnunetcore.pc
1312 pkgconfig/gnunetdatacache.pc
1313 pkgconfig/gnunetdatastore.pc
1314 pkgconfig/gnunetdht.pc
1315 pkgconfig/gnunetdns.pc
1316 pkgconfig/gnunetdnsparser.pc
1317 pkgconfig/gnunetdv.pc
1318 pkgconfig/gnunetfragmentation.pc
1319 pkgconfig/gnunetfs.pc
1320 pkgconfig/gnunetgns.pc
1321 pkgconfig/gnunethello.pc
1322 pkgconfig/gnunetlockmanager.pc
1323 pkgconfig/gnunetmesh.pc
1324 pkgconfig/gnunetmysql.pc
1325 pkgconfig/gnunetnamestore.pc
1326 pkgconfig/gnunetnat.pc
1327 pkgconfig/gnunetnse.pc
1328 pkgconfig/gnunetpeerinfo.pc
1329 pkgconfig/gnunetpostgres.pc
1330 pkgconfig/gnunetregex.pc
1331 pkgconfig/gnunetstatistics.pc
1332 pkgconfig/gnunetstream.pc
1333 pkgconfig/gnunettestbed.pc
1334 pkgconfig/gnunettesting.pc
1335 pkgconfig/gnunettransport.pc
1336 pkgconfig/gnunettun.pc
1337 pkgconfig/gnunetutil.pc
1338 pkgconfig/gnunetvpn.pc
1344 # warn user if mysql found but not used due to version
1345 if test "$mysqlfail" = "true"
1347 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1351 if test "x$sqlite" = "x0"
1353 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
1357 if test "x$curl" = "x0"
1359 AC_MSG_NOTICE([NOTICE: libcurl not found. http client support will not be compiled.])
1363 if test x$gnutls != xtrue
1365 AC_MSG_NOTICE([NOTICE: gnutls not found, gnunet-gns-proxy will not be built])
1369 if test "x$enable_java_ports" = "xyes"
1371 AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1374 if test "x$lmhd" != "x1"
1376 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1379 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1381 if test "$enable_framework_build" = "yes"
1383 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1386 if test "x$SUDO_BINARY" = "x" -a ! -w /
1388 AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library])
1392 AC_MSG_NOTICE([********************************************
1393 Please make sure NOW that you have created a user and group 'gnunet'
1394 and additionally a group 'gnunetdns':
1398 Make sure that '/var/lib/gnunet' is owned (and writable) by user
1399 'gnunet'. Then, you can compile GNUnet with
1402 After that, run (if necessary as 'root')
1404 to install everything.
1406 Each GNUnet user should be added to the 'gnunet' group (may
1407 require fresh login to come into effect):
1408 adduser $USERNAME gnunet
1409 (run the above command as root once for each of your users, replacing
1410 "$USERNAME" with the respective login names). If you have a global IP
1411 address, no further configuration is required.
1413 Optionally, download and compile gnunet-gtk to get a GUI for
1414 file-sharing and configuration. This is particularly recommended
1415 if your network setup is non-trivial, as gnunet-setup can be
1416 used to test in the GUI if your network configuration is working.
1417 gnunet-setup should be run as the "gnunet" user under X. As it
1418 does very little with the network, running it as "root" is likely
1419 also harmless. You can also run it as a normal user, but then
1420 you have to copy ~/.gnunet/gnunet.conf" over to the "gnunet" user's
1421 home directory in the end.
1423 Once you have configured your peer, run (as the 'gnunet' user)
1425 to start the peer. You can then run the various GNUnet-tools as
1426 your "normal" user (who should only be in the group 'gnunet').
1427 ********************************************])