testbed service build system
[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="socket select inet_ntoa 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])
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 if test "$PYTHON" != :
651 then
652   AC_MSG_CHECKING([for pexpect])
653   $PYTHON -c "import pexpect" > /dev/null 2> /dev/null
654   PYEX=$?
655   AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, test $PYEX -eq 0)
656   if test $PYEX -eq 0
657   then
658     AC_MSG_RESULT([yes])
659   else
660     AC_MSG_RESULT([not found])
661   fi
662 else
663   AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, 0)
664 fi
665
666
667 # check for gettext
668 AM_GNU_GETTEXT([external])
669 AM_GNU_GETTEXT_VERSION([0.16.1])
670
671 # check for iconv
672 AM_ICONV
673
674 # Checks for standard typedefs, structures, and compiler characteristics.
675 AC_TYPE_PID_T
676 AC_TYPE_SIZE_T
677 AC_TYPE_MODE_T
678 AC_HEADER_TIME
679 AC_HEADER_STAT
680 AC_HEADER_STDBOOL
681 AC_STRUCT_TM
682
683 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
684    [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
685    ],
686    [],
687    [
688       #include <sys/types.h>
689       #include <sys/socket.h>
690       #include <netinet/in.h>
691    ])
692
693
694
695 # Checks for library functions.
696 AC_FUNC_CLOSEDIR_VOID
697 AC_FUNC_FORK
698 AC_PROG_GCC_TRADITIONAL
699 AC_FUNC_MEMCMP
700 AC_FUNC_SELECT_ARGTYPES
701 AC_FUNC_CHOWN
702
703 AC_TYPE_SIGNAL
704 AC_FUNC_STAT
705 AC_FUNC_STRFTIME
706 AC_FUNC_VPRINTF
707 AC_HEADER_SYS_WAIT
708 AC_TYPE_OFF_T
709 AC_TYPE_UID_T
710 AC_CHECK_FUNCS([floor memmove rmdir strncasecmp strrchr strtol atoll dup2 fdatasync ftruncate gettimeofday memset mkdir mkfifo strcasecmp strchr strdup strerror strstr clock_gettime getrusage rand uname setlocale getcwd mktime gmtime_r gmtime strlcpy strlcat ftruncate stat64 sbrk mmap mremap setrlimit sysconf initgroups getifaddrs freeifaddrs localtime_r nl_langinfo putenv realpath strndup gethostbyname2 gethostbyname getpeerucred getpeereid setresuid $funcstocheck])
711
712 # restore LIBS
713 LIBS=$SAVE_LIBS
714
715 gn_user_home_dir="~/.gnunet"
716 AC_ARG_WITH(user-home-dir,
717         AC_HELP_STRING(
718                 [--with-user-home-dir=DIR],
719                 [default user home directory (~/.gnunet)]),
720         [gn_user_home_dir=$withval])
721 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
722 gn_daemon_home_dir="/var/lib/gnunet"
723 AC_ARG_WITH(daemon-home-dir,
724         AC_HELP_STRING(
725                 [--with-daemon-home-dir=DIR],
726                 [default daemon home directory (/var/lib/gnunet)]),
727         [gn_daemon_home_dir=$withval])
728 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
729 gn_daemon_config_dir="/etc"
730 AC_ARG_WITH(daemon-config-dir,
731         AC_HELP_STRING(
732                 [--with-daemon-config-dir=DIR],
733                 [default daemon config directory (/etc)]),
734         [gn_daemon_config_dir=$withval])
735 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
736
737 GN_INTLINCL=""
738 GN_LIBINTL="$LTLIBINTL"
739 AC_ARG_ENABLE(framework, [  --enable-framework      enable Mac OS X framework build helpers],enable_framework_build=$enableval)
740 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
741 if test x$enable_framework_build = xyes
742 then
743   AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
744   GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
745   GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
746   AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL]) 
747 fi
748
749 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
750 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
751
752 AC_SUBST(GN_LIB_LDFLAGS)
753 AC_SUBST(GN_PLUGIN_LDFLAGS)
754 AC_SUBST(GN_INTLINCL)
755 AC_SUBST(GN_LIBINTL)
756
757 AC_SUBST(CPPFLAGS)
758 AC_SUBST(LIBS)
759 AC_SUBST(LDFLAGS)
760 AC_SUBST(EXT_LIB_PATH)
761 AC_SUBST(EXT_LIBS)
762
763 AC_SUBST(LIBPREFIX)
764 AC_SUBST(DLLDIR)
765 AC_SUBST(EXT_LIB_PATH)
766
767
768 # test for sudo
769 AC_MSG_CHECKING(for sudo)
770 AC_ARG_WITH(sudo,
771   [  --with-sudo=PATH       path to sudo binary (or just yes)],
772   [AC_MSG_RESULT("$with_sudo")
773    case $with_sudo in
774    no)
775      SUDO_BINARY=
776      ;;
777    yes)
778      SUDO_BINARY=sudo
779      ;;
780    *)
781      SUDO_BINARY=$with_sudo
782     ;;
783    esac
784   ],
785   [AC_MSG_RESULT([no])])
786 AC_SUBST(SUDO_BINARY)
787 AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /])
788
789 # test for gnunetdns group name
790 GNUNETDNS_GROUP=gnunetdns
791 AC_MSG_CHECKING(for gnunetdns group name)
792 AC_ARG_WITH(gnunetdns,
793   [  --with-gnunetdns=GRPNAME       name for gnunetdns group],
794   [AC_MSG_RESULT("$with_gnunetdns")
795    case $with_gnunetdns in
796    no)
797      GNUNETDNS_GROUP=gnunet
798      ;;
799    yes)
800      GNUNETDNS_GROUP=gnunetdns
801      ;;
802    *)
803      GNUNETDNS_GROUP=$with_gnunetdns
804     ;;
805    esac
806   ],
807   [AC_MSG_RESULT([gnunetdns])])
808 AC_SUBST(GNUNETDNS_GROUP)
809
810
811
812 # gnutls
813 gnutls=0
814 AC_MSG_CHECKING(for gnutls)
815 AC_ARG_WITH(gnutls,
816    [  --with-gnutls=PFX   base of gnutls installation],
817    [AC_MSG_RESULT([$with_gnutls])
818     case $with_gnutls in
819       no)
820         ;;
821       yes)
822         AC_CHECK_HEADERS([gnutls/abstract.h],
823             AC_CHECK_LIB([gnutls], [gnutls_priority_set],
824              gnutls=true))
825         ;;
826       *)
827         LDFLAGS="-L$with_gnutls/lib $LDFLAGS"
828         CPPFLAGS="-I$with_gnutls/include $CPPFLAGS"
829         AC_CHECK_HEADERS([gnutls/abstract.h],
830             AC_CHECK_LIB([gnutls], [gnutls_priority_set],
831               EXT_LIB_PATH="-L$with_gnutls/lib $EXT_LIB_PATH"
832               gnutls=true))
833         ;;
834     esac
835    ],
836    [AC_MSG_RESULT([--with-gnutls not specified])
837     AC_CHECK_HEADERS([gnutls/abstract.h],
838         AC_CHECK_LIB([gnutls], [gnutls_priority_set],
839           gnutls=true))])
840 AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue)
841 AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have gnutls])
842
843
844
845 # should 'make check' run tests?
846 AC_MSG_CHECKING(whether to run tests)
847 AC_ARG_ENABLE([testruns],
848    [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
849    [enable_tests_run=${enableval}],
850    [enable_tests_run=yes])
851 AC_MSG_RESULT($enable_test_run)
852 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
853
854
855 # should monkey be used when running (certain) services?
856 AC_MSG_CHECKING(whether to run with monkey)
857 AC_ARG_ENABLE([monkey],
858    [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
859    [enable_monkey=${enableval}],
860    [enable_monkey=no])
861 AC_MSG_RESULT($enable_monkey)
862 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
863 if test "x$enable_monkey" = "xyes"
864 then
865   MONKEYPREFIX="monkey"
866 else
867   MONKEYPREFIX=""
868 fi
869 AC_SUBST(MONKEYPREFIX)
870
871
872 # should expensive tests be run?
873 AC_MSG_CHECKING(whether to run expensive tests)
874 AC_ARG_ENABLE([expensivetests],
875    [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
876    [enable_expensive=${enableval}],
877    [enable_expensive=no])
878 AC_MSG_RESULT($enable_expensive)
879 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
880
881 # should ports be open for Java services?
882 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
883 AC_ARG_ENABLE([javaports],
884    [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
885    [enable_java_ports=${enableval}],
886    [enable_java_ports=no])
887 AC_MSG_RESULT($enable_java_ports)
888 if test "x$enable_java_ports" = "xyes"
889 then
890   JAVAPORT=""
891 else
892   JAVAPORT="$UNIXONLY"
893 fi
894 AC_SUBST(JAVAPORT)
895
896 # should benchmarks be run?
897 AC_MSG_CHECKING(whether to run benchmarks during make check)
898 AC_ARG_ENABLE([benchmarks],
899    [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
900    [enable_benchmarks=${enableval}],
901    [enable_benchmarks=no])
902 AC_MSG_RESULT($enable_benchmarks)
903 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
904
905 # should experimental code be compiled (code that may not yet compile)?
906 AC_MSG_CHECKING(whether to compile experimental code)
907 AC_ARG_ENABLE([experimental],
908    [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
909    [enable_experimental=${enableval}],
910    [enable_experimental=no])
911 AC_MSG_RESULT($enable_experimental)
912 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
913
914 # should code be enabled that works around missing OS functionality on Windows?
915 # used for test cases
916 if test $build_target = "mingw"
917 then
918         workarounds=1
919
920 AC_LINK_IFELSE(
921  [AC_LANG_PROGRAM(
922   [#include <ws2tcpip.h>
923   ],[
924   int s = socket (0, 0, 0);])
925  ],[
926   AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
927  ],[
928   AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
929  ])
930
931 AC_LINK_IFELSE(
932  [AC_LANG_PROGRAM(
933   [#include <ws2tcpip.h>
934   ],[
935   int s = select (0, NULL, NULL, NULL, NULL);])
936  ],[
937   AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
938  ],[
939   AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
940  ])
941
942 AC_LINK_IFELSE(
943  [AC_LANG_PROGRAM(
944   [#include <ws2tcpip.h>
945   ],[
946   struct in_addr i;
947   char *s = inet_ntoa (i);])
948  ],[
949   AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
950  ],[
951   AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
952  ])
953
954 AC_LINK_IFELSE(
955  [AC_LANG_PROGRAM(
956   [#include <ws2tcpip.h>
957   ],[
958   int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
959  ],[
960   AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
961  ],[
962   AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
963  ])
964
965 AC_LINK_IFELSE(
966  [AC_LANG_PROGRAM(
967   [#include <ws2tcpip.h>
968   ],[
969   int s = gethostname (NULL, 0);])
970  ],[
971   AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
972  ],[
973   AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
974  ])
975
976 AC_LINK_IFELSE(
977  [AC_LANG_PROGRAM(
978   [#include <ws2tcpip.h>
979   ],[
980   void *s = gethostbyname (NULL);])
981  ],[
982   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
983  ],[
984   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
985  ])
986
987 AC_LINK_IFELSE(
988  [AC_LANG_PROGRAM(
989   [#include <ws2tcpip.h>
990   ],[
991   void *s = gethostbyaddr (NULL, 0, 0);])
992  ],[
993   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
994  ],[
995   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
996  ])
997
998 AC_LINK_IFELSE(
999  [AC_LANG_PROGRAM(
1000   [#include <ws2tcpip.h>
1001   ],[
1002   int s = getaddrinfo (NULL, NULL, NULL, NULL);])
1003  ],[
1004   AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1005  ],[
1006   AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
1007  ])
1008
1009 else
1010   AC_MSG_CHECKING(whether to enable windows workarounds)
1011   AC_ARG_ENABLE([windows_workarounds], 
1012      [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
1013      [enable_workarounds=${enableval}],
1014      [enable_workarounds=no])
1015   AC_MSG_RESULT($enable_workarounds)
1016   if test x$enable_windows_workarounds = "xyes"
1017   then
1018      workarounds=1
1019   else
1020      workarounds=0
1021    fi
1022 fi
1023 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
1024
1025 # gcov compilation
1026 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
1027 AC_ARG_ENABLE([coverage], 
1028               AS_HELP_STRING([--enable-coverage],
1029                              [compile the library with code coverage support]),
1030               [use_gcov=${enableval}], 
1031               [use_gcov=no])
1032 AC_MSG_RESULT($use_gcov)
1033 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
1034
1035
1036 AC_CONFIG_FILES([ 
1037 Makefile
1038 contrib/Makefile
1039 doc/Makefile
1040 doc/man/Makefile
1041 m4/Makefile
1042 po/Makefile.in 
1043 src/Makefile
1044 src/arm/Makefile
1045 src/arm/arm.conf
1046 src/ats/Makefile
1047 src/ats/ats.conf
1048 src/block/Makefile
1049 src/chat/Makefile
1050 src/chat/chat.conf
1051 src/core/Makefile
1052 src/core/core.conf
1053 src/datacache/Makefile
1054 src/datastore/Makefile
1055 src/datastore/datastore.conf
1056 src/dht/Makefile
1057 src/dht/dht.conf
1058 src/dns/Makefile
1059 src/dns/dns.conf
1060 src/dv/Makefile
1061 src/dv/dv.conf
1062 src/exit/Makefile
1063 src/fragmentation/Makefile
1064 src/fs/Makefile
1065 src/fs/fs.conf
1066 src/gns/Makefile
1067 src/gns/gns.conf
1068 src/gns/nss/Makefile
1069 src/hello/Makefile
1070 src/include/Makefile
1071 src/include/gnunet_directories.h
1072 src/hostlist/Makefile
1073 src/lockmanager/Makefile
1074 src/lockmanager/lockmanager.conf
1075 src/mesh/Makefile
1076 src/mesh/mesh.conf
1077 src/mysql/Makefile
1078 src/namestore/Makefile
1079 src/namestore/namestore.conf
1080 src/nat/Makefile
1081 src/nse/Makefile
1082 src/nse/nse.conf
1083 src/peerinfo/Makefile
1084 src/peerinfo/peerinfo.conf
1085 src/peerinfo-tool/Makefile
1086 src/postgres/Makefile
1087 src/pt/Makefile
1088 src/regex/Makefile
1089 src/statistics/Makefile
1090 src/statistics/statistics.conf
1091 src/stream/Makefile
1092 src/template/Makefile
1093 src/testbed/Makefile
1094 src/testbed/testbed.conf
1095 src/testing/Makefile
1096 src/testing_old/Makefile
1097 src/topology/Makefile
1098 src/transport/Makefile
1099 src/transport/transport.conf
1100 src/tun/Makefile
1101 src/util/Makefile
1102 src/util/resolver.conf
1103 src/vpn/Makefile
1104 src/vpn/vpn.conf
1105 src/integration-tests/Makefile
1106 pkgconfig/Makefile
1107 pkgconfig/gnunetarm.pc
1108 pkgconfig/gnunetblock.pc
1109 pkgconfig/gnunetcore.pc
1110 pkgconfig/gnunetdatacache.pc
1111 pkgconfig/gnunetdatastore.pc
1112 pkgconfig/gnunetdht.pc
1113 pkgconfig/gnunetdhtlog.pc
1114 pkgconfig/gnunetdv.pc
1115 pkgconfig/gnunetfragmentation.pc
1116 pkgconfig/gnunetfs.pc
1117 pkgconfig/gnunethello.pc
1118 pkgconfig/gnunetnat.pc
1119 pkgconfig/gnunetnse.pc
1120 pkgconfig/gnunetpeerinfo.pc
1121 pkgconfig/gnunetregex.pc
1122 pkgconfig/gnunetstatistics.pc
1123 pkgconfig/gnunettesting.pc
1124 pkgconfig/gnunettransport.pc
1125 pkgconfig/gnunetutil.pc
1126 ])
1127 AC_OUTPUT
1128
1129 # Finally: summary!
1130
1131 # warn user if mysql found but not used due to version
1132 if test "$mysqlfail" = "true"
1133 then
1134   AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1135 fi
1136
1137 # sqlite
1138 if test "x$sqlite" = "x0"
1139 then
1140   AC_MSG_NOTICE([NOTICE: sqlite not found.  sqLite support will not be compiled.])
1141 fi
1142
1143 #gnutls
1144 if test x$gnutls != xtrue
1145 then
1146   AC_MSG_NOTICE([NOTICE: gnutls not found, gnunet-gns-proxy will not be built])
1147 fi
1148
1149 # java ports
1150 if test "x$enable_java_ports" = "xyes"
1151 then
1152   AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1153 fi
1154
1155 if test "x$lmhd" != "x1"
1156 then
1157  AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1158 fi
1159
1160 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1161
1162 if test "$enable_framework_build" = "yes"
1163 then
1164   AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1165 fi
1166
1167 if test "x$SUDO_BINARY" = "x" -a ! -w /
1168 then
1169   AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library])
1170 fi
1171
1172
1173 AC_MSG_NOTICE([********************************************
1174 You can compile GNUnet with
1175         make
1176 now. After that, run (if necessary as 'root')
1177         make install
1178 to install everything. You may want to create a new user account
1179 to run the GNUnet service:
1180         adduser gnunet
1181 You also need to create an configuration file that should
1182 specify the path where GNUnet should store data.  For example,
1183 you could store in "/etc/gnunet.conf" the following lines:
1184
1185 [[PATHS]]
1186 SERVICEHOME = /var/lib/gnunet
1187 DEFAULTCONFIG = /etc/gnunet.conf
1188
1189 Now, in order to start your peer, run as the 'gnunet' user
1190         gnunet-arm -s
1191
1192 Each GNUnet user should also create an (at least initially) empty
1193 configuration file:
1194         mkdir $HOME/.gnunet/
1195         touch $HOME/.gnunet/gnunet.conf
1196         
1197 Optionally, download and compile:
1198 - gnunet-gtk to get a GUI for file-sharing and configuration.
1199 ********************************************])