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