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
365 # check for bluetooth library
367 AC_CHECK_LIB(bluetooth, ba2str, bluetooth=1, bluetooth=0)
368 if test "$bluetooth" = 1
370 AM_CONDITIONAL(HAVE_LIBBLUETOOTH, true)
371 AC_DEFINE([HAVE_LIBBLUETOOTH],[1],[Have bluetooth library])
373 AM_CONDITIONAL(HAVE_LIBBLUETOOTH, false)
378 LIBCURL_CHECK_CONFIG(,7.21.3,curl=1,curl=0)
381 AM_CONDITIONAL(HAVE_LIBCURL, true)
382 AC_DEFINE([HAVE_LIBCURL],[1],[Have libcurl])
384 AM_CONDITIONAL(HAVE_LIBCURL, false)
389 AC_MSG_CHECKING([if Libidn can be used])
390 AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
391 [Support IDN (needs GNU Libidn)]),
392 libidn=$withval, libidn=yes)
393 if test "$libidn" != "no"; then
394 if test "$libidn" != "yes"; then
395 LDFLAGS="${LDFLAGS} -L$libidn/lib"
396 CPPFLAGS="${CPPFLAGS} -I$libidn/include"
398 AC_CHECK_HEADER(idna.h,
399 AC_CHECK_LIB(idn, stringprep_check_version,
400 [libidn=yes LIBS="${LIBS} -lidn"],
401 AC_MSG_FAILURE([GNUnet requires libidn])),
402 AC_MSG_FAILURE([GNUnet requires libidn]))
404 AC_MSG_RESULT($libidn)
410 AC_CHECK_HEADERS([glpk.h],[glpk=true],[gplk=false])
411 # GLPK must support glpk_init_env, version >= 4.43
412 AC_CHECK_LIB([glpk],[glp_init_env],,[gplk=false])
413 # GLPK must support atm MLP presolving, version >= 4.32
414 AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include <glpk.h>]])
415 if test x$gplk = xfalse
417 AM_CONDITIONAL(HAVE_LIBGLPK, false)
418 AC_MSG_WARN([GNUnet requires GLPK >= 4.32])
420 AM_CONDITIONAL(HAVE_LIBGLPK, true)
421 AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
425 # Minimum required version for glibtop is 2.6.0
426 AM_PATH_GLIB_2_0(2.6.0, [glib2=true] , [glib2=false] ,)
427 if test x$glib2 = xfalse
429 AM_CONDITIONAL(HAVE_GLIB2, false)
430 AC_MSG_WARN([GNUnet requires GLIB >= 2.6.0])
432 AM_CONDITIONAL(HAVE_GLIB2, true)
433 AC_DEFINE([HAVE_GLIB2],[1],[Have glib2])
434 LIBS="$LIBS $GLIB_LIBS"
435 CFLAGS="$CFLAGS $GLIB_CFLAGS"
438 AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false])
439 if test x$nss = xfalse
441 AM_CONDITIONAL(HAVE_GLIBCNSS, false)
442 AC_MSG_WARN([No GNU libc nss header, will not build NSS plugin])
444 AM_CONDITIONAL(HAVE_GLIBCNSS, true)
449 # test for kvm and kstat (for CPU stats under BSD/Solaris)
450 AC_CHECK_LIB([kvm],[kvm_open])
451 AC_CHECK_LIB([kstat],[kstat_open])
453 # test for libextractor
455 AC_MSG_CHECKING(for libextractor)
456 AC_ARG_WITH(extractor,
457 [ --with-extractor=PFX base of libextractor installation],
458 [AC_MSG_RESULT([$with_extractor])
459 case $with_extractor in
463 AC_CHECK_HEADERS(extractor.h,
464 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
468 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
469 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
470 AC_CHECK_HEADERS(extractor.h,
471 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
472 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
477 [AC_MSG_RESULT([--with-extractor not specified])
478 AC_CHECK_HEADERS(extractor.h,
479 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
481 if test "$extractor" != 1
483 AC_MSG_ERROR([GNUnet requires libextractor])
488 # test for libunistring
490 if test $HAVE_LIBUNISTRING != yes; then
491 AC_MSG_ERROR([GNUnet requires libunistring])
493 if test $gl_libunistring_hexversion -le 2305; then
494 AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1])
501 # Checks for standard header files.
505 # Check for headers that are ALWAYS required
506 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]))
509 # Check for libltdl header (#2999)
510 AC_CHECK_HEADERS([ltdl.h],,AC_MSG_ERROR([Compiling GNUnet requires libltdl headers (try installing libltdl-dev)]))
512 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
513 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])
515 SAVE_LDFLAGS=$LDFLAGS
516 SAVE_CPPFLAGS=$CPPFLAGS
520 AC_MSG_CHECKING(for SQLite)
522 [ --with-sqlite=PFX base of SQLite installation],
523 [AC_MSG_RESULT("$with_sqlite")
528 AC_CHECK_HEADERS(sqlite3.h,
532 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
533 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
534 AC_CHECK_HEADERS(sqlite3.h,
535 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
536 SQLITE_LDFLAGS="-L$with_sqlite/lib"
537 SQLITE_CPPFLAGS="-I$with_sqlite/include"
539 LDFLAGS=$SAVE_LDFLAGS
540 CPPFLAGS=$SAVE_CPPFLAGS
544 [AC_MSG_RESULT([--with-sqlite not specified])
545 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
546 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
547 AC_SUBST(SQLITE_CPPFLAGS)
548 AC_SUBST(SQLITE_LDFLAGS)
552 AC_MSG_CHECKING(for postgres)
553 AC_ARG_WITH(postgres,
554 [ --with-postgres=PFX base of postgres installation],
555 [AC_MSG_RESULT("$with_postgres")
556 case $with_postgres in
560 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
564 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
565 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
566 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
567 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
568 POSTGRES_LDFLAGS="-L$with_postgres/lib"
569 POSTGRES_CPPFLAGS="-I$with_postgres/include"
571 LDFLAGS=$SAVE_LDFLAGS
572 CPPFLAGS=$SAVE_CPPFLAGS
576 [AC_MSG_RESULT([--with-postgres not specified])
577 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
578 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
579 AC_SUBST(POSTGRES_CPPFLAGS)
580 AC_SUBST(POSTGRES_LDFLAGS)
583 SAVE_LDFLAGS=$LDFLAGS
584 SAVE_CPPFLAGS=$CPPFLAGS
586 [ --with-zlib[[=DIR]] use libz in DIR],
587 [AS_IF([test "$withval" = "no"],
588 [AC_MSG_ERROR([GNUnet requires zlib])],
589 [test "$withval" != "yes"],
592 CPPFLAGS="${CPPFLAGS} -I$withval/include"
593 LDFLAGS="${LDFLAGS} -L$withval/lib"
596 AC_CHECK_HEADER(zlib.h,
598 [AC_MSG_ERROR([GNUnet requires zlib])])
599 AC_CHECK_LIB(z, compress2,
601 AC_DEFINE([HAVE_ZLIB], [], [Have compression library])
602 if test "x${Z_DIR}" != "x"; then
603 Z_CFLAGS="-I${Z_DIR}/include"
604 Z_LIBS="-L${Z_DIR}/lib -lz"
608 [AC_MSG_ERROR([GNUnet requires zlib])])
612 LDFLAGS=$SAVE_LDFLAGS
613 CPPFLAGS=$SAVE_CPPFLAGS
616 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
617 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
619 if test "$build_target" = "mingw"
621 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
627 SAVE_LDFLAGS=$LDFLAGS
628 SAVE_CPPFLAGS=$CPPFLAGS
629 AC_MSG_CHECKING(for mysql)
631 [ --with-mysql=PFX base of MySQL installation],
632 [AC_MSG_RESULT("$with_mysql")
633 if test "$with_mysql" != "no"
635 if test "$with_mysql" != "yes"
637 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
638 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
640 AC_CHECK_HEADERS(mysql/mysql.h,
641 AC_CHECK_LIB(mysqlclient, mysql_init,
642 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
643 MYSQL_CPPFLAGS="-I$with_mysql/include"
645 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
648 [AC_MSG_RESULT([--with-mysql not specified])
649 if test -d "/usr/lib64/mysql"; then
650 MYSQL_LIBDIR="/usr/lib64/mysql"
651 elif test -d "/usr/lib/mysql"; then
652 MYSQL_LIBDIR="/usr/lib/mysql"
654 MYSQL_LIBDIR="/usr/lib"
656 LDFLAGS="-L$MYSQL_LIBDIR $LDFLAGS $ZLIBS"
657 AC_CHECK_LIB(mysqlclient, mysql_init,
658 [AC_CHECK_HEADERS(mysql/mysql.h,
659 MYSQL_LDFLAGS="-L$MYSQL_LIBDIR"
662 , [], [$CYGWIN_MYSQL_MAGIC])])
665 AC_SUBST(MYSQL_LDFLAGS)
666 AC_SUBST(MYSQL_CPPFLAGS)
668 # additional version check for mysql
669 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
670 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
672 AC_MSG_CHECKING(mysql version)
673 AC_RUN_IFELSE([AC_LANG_PROGRAM(
674 [[$CYGWIN_MYSQL_MAGIC
675 #include <mysql/mysql.h>]],
676 [[if (MYSQL_VERSION_ID < 40100)
681 ],mysql=true,mysql=false)
682 if test "$mysql" = "false"
685 AC_MSG_RESULT([fail, >= 4.1 required])
690 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
691 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
694 LDFLAGS=$SAVE_LDFLAGS
695 CPPFLAGS=$SAVE_CPPFLAGS
697 if test "$sqlite" = 0 -a "$mysql" = 0
699 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
704 AC_MSG_CHECKING([for libmicrohttpd])
705 AC_ARG_WITH(microhttpd,
706 [ --with-microhttpd=PFX base of libmicrohttpd installation],
707 [AC_MSG_RESULT([$with_microhttpd])
708 case $with_microhttpd in
712 AC_CHECK_HEADERS([microhttpd.h],
713 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
714 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
715 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
717 #include "$native_srcdir/src/include/platform.h"
718 #include <microhttpd.h>
719 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
722 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
723 [],[#include "$native_srcdir/src/include/platform.h"
724 #include <microhttpd.h>]),,
725 [#include "$native_srcdir/src/include/platform.h"])
728 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
729 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
730 AC_CHECK_HEADERS(microhttpd.h,
731 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
732 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
733 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
734 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
736 #include "$native_srcdir/src/include/platform.h"
737 #include <microhttpd.h>
738 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
741 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
742 [],[#include "$native_srcdir/src/include/platform.h"
743 #include <microhttpd.h>]),,
744 [#include "$native_srcdir/src/include/platform.h"])
748 [AC_MSG_RESULT([--with-microhttpd not specified])
749 AC_CHECK_HEADERS([microhttpd.h],
750 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
751 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
752 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
754 #include "$native_srcdir/src/include/platform.h"
755 #include <microhttpd.h>
756 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
759 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
760 [],[#include "$native_srcdir/src/include/platform.h"
761 #include <microhttpd.h>]),,
762 [#include "$native_srcdir/src/include/platform.h"])])
763 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
764 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
770 # check for python & pexpect (used for some testcases only)
771 AM_PATH_PYTHON([2.6],, [:])
772 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
775 AM_GNU_GETTEXT([external])
776 AM_GNU_GETTEXT_VERSION([0.16.1])
781 # Checks for standard typedefs, structures, and compiler characteristics.
790 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
791 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
795 #include <sys/types.h>
796 #include <sys/socket.h>
797 #include <netinet/in.h>
802 # Checks for library functions.
803 AC_FUNC_CLOSEDIR_VOID
805 AC_PROG_GCC_TRADITIONAL
807 AC_FUNC_SELECT_ARGTYPES
817 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])
822 gn_user_home_dir="~/.gnunet"
823 AC_ARG_WITH(user-home-dir,
825 [--with-user-home-dir=DIR],
826 [default user home directory (~/.gnunet)]),
827 [gn_user_home_dir=$withval])
828 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
829 gn_daemon_home_dir="/var/lib/gnunet"
830 AC_ARG_WITH(daemon-home-dir,
832 [--with-daemon-home-dir=DIR],
833 [default daemon home directory (/var/lib/gnunet)]),
834 [gn_daemon_home_dir=$withval])
835 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
836 gn_daemon_config_dir="/etc"
837 AC_ARG_WITH(daemon-config-dir,
839 [--with-daemon-config-dir=DIR],
840 [default daemon config directory (/etc)]),
841 [gn_daemon_config_dir=$withval])
842 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
845 GN_LIBINTL="$LTLIBINTL"
846 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
847 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
848 if test x$enable_framework_build = xyes
850 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
851 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
852 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
853 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
856 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
857 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
859 AC_SUBST(GN_LIB_LDFLAGS)
860 AC_SUBST(GN_PLUGIN_LDFLAGS)
861 AC_SUBST(GN_INTLINCL)
867 AC_SUBST(EXT_LIB_PATH)
872 AC_SUBST(EXT_LIB_PATH)
876 AC_MSG_CHECKING(for sudo)
878 [ --with-sudo=PATH path to sudo binary (or just yes)],
879 [AC_MSG_RESULT("$with_sudo")
888 SUDO_BINARY=$with_sudo
892 [AC_MSG_RESULT([no])])
893 AC_SUBST(SUDO_BINARY)
894 AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /])
898 AC_MSG_CHECKING(with nssdir)
900 [ --with-nssdir=PATH where to install NSS plugins],
901 [AC_MSG_RESULT("$with_nssdir")
918 if test "x$SUDO_BINARY" != "x" -o -w /
922 AC_MSG_RESULT([yes, to /lib])
930 AM_CONDITIONAL([INSTALL_NSS], [test "x$install_nss" != "x0"])
932 # test for gnunetdns group name
933 GNUNETDNS_GROUP=gnunetdns
934 AC_MSG_CHECKING(for gnunetdns group name)
935 AC_ARG_WITH(gnunetdns,
936 [ --with-gnunetdns=GRPNAME name for gnunetdns group],
937 [AC_MSG_RESULT("$with_gnunetdns")
938 case $with_gnunetdns in
940 GNUNETDNS_GROUP=gnunet
943 GNUNETDNS_GROUP=gnunetdns
946 GNUNETDNS_GROUP=$with_gnunetdns
950 [AC_MSG_RESULT([gnunetdns])])
951 AC_SUBST(GNUNETDNS_GROUP)
957 AC_MSG_CHECKING(for gnutls)
959 [ --with-gnutls=PFX base of gnutls installation],
960 [AC_MSG_RESULT([$with_gnutls])
965 AC_CHECK_HEADERS([gnutls/abstract.h],
966 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
970 LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
971 CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
972 AC_CHECK_HEADERS([gnutls/abstract.h],
973 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
974 EXT_LIB_PATH="-L$with_gnutls/lib $EXT_LIB_PATH"
979 [AC_MSG_RESULT([--with-gnutls not specified])
980 AC_CHECK_HEADERS([gnutls/abstract.h],
981 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
983 AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
984 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have gnutls])
987 # Test if we are building for superMUC
988 AC_MSG_CHECKING(if testbed should use IBM LoadLeveler to run on SuperMUC)
990 [AS_HELP_STRING([--enable-ll],
991 [build GNUnet testbed for use with IBM LoadLeveler for running testbed on
992 SuperMUC (default is NO)])],
993 [if test "x$enable_ll" = "xno"
1001 AC_MSG_RESULT($enable_ll)
1002 AM_CONDITIONAL([ENABLE_LL], [test "x$ll" = "x1"])
1003 AC_DEFINE_UNQUOTED([ENABLE_LL], [$ll], [Build with LL support])
1005 # Check if NSE has to send timestamp information to testbed logger for
1006 # generating histogram of messages received
1007 AC_MSG_CHECKING(if NSE has to send timestamp information to testbed logger)
1008 AC_ARG_ENABLE([nse-histogram],
1009 [AS_HELP_STRING([--enable-nse-histogram],
1010 [have NSE send timestamp information to testbed logger for generating
1011 histogram of received messages. NOT useful for production (default is
1013 [if test "x$enableval" = "xno"
1020 enable_nse_histogram=no])
1021 AC_MSG_RESULT($enable_nse_histogram)
1022 AM_CONDITIONAL([ENABLE_NSE_HISTOGRAM], [test "x$nse_histogram" = "x1"])
1023 AC_DEFINE_UNQUOTED([ENABLE_NSE_HISTOGRAM], [$nse_histogram],
1024 [have NSE send timestamp information to testbed logger])
1026 # should 'make check' run tests?
1027 AC_MSG_CHECKING(whether to run tests)
1028 AC_ARG_ENABLE([testruns],
1029 [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
1030 [enable_tests_run=${enableval}],
1031 [enable_tests_run=yes])
1032 AC_MSG_RESULT($enable_test_run)
1033 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
1036 # should monkey be used when running (certain) services?
1037 AC_MSG_CHECKING(whether to run with monkey)
1038 AC_ARG_ENABLE([monkey],
1039 [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
1040 [enable_monkey=${enableval}],
1042 AC_MSG_RESULT($enable_monkey)
1043 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
1044 if test "x$enable_monkey" = "xyes"
1046 MONKEYPREFIX="monkey"
1050 AC_SUBST(MONKEYPREFIX)
1053 # should expensive tests be run?
1054 AC_MSG_CHECKING(whether to run expensive tests)
1055 AC_ARG_ENABLE([expensivetests],
1056 [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
1057 [enable_expensive=${enableval}],
1058 [enable_expensive=no])
1059 AC_MSG_RESULT($enable_expensive)
1060 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
1062 # should ports be open for Java services?
1063 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
1064 AC_ARG_ENABLE([javaports],
1065 [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
1066 [enable_java_ports=${enableval}],
1067 [enable_java_ports=no])
1068 AC_MSG_RESULT($enable_java_ports)
1069 if test "x$enable_java_ports" = "xyes"
1073 JAVAPORT="$UNIXONLY"
1077 # should benchmarks be run?
1078 AC_MSG_CHECKING(whether to run benchmarks during make check)
1079 AC_ARG_ENABLE([benchmarks],
1080 [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
1081 [enable_benchmarks=${enableval}],
1082 [enable_benchmarks=no])
1083 AC_MSG_RESULT($enable_benchmarks)
1084 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
1086 # should gnunet-testing be compiled
1087 AC_MSG_CHECKING(wether to compile gnunet-testing)
1088 AC_ARG_ENABLE([testing],
1089 [AS_HELP_STRING([--disable-testing], [do not build gnunet-testing])],
1090 [enable_testing=${enableval}],
1091 [enable_testing=yes])
1092 AC_MSG_RESULT($enable_testing)
1093 AM_CONDITIONAL([HAVE_TESTING], [test "x$enable_testing" = "xyes"])
1095 # should experimental code be compiled (code that may not yet compile)?
1096 AC_MSG_CHECKING(whether to compile experimental code)
1097 AC_ARG_ENABLE([experimental],
1098 [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
1099 [enable_experimental=${enableval}],
1100 [enable_experimental=no])
1101 AC_MSG_RESULT($enable_experimental)
1102 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
1104 # should memory statistics be kept (very expensive CPU-wise!)
1105 AC_MSG_CHECKING(whether to create expensive statistics on memory use)
1106 AC_ARG_ENABLE([heapstats],
1107 [AS_HELP_STRING([--enable-heapstats], [enable expensive heap statistics])],
1108 [enable_heapstats=1],
1109 [enable_heapstats=0])
1110 AC_MSG_RESULT($enable_heapstats)
1111 AC_DEFINE_UNQUOTED([ENABLE_HEAP_STATISTICS],$enable_heapstats,[enable expensive heap statistics])
1113 # should code be enabled that works around missing OS functionality on Windows?
1114 # used for test cases
1115 if test $build_target = "mingw"
1121 [#include <ws2tcpip.h>
1123 int s = socket (0, 0, 0);])
1125 AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
1127 AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
1132 [#include <ws2tcpip.h>
1134 int s = select (0, NULL, NULL, NULL, NULL);])
1136 AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
1138 AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
1143 [#include <ws2tcpip.h>
1146 char *s = inet_ntoa (i);])
1148 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
1150 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
1155 [#include <ws2tcpip.h>
1157 int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
1159 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
1161 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
1166 [#include <ws2tcpip.h>
1168 int s = gethostname (NULL, 0);])
1170 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
1172 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
1177 [#include <ws2tcpip.h>
1179 void *s = gethostbyname (NULL);])
1181 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
1183 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
1188 [#include <ws2tcpip.h>
1190 void *s = gethostbyaddr (NULL, 0, 0);])
1192 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
1194 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
1199 [#include <ws2tcpip.h>
1201 int s = getaddrinfo (NULL, NULL, NULL, NULL);])
1203 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1205 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1209 AC_MSG_CHECKING(whether to enable windows workarounds)
1210 AC_ARG_ENABLE([windows_workarounds],
1211 [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
1212 [enable_workarounds=${enableval}],
1213 [enable_workarounds=no])
1214 AC_MSG_RESULT($enable_workarounds)
1215 if test x$enable_windows_workarounds = "xyes"
1222 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
1225 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
1226 AC_ARG_ENABLE([coverage],
1227 AS_HELP_STRING([--enable-coverage],
1228 [compile the library with code coverage support]),
1229 [use_gcov=${enableval}],
1231 AC_MSG_RESULT($use_gcov)
1232 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
1236 AC_PATH_PROG(svnversioncommand, svnversion)
1237 AC_PATH_PROG(gitcommand, git)
1238 if test "X$svnversioncommand" = "X" || test `$svnversioncommand -n '.'` = "exported"
1240 if test "X$gitcommand" = "X"
1242 AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
1244 gitver=$(git log -1 | grep "git-svn-id" | sed -e 's/.*@\([[0-9]]\+\) .*/\1/')
1245 if test "X$gitver" = "X"
1247 AC_DEFINE_UNQUOTED(VCS_VERSION, ["release"], [repository svn version])
1249 AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-$gitver"], [repository svn version])
1253 AC_DEFINE_UNQUOTED(VCS_VERSION, ["svn-`svnversion -n`"], [repository svn version])
1261 doc/doxygen/Makefile
1269 src/ats-tool/Makefile
1273 src/consensus/Makefile
1274 src/consensus/consensus.conf
1275 src/datacache/Makefile
1276 src/datastore/Makefile
1277 src/datastore/datastore.conf
1285 src/experimentation/Makefile
1286 src/experimentation/experimentation.conf
1287 src/fragmentation/Makefile
1292 src/gns/nss/Makefile
1294 src/include/Makefile
1295 src/include/gnunet_directories.h
1296 src/identity/Makefile
1297 src/identity/identity.conf
1298 src/hostlist/Makefile
1299 src/lockmanager/Makefile
1300 src/lockmanager/lockmanager.conf
1304 src/namestore/Makefile
1305 src/namestore/namestore.conf
1309 src/peerinfo/Makefile
1310 src/peerinfo/peerinfo.conf
1311 src/peerinfo-tool/Makefile
1312 src/postgres/Makefile
1315 src/regex/regex.conf
1318 src/statistics/Makefile
1319 src/statistics/statistics.conf
1320 src/template/Makefile
1321 src/testbed/Makefile
1322 src/testbed/testbed.conf
1323 src/testing/Makefile
1324 src/topology/Makefile
1325 src/transport/Makefile
1326 src/transport/transport.conf
1329 src/util/resolver.conf
1332 src/integration-tests/Makefile
1334 pkgconfig/gnunetats.pc
1335 pkgconfig/gnunetarm.pc
1336 pkgconfig/gnunetblock.pc
1337 pkgconfig/gnunetcore.pc
1338 pkgconfig/gnunetdatacache.pc
1339 pkgconfig/gnunetdatastore.pc
1340 pkgconfig/gnunetdht.pc
1341 pkgconfig/gnunetdns.pc
1342 pkgconfig/gnunetdnsparser.pc
1343 pkgconfig/gnunetdv.pc
1344 pkgconfig/gnunetfragmentation.pc
1345 pkgconfig/gnunetfs.pc
1346 pkgconfig/gnunetgns.pc
1347 pkgconfig/gnunethello.pc
1348 pkgconfig/gnunetlockmanager.pc
1349 pkgconfig/gnunetmesh.pc
1350 pkgconfig/gnunetmysql.pc
1351 pkgconfig/gnunetnamestore.pc
1352 pkgconfig/gnunetnat.pc
1353 pkgconfig/gnunetnse.pc
1354 pkgconfig/gnunetpeerinfo.pc
1355 pkgconfig/gnunetpostgres.pc
1356 pkgconfig/gnunetregex.pc
1357 pkgconfig/gnunetstatistics.pc
1358 pkgconfig/gnunetstream.pc
1359 pkgconfig/gnunettestbed.pc
1360 pkgconfig/gnunettesting.pc
1361 pkgconfig/gnunettransport.pc
1362 pkgconfig/gnunettun.pc
1363 pkgconfig/gnunetutil.pc
1364 pkgconfig/gnunetvpn.pc
1370 # warn user if mysql found but not used due to version
1371 if test "$mysqlfail" = "true"
1373 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1377 if test "x$sqlite" = "x0"
1379 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
1383 if test "x$curl" = "x0"
1385 AC_MSG_NOTICE([NOTICE: libcurl not found. http client support will not be compiled.])
1389 if test "x$bluetooth" = "x0"
1391 AC_MSG_NOTICE([NOTICE: bluetooth library not found. bluetooth support will not be compiled.])
1395 if test x$gnutls != xtrue
1397 AC_MSG_NOTICE([NOTICE: gnutls not found, gnunet-gns-proxy will not be built])
1401 if test "x$enable_java_ports" = "xyes"
1403 AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1406 if test "x$lmhd" != "x1"
1408 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1411 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1413 if test "$enable_framework_build" = "yes"
1415 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1418 if test "x$SUDO_BINARY" = "x" -a ! -w /
1420 AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library])
1424 AC_MSG_NOTICE([********************************************
1425 Please make sure NOW that you have created a user and group 'gnunet'
1426 and additionally a group 'gnunetdns':
1430 Make sure that '/var/lib/gnunet' is owned (and writable) by user
1431 'gnunet'. Then, you can compile GNUnet with
1434 After that, run (if necessary as 'root')
1436 to install everything.
1438 Each GNUnet user should be added to the 'gnunet' group (may
1439 require fresh login to come into effect):
1440 adduser $USERNAME gnunet
1441 (run the above command as root once for each of your users, replacing
1442 "$USERNAME" with the respective login names). If you have a global IP
1443 address, no further configuration is required.
1445 Optionally, download and compile gnunet-gtk to get a GUI for
1446 file-sharing and configuration. This is particularly recommended
1447 if your network setup is non-trivial, as gnunet-setup can be
1448 used to test in the GUI if your network configuration is working.
1449 gnunet-setup should be run as the "gnunet" user under X. As it
1450 does very little with the network, running it as "root" is likely
1451 also harmless. You can also run it as a normal user, but then
1452 you have to copy ~/.gnunet/gnunet.conf" over to the "gnunet" user's
1453 home directory in the end.
1455 Once you have configured your peer, run (as the 'gnunet' user)
1457 to start the peer. You can then run the various GNUnet-tools as
1458 your "normal" user (who should only be in the group 'gnunet').
1459 ********************************************])