1 # This file is part of GNUnet.
2 # (C) 2001--2013 Christian Grothoff (and other contributing authors)
4 # GNUnet is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published
6 # by the Free Software Foundation; either version 3, or (at your
7 # option) any later version.
9 # GNUnet is distributed in the hope that it will be useful, but
10 # WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with GNUnet; see the file COPYING. If not, write to the
16 # Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 # Boston, MA 02111-1307, USA.
20 # Process this file with autoconf to produce a configure script.
24 # Checks for programs.
25 AC_INIT([gnunet], [0.9.5a], [bug-gnunet@gnu.org])
32 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
33 AC_CONFIG_HEADERS([gnunet_config.h])
34 AH_TOP([#define _GNU_SOURCE 1])
35 AC_CONFIG_MACRO_DIR([m4])
45 LT_INIT([disable-static dlopen win32-dll])
53 if test "$enable_shared" = "no"
55 AC_MSG_ERROR([GNUnet only works with shared libraries. Sorry.])
58 CFLAGS="-Wall $CFLAGS"
59 # use '-fno-strict-aliasing', but only if the compiler can take it
60 if gcc -fno-strict-aliasing -S -o /dev/null -xc /dev/null >/dev/null 2>&1;
62 CFLAGS="-fno-strict-aliasing $CFLAGS"
65 # Use Linux interface name unless the OS has a different preference
66 DEFAULT_INTERFACE="\"eth0\""
68 funcstocheck="getnameinfo gethostname gethostbyname gethostbyaddr getaddrinfo"
70 # Srcdir in a form that native compiler understands (i.e. DOS path on W32)
75 *darwin* | *rhapsody* | *macosx*)
76 AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system])
77 CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS"
78 CFLAGS="-no-cpp-precomp -fno-common $CFLAGS"
79 AC_MSG_WARN([The VPN application cannot be compiled on your OS])
81 DEFAULT_INTERFACE="\"en0\""
87 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
95 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
96 AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
97 CFLAGS="-D_THREAD_SAFE $CFLAGS"
98 build_target="freebsd"
104 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
105 AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
106 LIBS=`echo $LIBS | sed -e "s/-ldl//"`
107 build_target="openbsd"
113 AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
114 AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
120 AC_DEFINE_UNQUOTED(SOLARIS,1,[This is a Solaris system])
121 AC_DEFINE_UNQUOTED(_REENTRANT,1,[Need with solaris or errno doesnt work])
122 AC_CHECK_LIB(resolv, res_init)
123 AC_CHECK_LIB(rt, nanosleep)
124 build_target="solaris"
130 AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux kernel])
131 CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
138 AC_DEFINE_UNQUOTED(CYGWIN,1,[This is a Cygwin system])
139 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
140 AC_CHECK_LIB(intl, gettext)
141 LDFLAGS="$LDFLAGS -no-undefined"
142 CFLAGS="-mms-bitfields $CFLAGS"
143 build_target="cygwin"
150 AC_DEFINE_UNQUOTED(MINGW,1,[This is a MinGW system])
151 AC_DEFINE_UNQUOTED(WINDOWS,1,[This is a Windows system])
152 AC_DEFINE_UNQUOTED(_WIN32,1,[This is a Windows system])
153 AC_CHECK_LIB(intl, gettext)
154 LDFLAGS="$LDFLAGS -Wl,-no-undefined -Wl,--export-all-symbols"
155 LIBS="$LIBS -lws2_32 -lplibc -lgnurx -lole32"
156 CFLAGS="-mms-bitfields $CFLAGS"
157 CPPFLAGS="-D_WIN32_WINNT=0x0501 -DHAVE_STAT64=1 -D__USE_MINGW_ANSI_STDIO=1 $CPPFLAGS"
164 native_srcdir=$(cd $srcdir; pwd -W)
167 AC_DEFINE_UNQUOTED(GNU,1,[This is a GNU system])
172 AC_MSG_RESULT(Unrecognised OS $host_os)
173 AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
177 AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should be the default choice for the name of the first network interface])
178 AC_SUBST(DEFAULT_INTERFACE)
180 # Disable TCP-based IPC on systems that support UNIX domain
181 # sockets in default configuratin:
185 AC_MSG_CHECKING([for build target])
186 AM_CONDITIONAL(DARWIN, test "$build_target" = "darwin")
187 AM_CONDITIONAL(CYGWIN, test "$build_target" = "cygwin")
188 AM_CONDITIONAL(MINGW, test "$build_target" = "mingw")
189 AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
190 AM_CONDITIONAL(XFREEBSD, test "$build_target" = "freebsd")
191 AM_CONDITIONAL(OPENBSD, test "$build_target" = "openbsd")
192 AM_CONDITIONAL(LINUX, test "$build_target" = "linux")
193 AM_CONDITIONAL(GNU, test "$build_target" = "gnu")
195 AC_MSG_RESULT([$build_target])
196 AC_SUBST(build_target)
197 AM_CONDITIONAL([am__fastdepOBJC], false)
198 AC_UNALIGNED_64_ACCESS
200 # some other checks for standard libs
201 AC_SEARCH_LIBS([gethostbyname], [nsl ws2_32])
202 AC_CHECK_LIB(socket, socket)
204 AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
206 # 'save' libs; only those libs found so far will be
207 # linked against _everywhere_. For the others, we
208 # will be more selective!
211 # libgnurx (regex library for W32)
213 AC_CHECK_LIB(gnurx, regexec, gnurx=1)
214 if test "x$gnurx" = "x0" -a "x$build_target" = "xmingw"
216 AC_MSG_ERROR([on W32 GNUnet needs libgnurx])
222 NEED_LIBGCRYPT_VERSION=1.6.0
225 AM_PATH_LIBGCRYPT("$NEED_LIBGCRYPT_API:$NEED_LIBGCRYPT_VERSION", gcrypt=1)
226 AC_CHECK_DECLS([gcry_mpi_set_opaque_copy], [], [], [[#include <gcrypt.h>]])
232 *** You need libgcrypt to build this program.
233 ** This library is for example available at
234 *** ftp://ftp.gnupg.org/gcrypt/libgcrypt/
235 *** (at least version $NEED_LIBGCRYPT_VERSION (API $NEED_LIBGCRYPT_API)
239 AC_DEFINE_UNQUOTED([NEED_LIBGCRYPT_VERSION], "$NEED_LIBGCRYPT_VERSION", [required libgcrypt version])
241 # Adam shostack suggests the following for Windows:
242 # -D_FORTIFY_SOURCE=2 -fstack-protector-all
243 AC_ARG_ENABLE(gcc-hardening,
244 AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
245 [if test x$enableval = xyes; then
246 CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all"
247 CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
248 CFLAGS="$CFLAGS --param ssp-buffer-size=1"
249 LDFLAGS="$LDFLAGS -pie"
253 # Linker hardening options
254 # Currently these options are ELF specific - you can't use this with MacOSX
255 AC_ARG_ENABLE(linker-hardening,
256 AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
257 [if test x$enableval = xyes; then
258 LDFLAGS="$LDFLAGS -z relro -z now"
262 extra_logging=GNUNET_NO
263 AC_ARG_ENABLE([logging],
264 AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose,veryverbose ('yes' is the default)]),
265 [AS_IF([test "x$enableval" = "xyes"], [],
266 [test "x$enableval" = "xno"], [AC_DEFINE([GNUNET_CULL_LOGGING],[],[Define to cull all logging calls])],
267 [test "x$enableval" = "xverbose"], [extra_logging=GNUNET_YES]
268 [test "x$enableval" = "xveryverbose"], [extra_logging=\(GNUNET_YES+1\)])
270 AC_DEFINE_UNQUOTED([GNUNET_EXTRA_LOGGING],[$extra_logging],[1 if extra logging is enabled, 2 for very verbose extra logging, 0 otherwise])
272 # should memory poisoning be enabled?
273 AC_MSG_CHECKING(whether to poison freed memory)
274 AC_ARG_ENABLE([poisoning],
275 [AS_HELP_STRING([--enable-poisoning], [enable poisoning of freed memory (good for debugging)])],
276 [enable_poisoning=${enableval}],
278 if test "x$extra_logging" != "xGNUNET_NO"; then
279 enable_poisoning="defaults to yes (extra logging is enabled)"
284 AC_MSG_RESULT($enable_poisoning)
285 if test ! "x$enable_poisoning" = "xno"; then
290 AC_DEFINE_UNQUOTED([ENABLE_POISONING],[$enable_poisoning],[1 if freed memory should be poisoned, 0 otherwise])
292 if test $build = $target
294 AC_MSG_CHECKING([for working HMAC])
296 LIBS="$LIBS $LIBGCRYPT_LIBS"
297 CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
299 [AC_LANG_PROGRAM([#include <gcrypt.h>
300 #include <stdio.h>], [[
303 unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
304 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
305 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
306 unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
307 unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
308 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
309 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
310 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
311 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
312 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
314 if (!gcry_check_version (GCRYPT_VERSION))
316 fprintf (stderr, "Version mismatch %s <-> %s \n", gcry_check_version (NULL), GCRYPT_VERSION);
320 gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
321 gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
323 if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
325 fprintf (stderr, "gcry_md_open error\n");
329 gcry_md_setkey (mac, key, sizeof (key));
330 gcry_md_write (mac, data, sizeof (data));
332 if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
334 fprintf (stderr, "memcmp error\n");
342 [AC_MSG_RESULT([yes])],
347 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.])
351 AC_MSG_FAILURE([HMAC test failed])
355 AC_MSG_FAILURE([libgcrypt header version does not match library version])
359 fi # $build = $target
361 # check for bluetooth library
363 AC_CHECK_LIB(bluetooth, ba2str,[AC_CHECK_HEADER([bluetooth/bluetooth.h],bluetooth=1)])
364 if test "$bluetooth" = 1
366 AM_CONDITIONAL(HAVE_LIBBLUETOOTH, true)
367 AC_DEFINE([HAVE_LIBBLUETOOTH],[1],[Have bluetooth library])
369 AM_CONDITIONAL(HAVE_LIBBLUETOOTH, false)
371 if test "$build_target" = "mingw"
376 # check for libpulse(audio) library
378 AC_CHECK_LIB(pulse,pa_stream_peek,
379 [AC_CHECK_HEADER([pulse/simple.h],pulse=1)])
382 AM_CONDITIONAL(HAVE_PULSE, true)
383 AC_DEFINE([HAVE_PULSE],[1],[Have libpulse(audio) library])
385 AM_CONDITIONAL(HAVE_PULSE, false)
387 if test "$build_target" = "mingw"
392 # check for libopus(audio) library
394 AC_CHECK_LIB(opus,opus_decode_float,
395 [AC_CHECK_HEADER([opus/opus.h],opus=1)])
398 AM_CONDITIONAL(HAVE_OPUS, true)
399 AC_DEFINE([HAVE_OPUS],[1],[Have libopus library])
401 AM_CONDITIONAL(HAVE_OPUS, false)
406 LIBGNURL_CHECK_CONFIG(,7.33.0,gnurl=1,gnurl=0)
409 AM_CONDITIONAL(HAVE_LIBGNURL, true)
410 AC_DEFINE([HAVE_LIBGNURL],[1],[Have libgnurl])
412 AM_CONDITIONAL(HAVE_LIBGNURL, false)
417 AC_MSG_CHECKING([if Libidn can be used])
418 AC_ARG_WITH(libidn, AC_HELP_STRING([--with-libidn=[DIR]],
419 [Support IDN (needs GNU Libidn)]),
420 libidn=$withval, libidn=yes)
421 if test "$libidn" != "no"; then
422 if test "$libidn" != "yes"; then
423 LDFLAGS="${LDFLAGS} -L$libidn/lib"
424 CPPFLAGS="${CPPFLAGS} -I$libidn/include"
426 AC_CHECK_HEADER(idna.h,
427 AC_CHECK_LIB(idn, stringprep_check_version,
428 [libidn=yes LIBS="${LIBS} -lidn"],
429 AC_MSG_FAILURE([GNUnet requires libidn])),
430 AC_MSG_FAILURE([GNUnet requires libidn]))
432 AC_MSG_RESULT($libidn)
438 AC_CHECK_HEADERS([glpk.h],[glpk=true],[gplk=false])
439 # GLPK must support glpk_init_env, version >= 4.43
440 AC_CHECK_LIB([glpk],[glp_init_env],,[gplk=false])
441 # GLPK must support atm MLP presolving, version >= 4.32
442 AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include <glpk.h>]])
443 if test x$gplk = xfalse
445 AM_CONDITIONAL(HAVE_LIBGLPK, false)
446 AC_MSG_WARN([GNUnet requires GLPK >= 4.32])
448 AM_CONDITIONAL(HAVE_LIBGLPK, true)
449 AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
454 AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false])
455 if test x$nss = xfalse
457 AM_CONDITIONAL(HAVE_GLIBCNSS, false)
458 AC_MSG_WARN([No GNU libc nss header, will not build NSS plugin])
460 AM_CONDITIONAL(HAVE_GLIBCNSS, true)
465 # test for kvm and kstat (for CPU stats under BSD/Solaris)
466 AC_CHECK_LIB([kvm],[kvm_open])
467 AC_CHECK_LIB([kstat],[kstat_open])
469 # test for libextractor
471 AC_MSG_CHECKING(for libextractor)
472 AC_ARG_WITH(extractor,
473 [ --with-extractor=PFX base of libextractor installation],
474 [AC_MSG_RESULT([$with_extractor])
475 case $with_extractor in
479 AC_CHECK_HEADERS(extractor.h,
480 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
484 LDFLAGS="-L$with_extractor/lib $LDFLAGS"
485 CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
486 AC_CHECK_HEADERS(extractor.h,
487 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
488 EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
493 [AC_MSG_RESULT([--with-extractor not specified])
494 AC_CHECK_HEADERS(extractor.h,
495 AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
497 if test "$extractor" != 1
499 AC_MSG_ERROR([GNUnet requires libextractor])
504 # Check for libltdl header (#2999)
506 AC_MSG_CHECKING(for libltdl)
508 [ --with-ltdl=PFX base of libltdl installation],
509 [AC_MSG_RESULT([$with_ltdl])
514 AC_CHECK_HEADERS(ltdl.h,
515 AC_CHECK_LIB([ltdl], [lt_dlopenext],
519 LDFLAGS="-L$with_ltdl/lib $LDFLAGS"
520 CPPFLAGS="-I$with_ltdl/include $CPPFLAGS"
521 AC_CHECK_HEADERS(ltdl.h,
522 AC_CHECK_LIB([ltdl], [lt_dlopenext],
523 EXT_LIB_PATH="-L$with_ltdl/lib $EXT_LIB_PATH"
528 [AC_MSG_RESULT([--with-ltdl not specified])
529 AC_CHECK_HEADERS(ltdl.h,
530 AC_CHECK_LIB([ltdl], [lt_dlopenext],
534 AC_MSG_RESULT([libltdl found])
536 AC_MSG_ERROR([GNUnet requires libltdl (from GNU libtool), try installing libltdl-dev])
541 # test for libunistring
543 if test $HAVE_LIBUNISTRING != yes; then
544 AC_MSG_ERROR([GNUnet requires libunistring])
546 if test $gl_libunistring_hexversion -le 2305; then
547 AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1])
554 # Checks for standard header files.
558 # Check for headers that are ALWAYS required
559 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]))
563 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
564 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])
566 SAVE_LDFLAGS=$LDFLAGS
567 SAVE_CPPFLAGS=$CPPFLAGS
571 AC_MSG_CHECKING(for SQLite)
573 [ --with-sqlite=PFX base of SQLite installation],
574 [AC_MSG_RESULT("$with_sqlite")
579 AC_CHECK_HEADERS(sqlite3.h,
583 LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
584 CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
585 AC_CHECK_HEADERS(sqlite3.h,
586 EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
587 SQLITE_LDFLAGS="-L$with_sqlite/lib"
588 SQLITE_CPPFLAGS="-I$with_sqlite/include"
590 LDFLAGS=$SAVE_LDFLAGS
591 CPPFLAGS=$SAVE_CPPFLAGS
595 [AC_MSG_RESULT([--with-sqlite not specified])
596 AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
597 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
598 AC_SUBST(SQLITE_CPPFLAGS)
599 AC_SUBST(SQLITE_LDFLAGS)
603 AC_MSG_CHECKING(for postgres)
604 AC_ARG_WITH(postgres,
605 [ --with-postgres=PFX base of postgres installation],
606 [AC_MSG_RESULT("$with_postgres")
607 case $with_postgres in
611 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
615 LDFLAGS="-L$with_postgres/lib $LDFLAGS"
616 CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
617 AC_CHECK_HEADERS(postgresql/libpq-fe.h,
618 EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
619 POSTGRES_LDFLAGS="-L$with_postgres/lib"
620 POSTGRES_CPPFLAGS="-I$with_postgres/include"
622 LDFLAGS=$SAVE_LDFLAGS
623 CPPFLAGS=$SAVE_CPPFLAGS
627 [AC_MSG_RESULT([--with-postgres not specified])
628 AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
629 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
630 AC_SUBST(POSTGRES_CPPFLAGS)
631 AC_SUBST(POSTGRES_LDFLAGS)
634 SAVE_LDFLAGS=$LDFLAGS
635 SAVE_CPPFLAGS=$CPPFLAGS
637 [ --with-zlib[[=DIR]] use libz in DIR],
638 [AS_IF([test "$withval" = "no"],
639 [AC_MSG_ERROR([GNUnet requires zlib])],
640 [test "$withval" != "yes"],
643 CPPFLAGS="${CPPFLAGS} -I$withval/include"
644 LDFLAGS="${LDFLAGS} -L$withval/lib"
647 AC_CHECK_HEADER(zlib.h,
649 [AC_MSG_ERROR([GNUnet requires zlib])])
650 AC_CHECK_LIB(z, compress2,
652 AC_DEFINE([HAVE_ZLIB], [], [Have compression library])
653 if test "x${Z_DIR}" != "x"; then
654 Z_CFLAGS="-I${Z_DIR}/include"
655 Z_LIBS="-L${Z_DIR}/lib -lz"
659 [AC_MSG_ERROR([GNUnet requires zlib])])
663 LDFLAGS=$SAVE_LDFLAGS
664 CPPFLAGS=$SAVE_CPPFLAGS
667 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
668 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
670 if test "$build_target" = "mingw"
672 CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
678 SAVE_LDFLAGS=$LDFLAGS
679 SAVE_CPPFLAGS=$CPPFLAGS
680 AC_MSG_CHECKING(for mysql)
682 [ --with-mysql=PFX base of MySQL installation],
683 [AC_MSG_RESULT("$with_mysql")
684 if test "$with_mysql" != "no"
686 if test "$with_mysql" != "yes"
688 LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
689 CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
691 AC_CHECK_HEADERS(mysql/mysql.h,
692 AC_CHECK_LIB(mysqlclient, mysql_init,
693 MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
694 MYSQL_CPPFLAGS="-I$with_mysql/include"
696 mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
699 [AC_MSG_RESULT([--with-mysql not specified])
700 if test -d "/usr/lib64/mysql"; then
701 MYSQL_LIBDIR="/usr/lib64/mysql"
702 elif test -d "/usr/lib/mysql"; then
703 MYSQL_LIBDIR="/usr/lib/mysql"
705 MYSQL_LIBDIR="/usr/lib"
707 LDFLAGS="-L$MYSQL_LIBDIR $LDFLAGS $ZLIBS"
708 AC_CHECK_LIB(mysqlclient, mysql_init,
709 [AC_CHECK_HEADERS(mysql/mysql.h,
710 MYSQL_LDFLAGS="-L$MYSQL_LIBDIR"
713 , [], [$CYGWIN_MYSQL_MAGIC])])
716 AC_SUBST(MYSQL_LDFLAGS)
717 AC_SUBST(MYSQL_CPPFLAGS)
719 # additional version check for mysql
720 AC_ARG_ENABLE(mysql-version-check, [ --disable-mysql-version-check do not check MySQL version],, enable_mysql_version_check=yes)
721 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
723 AC_MSG_CHECKING(mysql version)
724 AC_RUN_IFELSE([AC_LANG_PROGRAM(
725 [[$CYGWIN_MYSQL_MAGIC
726 #include <mysql/mysql.h>]],
727 [[if (MYSQL_VERSION_ID < 40100)
732 ],mysql=true,mysql=false)
733 if test "$mysql" = "false"
736 AC_MSG_RESULT([fail, >= 4.1 required])
741 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
742 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
745 LDFLAGS=$SAVE_LDFLAGS
746 CPPFLAGS=$SAVE_CPPFLAGS
748 if test "$sqlite" = 0 -a "$mysql" = 0
750 AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
755 AC_MSG_CHECKING([for libmicrohttpd])
756 AC_ARG_WITH(microhttpd,
757 [ --with-microhttpd=PFX base of libmicrohttpd installation],
758 [AC_MSG_RESULT([$with_microhttpd])
759 case $with_microhttpd in
763 AC_CHECK_HEADERS([microhttpd.h],
764 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
765 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
766 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31])
767 AC_RUN_IFELSE([AC_LANG_SOURCE([
768 #include "$native_srcdir/src/include/platform.h"
769 #include <microhttpd.h>
770 int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; }
773 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
774 [],[#include "$native_srcdir/src/include/platform.h"
775 #include <microhttpd.h>]),,
776 [#include "$native_srcdir/src/include/platform.h"])
779 LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
780 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
781 AC_CHECK_HEADERS(microhttpd.h,
782 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
783 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
784 EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
785 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31])
786 AC_RUN_IFELSE([AC_LANG_SOURCE([
787 #include "$native_srcdir/src/include/platform.h"
788 #include <microhttpd.h>
789 int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; }
792 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
793 [],[#include "$native_srcdir/src/include/platform.h"
794 #include <microhttpd.h>]),,
795 [#include "$native_srcdir/src/include/platform.h"])
799 [AC_MSG_RESULT([--with-microhttpd not specified])
800 AC_CHECK_HEADERS([microhttpd.h],
801 AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
802 AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
803 [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31])
804 AC_RUN_IFELSE([AC_LANG_SOURCE([
805 #include "$native_srcdir/src/include/platform.h"
806 #include <microhttpd.h>
807 int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; }
810 lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
811 [],[#include "$native_srcdir/src/include/platform.h"
812 #include <microhttpd.h>]),,
813 [#include "$native_srcdir/src/include/platform.h"])])
814 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
815 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
821 # check for python & pexpect (used for some testcases only)
822 AM_PATH_PYTHON([2.6],, [:])
823 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
826 AM_GNU_GETTEXT([external])
827 AM_GNU_GETTEXT_VERSION([0.16.1])
832 # Checks for standard typedefs, structures, and compiler characteristics.
841 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
842 [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
846 #include <sys/types.h>
847 #include <sys/socket.h>
848 #include <netinet/in.h>
853 # Checks for library functions.
854 AC_FUNC_CLOSEDIR_VOID
856 AC_PROG_GCC_TRADITIONAL
858 AC_FUNC_SELECT_ARGTYPES
868 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])
873 gn_user_home_dir="~/.gnunet"
874 AC_ARG_WITH(user-home-dir,
876 [--with-user-home-dir=DIR],
877 [default user home directory (~/.gnunet)]),
878 [gn_user_home_dir=$withval])
879 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
880 gn_daemon_home_dir="/var/lib/gnunet"
881 AC_ARG_WITH(daemon-home-dir,
883 [--with-daemon-home-dir=DIR],
884 [default daemon home directory (/var/lib/gnunet)]),
885 [gn_daemon_home_dir=$withval])
886 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
887 gn_daemon_config_dir="/etc"
888 AC_ARG_WITH(daemon-config-dir,
890 [--with-daemon-config-dir=DIR],
891 [default daemon config directory (/etc)]),
892 [gn_daemon_config_dir=$withval])
893 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
896 GN_LIBINTL="$LTLIBINTL"
897 AC_ARG_ENABLE(framework, [ --enable-framework enable Mac OS X framework build helpers],enable_framework_build=$enableval)
898 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
899 if test x$enable_framework_build = xyes
901 AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
902 GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
903 GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
904 AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL])
907 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
908 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
910 AC_SUBST(GN_LIB_LDFLAGS)
911 AC_SUBST(GN_PLUGIN_LDFLAGS)
912 AC_SUBST(GN_INTLINCL)
918 AC_SUBST(EXT_LIB_PATH)
923 AC_SUBST(EXT_LIB_PATH)
927 AC_MSG_CHECKING(for sudo)
929 [ --with-sudo=PATH path to sudo binary (or just yes)],
930 [AC_MSG_RESULT("$with_sudo")
939 SUDO_BINARY=$with_sudo
943 [AC_MSG_RESULT([no])])
944 AC_SUBST(SUDO_BINARY)
945 AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /])
949 AC_MSG_CHECKING(with nssdir)
951 [ --with-nssdir=PATH where to install NSS plugins],
952 [AC_MSG_RESULT("$with_nssdir")
969 if test "x$SUDO_BINARY" != "x" -o -w /
973 AC_MSG_RESULT([yes, to /lib])
981 AM_CONDITIONAL([INSTALL_NSS], [test "x$install_nss" != "x0"])
983 # test for gnunetdns group name
984 GNUNETDNS_GROUP=gnunetdns
985 AC_MSG_CHECKING(for gnunetdns group name)
986 AC_ARG_WITH(gnunetdns,
987 [ --with-gnunetdns=GRPNAME name for gnunetdns group],
988 [AC_MSG_RESULT("$with_gnunetdns")
989 case $with_gnunetdns in
991 GNUNETDNS_GROUP=gnunet
994 GNUNETDNS_GROUP=gnunetdns
997 GNUNETDNS_GROUP=$with_gnunetdns
1001 [AC_MSG_RESULT([gnunetdns])])
1002 AC_SUBST(GNUNETDNS_GROUP)
1008 AC_MSG_CHECKING(for gnutls)
1010 [ --with-gnutls=PFX base of gnutls installation],
1011 [AC_MSG_RESULT([$with_gnutls])
1012 case $with_gnutls in
1016 AC_CHECK_HEADERS([gnutls/abstract.h],
1017 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
1021 LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
1022 CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
1023 AC_CHECK_HEADERS([gnutls/abstract.h],
1024 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
1025 EXT_LIB_PATH="-L$with_gnutls/lib $EXT_LIB_PATH"
1030 [AC_MSG_RESULT([--with-gnutls not specified])
1031 AC_CHECK_HEADERS([gnutls/abstract.h],
1032 AC_CHECK_LIB([gnutls], [gnutls_priority_set],
1034 AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
1035 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have GnuTLS])
1038 AC_CHECK_HEADERS([gnutls/dane.h],
1039 AC_CHECK_LIB([gnutls-dane], [dane_verify_crt_raw],
1041 AM_CONDITIONAL(HAVE_GNUTLS_DANE, test x$gnutls_dane = xtrue)
1042 AC_DEFINE_UNQUOTED([HAVE_GNUTLS_DANE], $gnutls_dane, [We have GnuTLS with DANE support])
1045 # Test if we are building for superMUC
1046 AC_MSG_CHECKING(if GNUnet is being configured to run on the SuperMUC)
1047 AC_ARG_ENABLE([supermuc],
1048 [AS_HELP_STRING([--enable-supermuc],
1049 [build GNUnet with support to run on the SuperMUC (default is NO)])],
1050 [if test "x$enable_supermuc" = "xno"
1057 enable_supermuc=no])
1058 AC_MSG_RESULT($enable_SUPERMUC)
1059 AM_CONDITIONAL([ENABLE_SUPERMUC], [test "x$supermuc" = "x1"])
1060 AC_DEFINE_UNQUOTED([ENABLE_SUPERMUC], [$supermuc], [Build with support for SuperMUC])
1062 # Check if NSE has to send timestamp information to testbed logger for
1063 # generating histogram of messages received
1064 AC_MSG_CHECKING(if NSE has to send timestamp information to testbed logger)
1065 AC_ARG_ENABLE([nse-histogram],
1066 [AS_HELP_STRING([--enable-nse-histogram],
1067 [have NSE send timestamp information to testbed logger for generating
1068 histogram of received messages. NOT useful for production (default is
1070 [if test "x$enableval" = "xno"
1077 enable_nse_histogram=no])
1078 AC_MSG_RESULT($enable_nse_histogram)
1079 AM_CONDITIONAL([ENABLE_NSE_HISTOGRAM], [test "x$nse_histogram" = "x1"])
1080 AC_DEFINE_UNQUOTED([ENABLE_NSE_HISTOGRAM], [$nse_histogram],
1081 [have NSE send timestamp information to testbed logger])
1083 # should 'make check' run tests?
1084 AC_MSG_CHECKING(whether to run tests)
1085 AC_ARG_ENABLE([testruns],
1086 [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
1087 [enable_tests_run=${enableval}],
1088 [enable_tests_run=yes])
1089 AC_MSG_RESULT($enable_test_run)
1090 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
1093 # should monkey be used when running (certain) services?
1094 AC_MSG_CHECKING(whether to run with monkey)
1095 AC_ARG_ENABLE([monkey],
1096 [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
1097 [enable_monkey=${enableval}],
1099 AC_MSG_RESULT($enable_monkey)
1100 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
1101 if test "x$enable_monkey" = "xyes"
1103 MONKEYPREFIX="pathologist -d $(eval echo ${datarootdir}/gnunet/gnunet.sqlite) -p 30 --"
1107 AC_SUBST(MONKEYPREFIX)
1110 # should expensive tests be run?
1111 AC_MSG_CHECKING(whether to run expensive tests)
1112 AC_ARG_ENABLE([expensivetests],
1113 [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
1114 [enable_expensive=${enableval}],
1115 [enable_expensive=no])
1116 AC_MSG_RESULT($enable_expensive)
1117 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
1119 # should ports be open for Java services?
1120 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
1121 AC_ARG_ENABLE([javaports],
1122 [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
1123 [enable_java_ports=${enableval}],
1124 [enable_java_ports=no])
1125 AC_MSG_RESULT($enable_java_ports)
1126 if test "x$enable_java_ports" = "xyes"
1130 JAVAPORT="$UNIXONLY"
1134 # should benchmarks be run?
1135 AC_MSG_CHECKING(whether to run benchmarks during make check)
1136 AC_ARG_ENABLE([benchmarks],
1137 [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
1138 [enable_benchmarks=${enableval}],
1139 [enable_benchmarks=no])
1140 AC_MSG_RESULT($enable_benchmarks)
1141 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
1143 # should gnunet-testing be compiled
1144 AC_MSG_CHECKING(wether to compile gnunet-testing)
1145 AC_ARG_ENABLE([testing],
1146 [AS_HELP_STRING([--disable-testing], [do not build gnunet-testing])],
1147 [enable_testing=${enableval}],
1148 [enable_testing=yes])
1149 AC_MSG_RESULT($enable_testing)
1150 AM_CONDITIONAL([HAVE_TESTING], [test "x$enable_testing" = "xyes"])
1152 # should experimental code be compiled (code that may not yet compile)?
1153 AC_MSG_CHECKING(whether to compile experimental code)
1154 AC_ARG_ENABLE([experimental],
1155 [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
1156 [enable_experimental=${enableval}],
1157 [enable_experimental=no])
1158 AC_MSG_RESULT($enable_experimental)
1159 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
1161 # should services be started by default when a peer starts? Some services may
1162 # choose to never start by default and it is upto the service/module developer to
1163 # decide it by having "AUTOSTART = NO" instead of "AUTOSTART = @AUTOSTART" in
1164 # the service/module's conf.in file.
1166 AC_MSG_CHECKING(whether to auto-start peer's services by default)
1167 AC_ARG_ENABLE([autostart],
1168 [AS_HELP_STRING([--disable-autostart], [do not start peer's services by default])],
1169 [enable_autostart=${enableval}
1170 if test "x$enable_autostart" == "xno"
1175 [enable_autostart=yes])
1176 AC_MSG_RESULT($enable_autostart)
1177 #AM_CONDITIONAL([HAVE_AUTOSTART], [test "x$enable_autostart" = "xyes"])
1180 # should memory statistics be kept (very expensive CPU-wise!)
1181 AC_MSG_CHECKING(whether to create expensive statistics on memory use)
1182 AC_ARG_ENABLE([heapstats],
1183 [AS_HELP_STRING([--enable-heapstats], [enable expensive heap statistics])],
1184 [enable_heapstats=1],
1185 [enable_heapstats=0])
1186 AC_MSG_RESULT($enable_heapstats)
1187 AC_DEFINE_UNQUOTED([ENABLE_HEAP_STATISTICS],$enable_heapstats,[enable expensive heap statistics])
1189 # should code be enabled that works around missing OS functionality on Windows?
1190 # used for test cases
1191 if test $build_target = "mingw"
1197 [#include <ws2tcpip.h>
1199 int s = socket (0, 0, 0);])
1201 AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
1203 AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
1208 [#include <ws2tcpip.h>
1210 int s = select (0, NULL, NULL, NULL, NULL);])
1212 AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
1214 AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
1219 [#include <ws2tcpip.h>
1222 char *s = inet_ntoa (i);])
1224 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
1226 AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
1231 [#include <ws2tcpip.h>
1233 int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
1235 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
1237 AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
1242 [#include <ws2tcpip.h>
1244 int s = gethostname (NULL, 0);])
1246 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
1248 AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
1253 [#include <ws2tcpip.h>
1255 void *s = gethostbyname (NULL);])
1257 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
1259 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
1264 [#include <ws2tcpip.h>
1266 void *s = gethostbyaddr (NULL, 0, 0);])
1268 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
1270 AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
1275 [#include <ws2tcpip.h>
1277 int s = getaddrinfo (NULL, NULL, NULL, NULL);])
1279 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1281 AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1285 AC_MSG_CHECKING(whether to enable windows workarounds)
1286 AC_ARG_ENABLE([windows_workarounds],
1287 [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
1288 [enable_workarounds=${enableval}],
1289 [enable_workarounds=no])
1290 AC_MSG_RESULT($enable_workarounds)
1291 if test x$enable_windows_workarounds = "xyes"
1298 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
1301 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
1302 AC_ARG_ENABLE([coverage],
1303 AS_HELP_STRING([--enable-coverage],
1304 [compile the library with code coverage support]),
1305 [use_gcov=${enableval}],
1307 AC_MSG_RESULT($use_gcov)
1308 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
1312 AC_PATH_PROG(svnversioncommand, svnversion)
1313 AC_PATH_PROG(gitcommand, git)
1314 AC_MSG_CHECKING(for source being under a VCS)
1317 AS_IF([test ! "X$svnversioncommand" = "X"],
1319 svn_version=$(cd $srcdir ; $svnversioncommand -n 2>/dev/null)
1321 AS_IF([test ! "X$gitcommand" = "X"],
1323 gitsvn_version=$(cd $srcdir ; git log -1 2>/dev/null | grep "git-svn-id" | sed -e 's/.*@\([[0-9]]\+\) .*/\1/')
1325 AS_IF([test "X$svn_version" = "X" -o "X$svn_version" = "Xexported" -o "X$svn_version" = "XUnversioned directory"],
1327 AS_IF([test "X$gitsvn_version" = "X"],
1330 vcs_version="\"release\""
1333 vcs_name="yes, git-svn"
1334 vcs_version="\"svn-r$gitsvn_version\""
1339 vcs_version="\"svn-r$svn_version\""
1341 AC_MSG_RESULT($vcs_name)
1343 AC_MSG_CHECKING(VCS version)
1344 AC_MSG_RESULT($vcs_version)
1345 AC_DEFINE_UNQUOTED(VCS_VERSION, [$vcs_version], [VCS revision/hash or tarball version])
1352 doc/doxygen/Makefile
1360 src/ats-tool/Makefile
1361 src/ats-tests/Makefile
1365 src/consensus/Makefile
1366 src/consensus/consensus.conf
1367 src/conversation/Makefile
1368 src/conversation/conversation.conf
1369 src/datacache/Makefile
1370 src/datastore/Makefile
1371 src/datastore/datastore.conf
1380 src/experimentation/Makefile
1381 src/experimentation/experimentation.conf
1382 src/fragmentation/Makefile
1387 src/gns/nss/Makefile
1388 src/gnsrecord/Makefile
1390 src/identity/Makefile
1391 src/identity/identity.conf
1392 src/include/Makefile
1393 src/include/gnunet_directories.h
1394 src/integration-tests/Makefile
1395 src/hostlist/Makefile
1398 src/multicast/Makefile
1399 src/multicast/multicast.conf
1401 src/namecache/Makefile
1402 src/namecache/namecache.conf
1403 src/namestore/Makefile
1404 src/namestore/namestore.conf
1408 src/peerinfo/Makefile
1409 src/peerinfo/peerinfo.conf
1410 src/peerinfo-tool/Makefile
1411 src/postgres/Makefile
1414 src/psycstore/Makefile
1415 src/psycstore/psycstore.conf
1418 src/regex/regex.conf
1419 src/revocation/Makefile
1420 src/revocation/revocation.conf
1421 src/secretsharing/Makefile
1422 src/secretsharing/secretsharing.conf
1423 src/scalarproduct/Makefile
1424 src/scalarproduct/scalarproduct.conf
1427 src/statistics/Makefile
1428 src/statistics/statistics.conf
1429 src/template/Makefile
1430 src/testbed/Makefile
1431 src/testbed/testbed.conf
1432 src/testing/Makefile
1433 src/topology/Makefile
1434 src/transport/Makefile
1435 src/transport/transport.conf
1438 src/util/resolver.conf
1442 pkgconfig/gnunetarm.pc
1443 pkgconfig/gnunetats.pc
1444 pkgconfig/gnunetblock.pc
1445 pkgconfig/gnunetconsensus.pc
1446 pkgconfig/gnunetconversation.pc
1447 pkgconfig/gnunetcore.pc
1448 pkgconfig/gnunetdatacache.pc
1449 pkgconfig/gnunetdatastore.pc
1450 pkgconfig/gnunetdht.pc
1451 pkgconfig/gnunetdns.pc
1452 pkgconfig/gnunetdnsparser.pc
1453 pkgconfig/gnunetdnsstub.pc
1454 pkgconfig/gnunetdv.pc
1455 pkgconfig/gnunetenv.pc
1456 pkgconfig/gnunetfragmentation.pc
1457 pkgconfig/gnunetfs.pc
1458 pkgconfig/gnunetgns.pc
1459 pkgconfig/gnunethello.pc
1460 pkgconfig/gnunetidentity.pc
1461 pkgconfig/gnunetmesh.pc
1462 pkgconfig/gnunetmicrophone.pc
1463 pkgconfig/gnunetmulticast.pc
1464 pkgconfig/gnunetmysql.pc
1465 pkgconfig/gnunetnamestore.pc
1466 pkgconfig/gnunetnat.pc
1467 pkgconfig/gnunetnse.pc
1468 pkgconfig/gnunetpeerinfo.pc
1469 pkgconfig/gnunetpostgres.pc
1470 pkgconfig/gnunetpsyc.pc
1471 pkgconfig/gnunetpsycstore.pc
1472 pkgconfig/gnunetregex.pc
1473 pkgconfig/gnunetrevocation.pc
1474 pkgconfig/gnunetscalarproduct.pc
1475 pkgconfig/gnunetset.pc
1476 pkgconfig/gnunetspeaker.pc
1477 pkgconfig/gnunetstatistics.pc
1478 pkgconfig/gnunettestbed.pc
1479 pkgconfig/gnunettesting.pc
1480 pkgconfig/gnunettransport.pc
1481 pkgconfig/gnunettun.pc
1482 pkgconfig/gnunetutil.pc
1483 pkgconfig/gnunetvpn.pc
1489 # warn user if mysql found but not used due to version
1490 if test "$mysqlfail" = "true"
1492 AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1496 if test "x$sqlite" = "x0"
1498 AC_MSG_NOTICE([NOTICE: sqlite not found. sqLite support will not be compiled.])
1502 if test "x$gnurl" = "x0"
1504 AC_MSG_NOTICE([NOTICE: libgnurl not found. http client support will not be compiled.])
1508 if test "x$bluetooth" = "x0"
1510 AC_MSG_NOTICE([NOTICE: bluetooth library not found. bluetooth support will not be compiled.])
1514 if test x$gnutls != xtrue
1516 AC_MSG_NOTICE([NOTICE: GnuTLS not found, gnunet-gns-proxy will not be built])
1518 if test x$gnutls_dane != xtrue
1520 AC_MSG_NOTICE([NOTICE: GnuTLS has no DANE support, DANE validation will not be possible])
1525 if test "x$enable_java_ports" = "xyes"
1527 AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1531 if test "x$lmhd" != "x1"
1533 AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1537 if test "x$pulse" != "x1"
1539 AC_MSG_NOTICE([NOTICE: libpulse(audio) not found, conversation will not be built.])
1543 if test "x$opus" != "x1"
1545 AC_MSG_NOTICE([NOTICE: libopus not found, conversation will not be built.])
1548 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1550 if test "$enable_framework_build" = "yes"
1552 AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1555 if test "x$SUDO_BINARY" = "x" -a ! -w /
1557 AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library])
1561 AC_MSG_NOTICE([********************************************
1562 Please make sure NOW that you have created a user and group 'gnunet'
1563 and additionally a group 'gnunetdns':
1567 Make sure that '/var/lib/gnunet' is owned (and writable) by user
1568 'gnunet'. Then, you can compile GNUnet with
1571 After that, run (if necessary as 'root')
1573 to install everything.
1575 Each GNUnet user should be added to the 'gnunet' group (may
1576 require fresh login to come into effect):
1577 adduser $USERNAME gnunet
1578 (run the above command as root once for each of your users, replacing
1579 "$USERNAME" with the respective login names). If you have a global IP
1580 address, no further configuration is required.
1582 Optionally, download and compile gnunet-gtk to get a GUI for
1583 file-sharing and configuration. This is particularly recommended
1584 if your network setup is non-trivial, as gnunet-setup can be
1585 used to test in the GUI if your network configuration is working.
1586 gnunet-setup should be run as the "gnunet" user under X. As it
1587 does very little with the network, running it as "root" is likely
1588 also harmless. You can also run it as a normal user, but then
1589 you have to copy ~/.gnunet/gnunet.conf" over to the "gnunet" user's
1590 home directory in the end.
1592 Once you have configured your peer, run (as the 'gnunet' user)
1594 to start the peer. You can then run the various GNUnet-tools as
1595 your "normal" user (who should only be in the group 'gnunet').
1596 ********************************************])