-test for execinfo.h instead of LINUX
[oweals/gnunet.git] / configure.ac
1 # This file is part of GNUnet.
2 # (C) 2001--2012 Christian Grothoff (and other contributing authors)
3 #
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.
8 #
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.
13 #
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.
18 #
19 #
20 # Process this file with autoconf to produce a configure script.
21 #
22 #
23 AC_PREREQ(2.61)
24 # Checks for programs.
25 AC_INIT([gnunet], [0.9.3],[bug-gnunet@gnu.org])
26
27 AC_CANONICAL_TARGET
28 AC_CANONICAL_HOST
29 AC_CANONICAL_SYSTEM
30
31 AM_INIT_AUTOMAKE([gnunet], [0.9.3])
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
36 AC_PROG_AWK
37 AC_PROG_CC
38 AC_PROG_CPP
39 AC_PROG_CXX
40 AC_PROG_OBJC
41 AC_PROG_INSTALL
42 AC_PROG_LN_S
43 AC_PROG_MAKE_SET
44 AM_PROG_CC_C_O
45 LT_INIT([disable-static dlopen win32-dll])
46 LTDL_INIT
47 AC_SUBST(LTDLINCL)
48 AC_SUBST(LIBLTDL)
49 AC_SUBST(MKDIR_P)
50
51 # large file support
52 AC_SYS_LARGEFILE
53 AC_FUNC_FSEEKO
54
55
56 if test "$enable_shared" = "no"
57 then
58  AC_MSG_ERROR([GNUnet only works with shared libraries. Sorry.])
59 fi
60
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;
64 then
65  CFLAGS="-fno-strict-aliasing $CFLAGS"
66 fi
67
68 # Use Linux interface name unless the OS has a different preference
69 DEFAULT_INTERFACE="\"eth0\""
70
71 funcstocheck="getnameinfo gethostname gethostbyname gethostbyaddr getaddrinfo"
72
73 # Check system type
74 case "$host_os" in
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])
80      build_target="darwin"
81      DEFAULT_INTERFACE="\"en0\""
82      LIBPREFIX=
83      DLLDIR=lib
84      UNIXONLY="#"
85      ;;
86 linux*)
87      AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
88      build_target="linux"
89      LIBPREFIX=
90      DLLDIR=lib
91      UNIXONLY="#"
92      AC_PATH_XTRA
93      ;;
94 freebsd*)
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"
99      LIBPREFIX=
100      DLLDIR=lib
101      UNIXONLY="#"
102      ;;
103 openbsd*)
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"
108      LIBPREFIX=
109      DLLDIR=lib
110      UNIXONLY="#"
111      ;;
112 netbsd*)
113      AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
114      AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
115      LIBPREFIX=
116      DLLDIR=lib
117      UNIXONLY="#"
118      ;;
119 *solaris*)
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"
125      LIBPREFIX=
126      DLLDIR=lib
127      UNIXONLY="#"
128      ;;
129 *arm-linux*)
130      AC_DEFINE_UNQUOTED(LINUX,1,[This is a Linux system])
131      CFLAGS="-D_REENTRANT -fPIC -pipe $CFLAGS"
132      build_target="linux"
133      LIBPREFIX=
134      DLLDIR=lib
135      UNIXONLY="#"
136      ;;
137 *cygwin*)
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"
144      LIBPREFIX=lib
145      DLLDIR=bin
146      AC_PROG_CXX
147      UNIXONLY=""
148      ;;
149 *mingw*)
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 $CPPFLAGS"
158      build_target="mingw"
159      AC_PROG_CXX
160      LIBPREFIX=lib
161      DLLDIR=bin
162      UNIXONLY=""
163      funcstocheck=""
164      ;;
165 gnu*)
166      AC_DEFINE_UNQUOTED(GNU,1,[This is a GNU system])
167      build_target="gnu"
168      UNIXONLY="#"
169      ;;
170 *)
171      AC_MSG_RESULT(Unrecognised OS $host_os)
172      AC_DEFINE_UNQUOTED(OTHEROS,1,[Some strange OS])
173      UNIXONLY=""
174 ;;
175 esac
176 AC_DEFINE_UNQUOTED([GNUNET_DEFAULT_INTERFACE], $DEFAULT_INTERFACE, [This should be the default choice for the name of the first network interface])
177 AC_SUBST(DEFAULT_INTERFACE)
178
179 # Disable TCP-based IPC on systems that support UNIX domain
180 # sockets in default configuratin:
181 AC_SUBST(UNIXONLY)
182
183
184 AC_MSG_CHECKING([for build target])
185 AM_CONDITIONAL(DARWIN,  test "$build_target" = "darwin")
186 AM_CONDITIONAL(CYGWIN,  test "$build_target" = "cygwin")
187 AM_CONDITIONAL(MINGW,   test "$build_target" = "mingw")
188 AM_CONDITIONAL(SOLARIS, test "$build_target" = "solaris")
189 AM_CONDITIONAL(XFREEBSD, test "$build_target" = "freebsd")
190 AM_CONDITIONAL(OPENBSD, test "$build_target" = "openbsd")
191 AM_CONDITIONAL(LINUX, test "$build_target" = "linux")
192 AM_CONDITIONAL(GNU, test "$build_target" = "gnu")
193
194 AC_MSG_RESULT([$build_target])
195 AC_SUBST(build_target)
196 AM_CONDITIONAL([am__fastdepOBJC], false)
197 AC_UNALIGNED_64_ACCESS
198
199 # some other checks for standard libs
200 AC_SEARCH_LIBS([gethostbyname], [nsl ws2_32])
201 AC_CHECK_LIB(socket, socket)
202 AC_CHECK_LIB(m, log)
203 AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
204
205 # 'save' libs; only those libs found so far will be
206 # linked against _everywhere_.  For the others, we
207 # will be more selective!
208 SAVE_LIBS=$LIBS
209
210 # libgnurx (regex library for W32)
211 gnurx=0
212 AC_CHECK_LIB(gnurx, regexec, gnurx=1)
213 if test "x$gnurx" = "x0" -a "x$build_target" = "xmingw"
214 then
215   AC_MSG_ERROR([on W32 GNUnet needs libgnurx])
216 fi
217
218 # libgcrypt
219 gcrypt=0
220 AM_PATH_LIBGCRYPT(1.2.0, gcrypt=1)
221 AC_CHECK_DECLS([gcry_mpi_lshift], [], [], [[#include <gcrypt.h>]])
222
223 if test $gcrypt = 0
224 then
225   AC_MSG_ERROR([GNUnet needs libgcrypt])
226 fi
227
228 # Adam shostack suggests the following for Windows:
229 # -D_FORTIFY_SOURCE=2 -fstack-protector-all
230 AC_ARG_ENABLE(gcc-hardening,
231    AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks),
232 [if test x$enableval = xyes; then
233     CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all"
234     CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector"
235     CFLAGS="$CFLAGS --param ssp-buffer-size=1"
236     LDFLAGS="$LDFLAGS -pie"
237 fi])
238
239
240 # Linker hardening options
241 # Currently these options are ELF specific - you can't use this with MacOSX
242 AC_ARG_ENABLE(linker-hardening,
243   AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups),
244 [if test x$enableval = xyes; then
245    LDFLAGS="$LDFLAGS -z relro -z now"
246 fi])
247
248
249 extra_logging=GNUNET_NO
250 AC_ARG_ENABLE([logging],
251    AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose,veryverbose ('yes' is the default)]),
252    [AS_IF([test "x$enableval" = "xyes"], [],
253           [test "x$enableval" = "xno"], [AC_DEFINE([GNUNET_CULL_LOGGING],[],[Define to cull all logging calls])],
254           [test "x$enableval" = "xverbose"], [extra_logging=GNUNET_YES]
255           [test "x$enableval" = "xveryverbose"], [extra_logging=\(GNUNET_YES+1\)])
256    ], [])
257 AC_DEFINE_UNQUOTED([GNUNET_EXTRA_LOGGING],[$extra_logging],[1 if extra logging is enabled, 2 for very verbose extra logging, 0 otherwise])
258
259 if test $build = $target
260 then
261 AC_MSG_CHECKING([for working HMAC])
262 AC_LANG_PUSH(C)
263 LIBS="$LIBS $LIBGCRYPT_LIBS"
264 CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS"
265 AC_RUN_IFELSE(
266   [AC_LANG_PROGRAM([#include <gcrypt.h> 
267         #include <stdio.h>], [[
268         gcry_md_hd_t mac;
269       
270         unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72,
271             0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe,
272             0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde };
273         unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 };
274         unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80,
275             0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0,
276             0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b,
277             0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb,
278             0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b,
279             0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3};
280       
281         if (!gcry_check_version (GCRYPT_VERSION))
282         {
283           fprintf (stderr, "Version mismatch %s <-> %s \n", gcry_check_version (NULL), GCRYPT_VERSION);
284           return 1;
285         }
286   
287         gcry_control (GCRYCTL_DISABLE_SECMEM, 0);
288         gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
289   
290         if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR)
291         {
292           fprintf (stderr, "gcry_md_open error\n");
293           return 2;
294         }
295   
296         gcry_md_setkey (mac, key, sizeof (key));
297         gcry_md_write (mac, data, sizeof (data));
298   
299         if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0)
300         {
301           fprintf (stderr, "memcmp error\n");
302           return 3;
303         }
304   
305         gcry_md_close (mac);
306   
307         return 0;
308     ]])],
309   [AC_MSG_RESULT([yes])],
310   [
311    RESULT=$?
312    if test $RESULT = 3
313    then
314      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.])
315    fi
316    if test $RESULT = 2
317    then
318      AC_MSG_FAILURE([HMAC test failed])
319    fi
320    if test $RESULT = 1
321    then
322      AC_MSG_FAILURE([libgcrypt header version does not match library version])
323    fi
324   ])
325 AC_LANG_POP(C)
326 fi      # $build = $target
327
328 # libcurl
329 LIBCURL_CHECK_CONFIG(,7.21.3,,AC_MSG_ERROR([GNUnet requires libcurl >= 7.21.3]))
330 # restore LIBS
331 LIBS=$SAVE_LIBS
332
333
334 AC_CHECK_HEADERS([glpk.h],[glpk=true],[gplk=false])
335 AC_CHECK_LIB([glpk],[glp_create_prob],,[gplk=false])
336 # GLPK must support atm MLP presolving, version >= 4.32
337 AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include <glpk.h>]])
338 if test x$gplk = xfalse
339 then
340         AM_CONDITIONAL(HAVE_LIBGLPK, false)
341         AC_MSG_WARN([GNUnet requires GLPK  >= 4.32])
342 else
343         AM_CONDITIONAL(HAVE_LIBGLPK, true)
344         AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK])
345 fi
346
347
348
349 AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false])
350 if test x$nss = xfalse
351 then
352         AM_CONDITIONAL(HAVE_GLIBCNSS, false)
353         AC_MSG_WARN([No GNU libc nss header, will not build NSS plugin])
354 else
355         AM_CONDITIONAL(HAVE_GLIBCNSS, true)
356 fi
357
358
359
360 # test for kvm and kstat (for CPU stats under BSD/Solaris)
361 AC_CHECK_LIB([kvm],[kvm_open])
362 AC_CHECK_LIB([kstat],[kstat_open])
363
364 # test for libextractor
365 extractor=0
366 AC_MSG_CHECKING(for libextractor)
367 AC_ARG_WITH(extractor,
368    [  --with-extractor=PFX    base of libextractor installation],
369    [AC_MSG_RESULT([$with_extractor])
370     case $with_extractor in
371       no)
372         ;;
373       yes)
374         AC_CHECK_HEADERS(extractor.h,
375           AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
376             extractor=1))
377         ;;
378       *)
379         LDFLAGS="-L$with_extractor/lib $LDFLAGS"
380         CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
381         AC_CHECK_HEADERS(extractor.h,
382           AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
383             EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
384             extractor=1))
385         ;;
386     esac
387    ],
388    [AC_MSG_RESULT([--with-extractor not specified])
389     AC_CHECK_HEADERS(extractor.h,
390      AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
391       extractor=1))])
392 if test "$extractor" != 1
393 then
394  AC_MSG_ERROR([GNUnet requires libextractor])
395 fi
396 # restore LIBS
397 LIBS=$SAVE_LIBS
398
399 # test for libunistring
400 gl_LIBUNISTRING
401 if test $HAVE_LIBUNISTRING != yes; then
402  AC_MSG_ERROR([GNUnet requires libunistring])
403 fi
404 if test $gl_libunistring_hexversion -le 2305; then
405  AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1])
406 fi
407 # restore LIBS
408 LIBS=$SAVE_LIBS
409
410
411
412 # Checks for standard header files.
413 AC_HEADER_DIRENT
414 AC_HEADER_STDC
415
416 # Check for headers that are ALWAYS required
417 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]))
418
419 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
420 AC_CHECK_HEADERS([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])
421
422 SAVE_LDFLAGS=$LDFLAGS
423 SAVE_CPPFLAGS=$CPPFLAGS
424
425 # test for sqlite
426 sqlite=false
427 AC_MSG_CHECKING(for SQLite)
428 AC_ARG_WITH(sqlite,
429   [  --with-sqlite=PFX       base of SQLite installation],
430   [AC_MSG_RESULT("$with_sqlite")
431    case $with_sqlite in
432    no)
433      ;;
434    yes)
435     AC_CHECK_HEADERS(sqlite3.h,
436      sqlite=true)
437      ;;
438    *)
439     LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
440     CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
441     AC_CHECK_HEADERS(sqlite3.h,
442      EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
443      SQLITE_LDFLAGS="-L$with_sqlite/lib"
444      SQLITE_CPPFLAGS="-I$with_sqlite/include"
445      sqlite=true)
446     LDFLAGS=$SAVE_LDFLAGS
447     CPPFLAGS=$SAVE_CPPFLAGS
448     ;;
449    esac
450   ],
451   [AC_MSG_RESULT([--with-sqlite not specified])
452     AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
453 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
454 AC_SUBST(SQLITE_CPPFLAGS)
455 AC_SUBST(SQLITE_LDFLAGS)
456
457 # test for postgres
458 postgres=false
459 AC_MSG_CHECKING(for postgres)
460 AC_ARG_WITH(postgres,
461   [  --with-postgres=PFX       base of postgres installation],
462   [AC_MSG_RESULT("$with_postgres")
463    case $with_postgres in
464    no)
465      ;;
466    yes)
467     AC_CHECK_HEADERS(postgresql/libpq-fe.h,
468      postgres=true)
469      ;;
470    *)
471     LDFLAGS="-L$with_postgres/lib $LDFLAGS"
472     CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
473     AC_CHECK_HEADERS(postgresql/libpq-fe.h,
474      EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
475      POSTGRES_LDFLAGS="-L$with_postgres/lib"
476      POSTGRES_CPPFLAGS="-I$with_postgres/include"
477      postgres=true)
478     LDFLAGS=$SAVE_LDFLAGS
479     CPPFLAGS=$SAVE_CPPFLAGS
480     ;;
481    esac
482   ],
483   [AC_MSG_RESULT([--with-postgres not specified])
484     AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
485 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
486 AC_SUBST(POSTGRES_CPPFLAGS)
487 AC_SUBST(POSTGRES_LDFLAGS)
488
489 # test for libz (maybe required for linking mysql)
490 zlib=1
491 AC_CHECK_LIB(z, compress,,zlib=0)
492 AM_CONDITIONAL(HAVE_ZLIB, test x$zlib = x1)
493 if test "$zlib" != 1
494 then
495  AC_MSG_ERROR([GNUnet requires zlib])
496 fi
497
498 # mysql & windows
499 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
500 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
501
502 if test "$build_target" = "mingw"
503 then
504   CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
505 fi
506
507 # test for mysql
508 mysql=false
509 mysqlfail=false
510 SAVE_LDFLAGS=$LDFLAGS
511 SAVE_CPPFLAGS=$CPPFLAGS
512 AC_MSG_CHECKING(for mysql)
513 AC_ARG_WITH(mysql,
514   [  --with-mysql=PFX        base of MySQL installation],
515   [AC_MSG_RESULT("$with_mysql")
516    if test "$with_mysql" != "no"
517    then
518     if test "$with_mysql" != "yes"
519     then
520       LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
521       CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
522     fi
523     AC_CHECK_HEADERS(mysql/mysql.h,
524      AC_CHECK_LIB(mysqlclient, mysql_init,
525       MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
526       MYSQL_CPPFLAGS="-I$with_mysql/include"
527
528       mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
529    fi
530   ],
531   [AC_MSG_RESULT([--with-mysql not specified])
532    LDFLAGS="-L/usr/lib/mysql $LDFLAGS $ZLIBS"
533    AC_CHECK_LIB(mysqlclient, mysql_init,
534     [AC_CHECK_HEADERS(mysql/mysql.h,
535       MYSQL_LDFLAGS="-L/usr/lib/mysql"
536       mysql=true
537
538      , [], [$CYGWIN_MYSQL_MAGIC])])
539   ])
540
541 AC_SUBST(MYSQL_LDFLAGS)
542 AC_SUBST(MYSQL_CPPFLAGS)
543
544 # additional version check for mysql
545 AC_ARG_ENABLE(mysql-version-check, [  --disable-mysql-version-check  do not check MySQL version],, enable_mysql_version_check=yes)
546 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
547 then
548   AC_MSG_CHECKING(mysql version)
549   AC_RUN_IFELSE([AC_LANG_PROGRAM(
550     [[$CYGWIN_MYSQL_MAGIC
551       #include <mysql/mysql.h>]],
552     [[if (MYSQL_VERSION_ID < 40100)
553         return(-1);
554       else
555         return(0);
556     ]])
557     ],mysql=true,mysql=false)
558   if test "$mysql" = "false"
559   then
560     mysqlfail=true
561     AC_MSG_RESULT([fail, >= 4.1 required])
562   else
563     AC_MSG_RESULT(ok)
564   fi
565 fi
566 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
567 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
568 # restore LIBS
569 LIBS=$SAVE_LIBS
570 LDFLAGS=$SAVE_LDFLAGS
571 CPPFLAGS=$SAVE_CPPFLAGS
572
573 if test "$sqlite" = 0 -a "$mysql" = 0
574 then
575  AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
576 fi
577
578 # libmicrohttpd
579 lmhd=0
580 AC_MSG_CHECKING([for libmicrohttpd])
581 AC_ARG_WITH(microhttpd,
582    [  --with-microhttpd=PFX   base of libmicrohttpd installation],
583    [AC_MSG_RESULT([$with_microhttpd])
584     case $with_microhttpd in
585       no)
586         ;;
587       yes)
588         AC_CHECK_HEADERS([microhttpd.h],
589           AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
590             AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
591               [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
592               AC_RUN_IFELSE([
593                 #include "$srcdir/src/include/platform.h"
594                 #include <microhttpd.h>
595                 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
596                ], [
597                AC_MSG_RESULT(ok)
598                lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
599             [],[#include "$srcdir/src/include/platform.h"
600                 #include <microhttpd.h>]),,
601             [#include "$srcdir/src/include/platform.h"])
602         ;;
603       *)
604         LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
605         CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
606         AC_CHECK_HEADERS(microhttpd.h,
607           AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
608             AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
609               EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
610               [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
611                AC_RUN_IFELSE([
612                 #include "$srcdir/src/include/platform.h"
613                 #include <microhttpd.h>
614                 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
615                ], [
616                AC_MSG_RESULT(ok)
617                lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
618             [],[#include "$srcdir/src/include/platform.h"
619                 #include <microhttpd.h>]),,
620             [#include "$srcdir/src/include/platform.h"])
621         ;;
622     esac
623    ],
624    [AC_MSG_RESULT([--with-microhttpd not specified])
625     AC_CHECK_HEADERS([microhttpd.h],
626       AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
627         AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
628           [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
629               AC_RUN_IFELSE([
630                 #include "$srcdir/src/include/platform.h"
631                 #include <microhttpd.h>
632                 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
633                ], [
634                AC_MSG_RESULT(ok)
635                lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
636         [],[#include "$srcdir/src/include/platform.h"
637             #include <microhttpd.h>]),,
638        [#include "$srcdir/src/include/platform.h"])])
639 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
640 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
641
642
643 # restore LIBS
644 LIBS=$SAVE_LIBS
645
646 # check for python & pexpect (used for some testcases only)
647 AM_PATH_PYTHON([2.6],, [:])
648 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
649
650 # check for gettext
651 AM_GNU_GETTEXT([external])
652 AM_GNU_GETTEXT_VERSION([0.16.1])
653
654 # check for iconv
655 AM_ICONV
656
657 # Checks for standard typedefs, structures, and compiler characteristics.
658 AC_TYPE_PID_T
659 AC_TYPE_SIZE_T
660 AC_TYPE_MODE_T
661 AC_HEADER_TIME
662 AC_HEADER_STAT
663 AC_HEADER_STDBOOL
664 AC_STRUCT_TM
665
666 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
667    [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
668    ],
669    [],
670    [
671       #include <sys/types.h>
672       #include <sys/socket.h>
673       #include <netinet/in.h>
674    ])
675
676
677
678 # Checks for library functions.
679 AC_FUNC_CLOSEDIR_VOID
680 AC_FUNC_FORK
681 AC_PROG_GCC_TRADITIONAL
682 AC_FUNC_MEMCMP
683 AC_FUNC_SELECT_ARGTYPES
684 AC_FUNC_CHOWN
685
686 AC_TYPE_SIGNAL
687 AC_FUNC_STAT
688 AC_FUNC_STRFTIME
689 AC_FUNC_VPRINTF
690 AC_HEADER_SYS_WAIT
691 AC_TYPE_OFF_T
692 AC_TYPE_UID_T
693 AC_CHECK_FUNCS([atoll stat64 strnlen mremap setrlimit sysconf initgroups strndup gethostbyname2 getpeerucred getpeereid setresuid $funcstocheck getifaddrs freeifaddrs])
694
695 # restore LIBS
696 LIBS=$SAVE_LIBS
697
698 gn_user_home_dir="~/.gnunet"
699 AC_ARG_WITH(user-home-dir,
700         AC_HELP_STRING(
701                 [--with-user-home-dir=DIR],
702                 [default user home directory (~/.gnunet)]),
703         [gn_user_home_dir=$withval])
704 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
705 gn_daemon_home_dir="/var/lib/gnunet"
706 AC_ARG_WITH(daemon-home-dir,
707         AC_HELP_STRING(
708                 [--with-daemon-home-dir=DIR],
709                 [default daemon home directory (/var/lib/gnunet)]),
710         [gn_daemon_home_dir=$withval])
711 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
712 gn_daemon_config_dir="/etc"
713 AC_ARG_WITH(daemon-config-dir,
714         AC_HELP_STRING(
715                 [--with-daemon-config-dir=DIR],
716                 [default daemon config directory (/etc)]),
717         [gn_daemon_config_dir=$withval])
718 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
719
720 GN_INTLINCL=""
721 GN_LIBINTL="$LTLIBINTL"
722 AC_ARG_ENABLE(framework, [  --enable-framework      enable Mac OS X framework build helpers],enable_framework_build=$enableval)
723 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
724 if test x$enable_framework_build = xyes
725 then
726   AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
727   GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
728   GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
729   AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL]) 
730 fi
731
732 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
733 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
734
735 AC_SUBST(GN_LIB_LDFLAGS)
736 AC_SUBST(GN_PLUGIN_LDFLAGS)
737 AC_SUBST(GN_INTLINCL)
738 AC_SUBST(GN_LIBINTL)
739
740 AC_SUBST(CPPFLAGS)
741 AC_SUBST(LIBS)
742 AC_SUBST(LDFLAGS)
743 AC_SUBST(EXT_LIB_PATH)
744 AC_SUBST(EXT_LIBS)
745
746 AC_SUBST(LIBPREFIX)
747 AC_SUBST(DLLDIR)
748 AC_SUBST(EXT_LIB_PATH)
749
750
751 # test for sudo
752 AC_MSG_CHECKING(for sudo)
753 AC_ARG_WITH(sudo,
754   [  --with-sudo=PATH       path to sudo binary (or just yes)],
755   [AC_MSG_RESULT("$with_sudo")
756    case $with_sudo in
757    no)
758      SUDO_BINARY=
759      ;;
760    yes)
761      SUDO_BINARY=sudo
762      ;;
763    *)
764      SUDO_BINARY=$with_sudo
765     ;;
766    esac
767   ],
768   [AC_MSG_RESULT([no])])
769 AC_SUBST(SUDO_BINARY)
770 AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /])
771
772 # test for gnunetdns group name
773 GNUNETDNS_GROUP=gnunetdns
774 AC_MSG_CHECKING(for gnunetdns group name)
775 AC_ARG_WITH(gnunetdns,
776   [  --with-gnunetdns=GRPNAME       name for gnunetdns group],
777   [AC_MSG_RESULT("$with_gnunetdns")
778    case $with_gnunetdns in
779    no)
780      GNUNETDNS_GROUP=gnunet
781      ;;
782    yes)
783      GNUNETDNS_GROUP=gnunetdns
784      ;;
785    *)
786      GNUNETDNS_GROUP=$with_gnunetdns
787     ;;
788    esac
789   ],
790   [AC_MSG_RESULT([gnunetdns])])
791 AC_SUBST(GNUNETDNS_GROUP)
792
793
794
795 # gnutls
796 gnutls=0
797 AC_MSG_CHECKING(for gnutls)
798 AC_ARG_WITH(gnutls,
799    [  --with-gnutls=PFX   base of gnutls installation],
800    [AC_MSG_RESULT([$with_gnutls])
801     case $with_gnutls in
802       no)
803         ;;
804       yes)
805         AC_CHECK_HEADERS([gnutls/abstract.h],
806             AC_CHECK_LIB([gnutls], [gnutls_priority_set],
807              gnutls=true))
808         ;;
809       *)
810         LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
811         CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
812         AC_CHECK_HEADERS([gnutls/abstract.h],
813             AC_CHECK_LIB([gnutls], [gnutls_priority_set],
814               EXT_LIB_PATH="-L$with_gnutls/lib $EXT_LIB_PATH"
815               gnutls=true))
816         ;;
817     esac
818    ],
819    [AC_MSG_RESULT([--with-gnutls not specified])
820     AC_CHECK_HEADERS([gnutls/abstract.h],
821         AC_CHECK_LIB([gnutls], [gnutls_priority_set],
822           gnutls=true))])
823 AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
824 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have gnutls])
825
826
827
828 # should 'make check' run tests?
829 AC_MSG_CHECKING(whether to run tests)
830 AC_ARG_ENABLE([testruns],
831    [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
832    [enable_tests_run=${enableval}],
833    [enable_tests_run=yes])
834 AC_MSG_RESULT($enable_test_run)
835 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
836
837
838 # should monkey be used when running (certain) services?
839 AC_MSG_CHECKING(whether to run with monkey)
840 AC_ARG_ENABLE([monkey],
841    [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
842    [enable_monkey=${enableval}],
843    [enable_monkey=no])
844 AC_MSG_RESULT($enable_monkey)
845 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
846 if test "x$enable_monkey" = "xyes"
847 then
848   MONKEYPREFIX="monkey"
849 else
850   MONKEYPREFIX=""
851 fi
852 AC_SUBST(MONKEYPREFIX)
853
854
855 # should expensive tests be run?
856 AC_MSG_CHECKING(whether to run expensive tests)
857 AC_ARG_ENABLE([expensivetests],
858    [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
859    [enable_expensive=${enableval}],
860    [enable_expensive=no])
861 AC_MSG_RESULT($enable_expensive)
862 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
863
864 # should ports be open for Java services?
865 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
866 AC_ARG_ENABLE([javaports],
867    [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
868    [enable_java_ports=${enableval}],
869    [enable_java_ports=no])
870 AC_MSG_RESULT($enable_java_ports)
871 if test "x$enable_java_ports" = "xyes"
872 then
873   JAVAPORT=""
874 else
875   JAVAPORT="$UNIXONLY"
876 fi
877 AC_SUBST(JAVAPORT)
878
879 # should benchmarks be run?
880 AC_MSG_CHECKING(whether to run benchmarks during make check)
881 AC_ARG_ENABLE([benchmarks],
882    [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
883    [enable_benchmarks=${enableval}],
884    [enable_benchmarks=no])
885 AC_MSG_RESULT($enable_benchmarks)
886 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
887
888 # should experimental code be compiled (code that may not yet compile)?
889 AC_MSG_CHECKING(whether to compile experimental code)
890 AC_ARG_ENABLE([experimental],
891    [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
892    [enable_experimental=${enableval}],
893    [enable_experimental=no])
894 AC_MSG_RESULT($enable_experimental)
895 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
896
897 # should code be enabled that works around missing OS functionality on Windows?
898 # used for test cases
899 if test $build_target = "mingw"
900 then
901         workarounds=1
902
903 AC_LINK_IFELSE(
904  [AC_LANG_PROGRAM(
905   [#include <ws2tcpip.h>
906   ],[
907   int s = socket (0, 0, 0);])
908  ],[
909   AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
910  ],[
911   AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
912  ])
913
914 AC_LINK_IFELSE(
915  [AC_LANG_PROGRAM(
916   [#include <ws2tcpip.h>
917   ],[
918   int s = select (0, NULL, NULL, NULL, NULL);])
919  ],[
920   AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
921  ],[
922   AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
923  ])
924
925 AC_LINK_IFELSE(
926  [AC_LANG_PROGRAM(
927   [#include <ws2tcpip.h>
928   ],[
929   struct in_addr i;
930   char *s = inet_ntoa (i);])
931  ],[
932   AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
933  ],[
934   AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
935  ])
936
937 AC_LINK_IFELSE(
938  [AC_LANG_PROGRAM(
939   [#include <ws2tcpip.h>
940   ],[
941   int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
942  ],[
943   AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
944  ],[
945   AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
946  ])
947
948 AC_LINK_IFELSE(
949  [AC_LANG_PROGRAM(
950   [#include <ws2tcpip.h>
951   ],[
952   int s = gethostname (NULL, 0);])
953  ],[
954   AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
955  ],[
956   AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
957  ])
958
959 AC_LINK_IFELSE(
960  [AC_LANG_PROGRAM(
961   [#include <ws2tcpip.h>
962   ],[
963   void *s = gethostbyname (NULL);])
964  ],[
965   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
966  ],[
967   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
968  ])
969
970 AC_LINK_IFELSE(
971  [AC_LANG_PROGRAM(
972   [#include <ws2tcpip.h>
973   ],[
974   void *s = gethostbyaddr (NULL, 0, 0);])
975  ],[
976   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
977  ],[
978   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
979  ])
980
981 AC_LINK_IFELSE(
982  [AC_LANG_PROGRAM(
983   [#include <ws2tcpip.h>
984   ],[
985   int s = getaddrinfo (NULL, NULL, NULL, NULL);])
986  ],[
987   AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
988  ],[
989   AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
990  ])
991
992 else
993   AC_MSG_CHECKING(whether to enable windows workarounds)
994   AC_ARG_ENABLE([windows_workarounds], 
995      [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
996      [enable_workarounds=${enableval}],
997      [enable_workarounds=no])
998   AC_MSG_RESULT($enable_workarounds)
999   if test x$enable_windows_workarounds = "xyes"
1000   then
1001      workarounds=1
1002   else
1003      workarounds=0
1004    fi
1005 fi
1006 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
1007
1008 # gcov compilation
1009 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
1010 AC_ARG_ENABLE([coverage], 
1011               AS_HELP_STRING([--enable-coverage],
1012                              [compile the library with code coverage support]),
1013               [use_gcov=${enableval}], 
1014               [use_gcov=no])
1015 AC_MSG_RESULT($use_gcov)
1016 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
1017
1018
1019 AC_CONFIG_FILES([ 
1020 Makefile
1021 contrib/Makefile
1022 doc/Makefile
1023 doc/man/Makefile
1024 m4/Makefile
1025 po/Makefile.in 
1026 src/Makefile
1027 src/arm/Makefile
1028 src/arm/arm.conf
1029 src/ats/Makefile
1030 src/ats/ats.conf
1031 src/block/Makefile
1032 src/chat/Makefile
1033 src/chat/chat.conf
1034 src/core/Makefile
1035 src/core/core.conf
1036 src/datacache/Makefile
1037 src/datastore/Makefile
1038 src/datastore/datastore.conf
1039 src/dht/Makefile
1040 src/dht/dht.conf
1041 src/dns/Makefile
1042 src/dns/dns.conf
1043 src/dv/Makefile
1044 src/dv/dv.conf
1045 src/exit/Makefile
1046 src/fragmentation/Makefile
1047 src/fs/Makefile
1048 src/fs/fs.conf
1049 src/gns/Makefile
1050 src/gns/gns.conf
1051 src/gns/nss/Makefile
1052 src/hello/Makefile
1053 src/include/Makefile
1054 src/include/gnunet_directories.h
1055 src/hostlist/Makefile
1056 src/lockmanager/Makefile
1057 src/lockmanager/lockmanager.conf
1058 src/mesh/Makefile
1059 src/mesh/mesh.conf
1060 src/mysql/Makefile
1061 src/namestore/Makefile
1062 src/namestore/namestore.conf
1063 src/nat/Makefile
1064 src/nse/Makefile
1065 src/nse/nse.conf
1066 src/peerinfo/Makefile
1067 src/peerinfo/peerinfo.conf
1068 src/peerinfo-tool/Makefile
1069 src/postgres/Makefile
1070 src/pt/Makefile
1071 src/regex/Makefile
1072 src/statistics/Makefile
1073 src/statistics/statistics.conf
1074 src/stream/Makefile
1075 src/template/Makefile
1076 src/testbed/Makefile
1077 src/testbed/testbed.conf
1078 src/testing/Makefile
1079 src/testing_old/Makefile
1080 src/topology/Makefile
1081 src/transport/Makefile
1082 src/transport/transport.conf
1083 src/tun/Makefile
1084 src/util/Makefile
1085 src/util/resolver.conf
1086 src/vpn/Makefile
1087 src/vpn/vpn.conf
1088 src/integration-tests/Makefile
1089 pkgconfig/Makefile
1090 pkgconfig/gnunetarm.pc
1091 pkgconfig/gnunetblock.pc
1092 pkgconfig/gnunetcore.pc
1093 pkgconfig/gnunetdatacache.pc
1094 pkgconfig/gnunetdatastore.pc
1095 pkgconfig/gnunetdht.pc
1096 pkgconfig/gnunetdhtlog.pc
1097 pkgconfig/gnunetdv.pc
1098 pkgconfig/gnunetfragmentation.pc
1099 pkgconfig/gnunetfs.pc
1100 pkgconfig/gnunethello.pc
1101 pkgconfig/gnunetnat.pc
1102 pkgconfig/gnunetnse.pc
1103 pkgconfig/gnunetpeerinfo.pc
1104 pkgconfig/gnunetregex.pc
1105 pkgconfig/gnunetstatistics.pc
1106 pkgconfig/gnunettesting.pc
1107 pkgconfig/gnunettransport.pc
1108 pkgconfig/gnunetutil.pc
1109 ])
1110 AC_OUTPUT
1111
1112 # Finally: summary!
1113
1114 # warn user if mysql found but not used due to version
1115 if test "$mysqlfail" = "true"
1116 then
1117   AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1118 fi
1119
1120 # sqlite
1121 if test "x$sqlite" = "x0"
1122 then
1123   AC_MSG_NOTICE([NOTICE: sqlite not found.  sqLite support will not be compiled.])
1124 fi
1125
1126 #gnutls
1127 if test x$gnutls != xtrue
1128 then
1129   AC_MSG_NOTICE([NOTICE: gnutls not found, gnunet-gns-proxy will not be built])
1130 fi
1131
1132 # java ports
1133 if test "x$enable_java_ports" = "xyes"
1134 then
1135   AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1136 fi
1137
1138 if test "x$lmhd" != "x1"
1139 then
1140  AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1141 fi
1142
1143 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1144
1145 if test "$enable_framework_build" = "yes"
1146 then
1147   AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1148 fi
1149
1150 if test "x$SUDO_BINARY" = "x" -a ! -w /
1151 then
1152   AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library])
1153 fi
1154
1155
1156 AC_MSG_NOTICE([********************************************
1157 You can compile GNUnet with
1158         make
1159 now. After that, run (if necessary as 'root')
1160         make install
1161 to install everything. You may want to create a new user account
1162 to run the GNUnet service:
1163         adduser gnunet
1164 You also need to create an configuration file that should
1165 specify the path where GNUnet should store data.  For example,
1166 you could store in "/etc/gnunet.conf" the following lines:
1167
1168 [[PATHS]]
1169 SERVICEHOME = /var/lib/gnunet
1170 DEFAULTCONFIG = /etc/gnunet.conf
1171
1172 Now, in order to start your peer, run as the 'gnunet' user
1173         gnunet-arm -s
1174
1175 Each GNUnet user should also create an (at least initially) empty
1176 configuration file:
1177         mkdir $HOME/.gnunet/
1178         touch $HOME/.gnunet/gnunet.conf
1179         
1180 Optionally, download and compile:
1181 - gnunet-gtk to get a GUI for file-sharing and configuration.
1182 ********************************************])