-fix build error
[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 # test for kvm and kstat (for CPU stats under BSD/Solaris)
343 AC_CHECK_LIB([kvm],[kvm_open])
344 AC_CHECK_LIB([kstat],[kstat_open])
345
346 # test for libextractor
347 extractor=0
348 AC_MSG_CHECKING(for libextractor)
349 AC_ARG_WITH(extractor,
350    [  --with-extractor=PFX    base of libextractor installation],
351    [AC_MSG_RESULT([$with_extractor])
352     case $with_extractor in
353       no)
354         ;;
355       yes)
356         AC_CHECK_HEADERS(extractor.h,
357           AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
358             extractor=1))
359         ;;
360       *)
361         LDFLAGS="-L$with_extractor/lib $LDFLAGS"
362         CPPFLAGS="-I$with_extractor/include $CPPFLAGS"
363         AC_CHECK_HEADERS(extractor.h,
364           AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
365             EXT_LIB_PATH="-L$with_extractor/lib $EXT_LIB_PATH"
366             extractor=1))
367         ;;
368     esac
369    ],
370    [AC_MSG_RESULT([--with-extractor not specified])
371     AC_CHECK_HEADERS(extractor.h,
372      AC_CHECK_LIB([extractor], [EXTRACTOR_plugin_add_defaults],
373       extractor=1))])
374 if test "$extractor" != 1
375 then
376  AC_MSG_ERROR([GNUnet requires libextractor])
377 fi
378 # restore LIBS
379 LIBS=$SAVE_LIBS
380
381 # test for libunistring
382 gl_LIBUNISTRING
383 if test $HAVE_LIBUNISTRING != yes; then
384  AC_MSG_ERROR([GNUnet requires libunistring])
385 fi
386 if test $gl_libunistring_hexversion -le 2305; then
387  AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1])
388 fi
389 # restore LIBS
390 LIBS=$SAVE_LIBS
391
392
393
394 # Checks for standard header files.
395 AC_HEADER_DIRENT
396 AC_HEADER_STDC
397
398 # Check for headers that are ALWAYS required
399 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]))
400
401 # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there)
402 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])
403
404 SAVE_LDFLAGS=$LDFLAGS
405 SAVE_CPPFLAGS=$CPPFLAGS
406
407 # test for sqlite
408 sqlite=false
409 AC_MSG_CHECKING(for SQLite)
410 AC_ARG_WITH(sqlite,
411   [  --with-sqlite=PFX       base of SQLite installation],
412   [AC_MSG_RESULT("$with_sqlite")
413    case $with_sqlite in
414    no)
415      ;;
416    yes)
417     AC_CHECK_HEADERS(sqlite3.h,
418      sqlite=true)
419      ;;
420    *)
421     LDFLAGS="-L$with_sqlite/lib $LDFLAGS"
422     CPPFLAGS="-I$with_sqlite/include $CPPFLAGS"
423     AC_CHECK_HEADERS(sqlite3.h,
424      EXT_LIB_PATH="-L$with_sqlite/lib $EXT_LIB_PATH"
425      SQLITE_LDFLAGS="-L$with_sqlite/lib"
426      SQLITE_CPPFLAGS="-I$with_sqlite/include"
427      sqlite=true)
428     LDFLAGS=$SAVE_LDFLAGS
429     CPPFLAGS=$SAVE_CPPFLAGS
430     ;;
431    esac
432   ],
433   [AC_MSG_RESULT([--with-sqlite not specified])
434     AC_CHECK_HEADERS(sqlite3.h, sqlite=true)])
435 AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue)
436 AC_SUBST(SQLITE_CPPFLAGS)
437 AC_SUBST(SQLITE_LDFLAGS)
438
439 # test for postgres
440 postgres=false
441 AC_MSG_CHECKING(for postgres)
442 AC_ARG_WITH(postgres,
443   [  --with-postgres=PFX       base of postgres installation],
444   [AC_MSG_RESULT("$with_postgres")
445    case $with_postgres in
446    no)
447      ;;
448    yes)
449     AC_CHECK_HEADERS(postgresql/libpq-fe.h,
450      postgres=true)
451      ;;
452    *)
453     LDFLAGS="-L$with_postgres/lib $LDFLAGS"
454     CPPFLAGS="-I$with_postgres/include $CPPFLAGS"
455     AC_CHECK_HEADERS(postgresql/libpq-fe.h,
456      EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH"
457      POSTGRES_LDFLAGS="-L$with_postgres/lib"
458      POSTGRES_CPPFLAGS="-I$with_postgres/include"
459      postgres=true)
460     LDFLAGS=$SAVE_LDFLAGS
461     CPPFLAGS=$SAVE_CPPFLAGS
462     ;;
463    esac
464   ],
465   [AC_MSG_RESULT([--with-postgres not specified])
466     AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)])
467 AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue)
468 AC_SUBST(POSTGRES_CPPFLAGS)
469 AC_SUBST(POSTGRES_LDFLAGS)
470
471 # test for libz (maybe required for linking mysql)
472 zlib=1
473 AC_CHECK_LIB(z, compress,,zlib=0)
474 AM_CONDITIONAL(HAVE_ZLIB, test x$zlib = x1)
475 if test "$zlib" != 1
476 then
477  AC_MSG_ERROR([GNUnet requires zlib])
478 fi
479
480 # mysql & windows
481 AC_CHECK_TYPES([sigset_t, off_t], [], [], [#include <sys/types.h>])
482 AC_CHECK_TYPES([size_t], [], [], [#include <stdio.h>])
483
484 if test "$build_target" = "mingw"
485 then
486   CYGWIN_MYSQL_MAGIC="#include <mysql/my_global.h>"
487 fi
488
489 # test for mysql
490 mysql=false
491 mysqlfail=false
492 SAVE_LDFLAGS=$LDFLAGS
493 SAVE_CPPFLAGS=$CPPFLAGS
494 AC_MSG_CHECKING(for mysql)
495 AC_ARG_WITH(mysql,
496   [  --with-mysql=PFX        base of MySQL installation],
497   [AC_MSG_RESULT("$with_mysql")
498    if test "$with_mysql" != "no"
499    then
500     if test "$with_mysql" != "yes"
501     then
502       LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS"
503       CPPFLAGS="-I$with_mysql/include $CPPFLAGS"
504     fi
505     AC_CHECK_HEADERS(mysql/mysql.h,
506      AC_CHECK_LIB(mysqlclient, mysql_init,
507       MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql"
508       MYSQL_CPPFLAGS="-I$with_mysql/include"
509
510       mysql=true), [], [$CYGWIN_MYSQL_MAGIC])
511    fi
512   ],
513   [AC_MSG_RESULT([--with-mysql not specified])
514    LDFLAGS="-L/usr/lib/mysql $LDFLAGS $ZLIBS"
515    AC_CHECK_LIB(mysqlclient, mysql_init,
516     [AC_CHECK_HEADERS(mysql/mysql.h,
517       MYSQL_LDFLAGS="-L/usr/lib/mysql"
518       mysql=true
519
520      , [], [$CYGWIN_MYSQL_MAGIC])])
521   ])
522
523 AC_SUBST(MYSQL_LDFLAGS)
524 AC_SUBST(MYSQL_CPPFLAGS)
525
526 # additional version check for mysql
527 AC_ARG_ENABLE(mysql-version-check, [  --disable-mysql-version-check  do not check MySQL version],, enable_mysql_version_check=yes)
528 if test "$mysql" = "true" -a "x$enable_mysql_version_check" = "xyes"
529 then
530   AC_MSG_CHECKING(mysql version)
531   AC_RUN_IFELSE([AC_LANG_PROGRAM(
532     [[$CYGWIN_MYSQL_MAGIC
533       #include <mysql/mysql.h>]],
534     [[if (MYSQL_VERSION_ID < 40100)
535         return(-1);
536       else
537         return(0);
538     ]])
539     ],mysql=true,mysql=false)
540   if test "$mysql" = "false"
541   then
542     mysqlfail=true
543     AC_MSG_RESULT([fail, >= 4.1 required])
544   else
545     AC_MSG_RESULT(ok)
546   fi
547 fi
548 AM_CONDITIONAL(HAVE_MYSQL, test x$mysql = xtrue)
549 AM_CONDITIONAL(HAVE_MYSQLE, test "0" = "1")
550 # restore LIBS
551 LIBS=$SAVE_LIBS
552 LDFLAGS=$SAVE_LDFLAGS
553 CPPFLAGS=$SAVE_CPPFLAGS
554
555 if test "$sqlite" = 0 -a "$mysql" = 0
556 then
557  AC_MSG_ERROR([GNUnet requires SQLite or MySQL])
558 fi
559
560 # libmicrohttpd
561 lmhd=0
562 AC_MSG_CHECKING([for libmicrohttpd])
563 AC_ARG_WITH(microhttpd,
564    [  --with-microhttpd=PFX   base of libmicrohttpd installation],
565    [AC_MSG_RESULT([$with_microhttpd])
566     case $with_microhttpd in
567       no)
568         ;;
569       yes)
570         AC_CHECK_HEADERS([microhttpd.h],
571           AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
572             AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
573               [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
574               AC_RUN_IFELSE([
575                 #include "$srcdir/src/include/platform.h"
576                 #include <microhttpd.h>
577                 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
578                ], [
579                AC_MSG_RESULT(ok)
580                lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
581             [],[#include "$srcdir/src/include/platform.h"
582                 #include <microhttpd.h>]),,
583             [#include "$srcdir/src/include/platform.h"])
584         ;;
585       *)
586         LDFLAGS="-L$with_microhttpd/lib $LDFLAGS"
587         CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"
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               EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH"
592               [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.18])
593                AC_RUN_IFELSE([
594                 #include "$srcdir/src/include/platform.h"
595                 #include <microhttpd.h>
596                 int main () { return MHD_VERSION >= 0x0091200 ? 0 : 1; }
597                ], [
598                AC_MSG_RESULT(ok)
599                lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]),
600             [],[#include "$srcdir/src/include/platform.h"
601                 #include <microhttpd.h>]),,
602             [#include "$srcdir/src/include/platform.h"])
603         ;;
604     esac
605    ],
606    [AC_MSG_RESULT([--with-microhttpd not specified])
607     AC_CHECK_HEADERS([microhttpd.h],
608       AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT,
609         AC_CHECK_LIB([microhttpd], [MHD_start_daemon],
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 AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1)
622 AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd])
623
624
625 # restore LIBS
626 LIBS=$SAVE_LIBS
627
628 # check for python & pexpect (used for some testcases only)
629 AM_PATH_PYTHON([2.6],, [:])
630 AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :])
631
632 if test "$PYTHON" != :
633 then
634   AC_MSG_CHECKING([for pexpect])
635   $PYTHON -c "import pexpect" > /dev/null 2> /dev/null
636   PYEX=$?
637   AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, test $PYEX -eq 0)
638   if test $PYEX -eq 0
639   then
640     AC_MSG_RESULT([yes])
641   else
642     AC_MSG_RESULT([not found])
643   fi
644 else
645   AM_CONDITIONAL(HAVE_PYTHON_PEXPECT, 0)
646 fi
647
648
649 # check for gettext
650 AM_GNU_GETTEXT([external])
651 AM_GNU_GETTEXT_VERSION([0.16.1])
652
653 # check for iconv
654 AM_ICONV
655
656 # Checks for standard typedefs, structures, and compiler characteristics.
657 AC_TYPE_PID_T
658 AC_TYPE_SIZE_T
659 AC_TYPE_MODE_T
660 AC_HEADER_TIME
661 AC_HEADER_STAT
662 AC_HEADER_STDBOOL
663 AC_STRUCT_TM
664
665 AC_CHECK_MEMBER([struct sockaddr_in.sin_len],
666    [ AC_DEFINE(HAVE_SOCKADDR_IN_SIN_LEN, 1, [Do we have sockaddr_in.sin_len?])
667    ],
668    [],
669    [
670       #include <sys/types.h>
671       #include <sys/socket.h>
672       #include <netinet/in.h>
673    ])
674
675
676
677 # Checks for library functions.
678 AC_FUNC_CLOSEDIR_VOID
679 AC_FUNC_FORK
680 AC_PROG_GCC_TRADITIONAL
681 AC_FUNC_MEMCMP
682 AC_FUNC_SELECT_ARGTYPES
683 AC_FUNC_CHOWN
684
685 AC_TYPE_SIGNAL
686 AC_FUNC_STAT
687 AC_FUNC_STRFTIME
688 AC_FUNC_VPRINTF
689 AC_HEADER_SYS_WAIT
690 AC_TYPE_OFF_T
691 AC_TYPE_UID_T
692 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])
693
694 # restore LIBS
695 LIBS=$SAVE_LIBS
696
697 gn_user_home_dir="~/.gnunet"
698 AC_ARG_WITH(user-home-dir,
699         AC_HELP_STRING(
700                 [--with-user-home-dir=DIR],
701                 [default user home directory (~/.gnunet)]),
702         [gn_user_home_dir=$withval])
703 AC_SUBST(GN_USER_HOME_DIR, $gn_user_home_dir)
704 gn_daemon_home_dir="/var/lib/gnunet"
705 AC_ARG_WITH(daemon-home-dir,
706         AC_HELP_STRING(
707                 [--with-daemon-home-dir=DIR],
708                 [default daemon home directory (/var/lib/gnunet)]),
709         [gn_daemon_home_dir=$withval])
710 AC_SUBST(GN_DAEMON_HOME_DIR, $gn_daemon_home_dir)
711 gn_daemon_config_dir="/etc"
712 AC_ARG_WITH(daemon-config-dir,
713         AC_HELP_STRING(
714                 [--with-daemon-config-dir=DIR],
715                 [default daemon config directory (/etc)]),
716         [gn_daemon_config_dir=$withval])
717 AC_SUBST(GN_DAEMON_CONFIG_DIR, $gn_daemon_config_dir)
718
719 GN_INTLINCL=""
720 GN_LIBINTL="$LTLIBINTL"
721 AC_ARG_ENABLE(framework, [  --enable-framework      enable Mac OS X framework build helpers],enable_framework_build=$enableval)
722 AM_CONDITIONAL(WANT_FRAMEWORK, test x$enable_framework_build = xyes)
723 if test x$enable_framework_build = xyes
724 then
725   AC_DEFINE([FRAMEWORK_BUILD], 1, [Build a Mac OS X Framework])
726   GN_INTLINCL='-I$(top_srcdir)/src/intlemu'
727   GN_LIBINTL='$(top_builddir)/src/intlemu/libintlemu.la -framework CoreFoundation'
728   AC_LIB_APPENDTOVAR([CPPFLAGS], [$GN_INTLINCL]) 
729 fi
730
731 GN_LIB_LDFLAGS="-export-dynamic -no-undefined"
732 GN_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined"
733
734 AC_SUBST(GN_LIB_LDFLAGS)
735 AC_SUBST(GN_PLUGIN_LDFLAGS)
736 AC_SUBST(GN_INTLINCL)
737 AC_SUBST(GN_LIBINTL)
738
739 AC_SUBST(CPPFLAGS)
740 AC_SUBST(LIBS)
741 AC_SUBST(LDFLAGS)
742 AC_SUBST(EXT_LIB_PATH)
743 AC_SUBST(EXT_LIBS)
744
745 AC_SUBST(LIBPREFIX)
746 AC_SUBST(DLLDIR)
747 AC_SUBST(EXT_LIB_PATH)
748
749
750 # test for sudo
751 AC_MSG_CHECKING(for sudo)
752 AC_ARG_WITH(sudo,
753   [  --with-sudo=PATH       path to sudo binary (or just yes)],
754   [AC_MSG_RESULT("$with_sudo")
755    case $with_sudo in
756    no)
757      SUDO_BINARY=
758      ;;
759    yes)
760      SUDO_BINARY=sudo
761      ;;
762    *)
763      SUDO_BINARY=$with_sudo
764     ;;
765    esac
766   ],
767   [AC_MSG_RESULT([no])])
768 AC_SUBST(SUDO_BINARY)
769
770
771 # test for gnunetdns group name
772 GNUNETDNS_GROUP=gnunetdns
773 AC_MSG_CHECKING(for gnunetdns group name)
774 AC_ARG_WITH(gnunetdns,
775   [  --with-gnunetdns=GRPNAME       name for gnunetdns group],
776   [AC_MSG_RESULT("$with_gnunetdns")
777    case $with_gnunetdns in
778    no)
779      GNUNETDNS_GROUP=gnunet
780      ;;
781    yes)
782      GNUNETDNS_GROUP=gnunetdns
783      ;;
784    *)
785      GNUNETDNS_GROUP=$with_gnunetdns
786     ;;
787    esac
788   ],
789   [AC_MSG_RESULT([gnunetdns])])
790 AC_SUBST(GNUNETDNS_GROUP)
791
792
793 # should 'make check' run tests?
794 AC_MSG_CHECKING(whether to run tests)
795 AC_ARG_ENABLE([testruns],
796    [AS_HELP_STRING([--disable-testruns], [disable running tests on make check (default is YES)])],
797    [enable_tests_run=${enableval}],
798    [enable_tests_run=yes])
799 AC_MSG_RESULT($enable_test_run)
800 AM_CONDITIONAL([ENABLE_TEST_RUN], [test "x$enable_tests_run" = "xyes"])
801
802
803 # should monkey be used when running (certain) services?
804 AC_MSG_CHECKING(whether to run with monkey)
805 AC_ARG_ENABLE([monkey],
806    [AS_HELP_STRING([--enable-monkey], [enable running with monkey])],
807    [enable_monkey=${enableval}],
808    [enable_monkey=no])
809 AC_MSG_RESULT($enable_monkey)
810 AM_CONDITIONAL([ENABLE_MONKEY], [test "x$enable_monkey" = "xyes"])
811 if test "x$enable_monkey" = "xyes"
812 then
813   MONKEYPREFIX="monkey"
814 else
815   MONKEYPREFIX=""
816 fi
817 AC_SUBST(MONKEYPREFIX)
818
819
820 # should expensive tests be run?
821 AC_MSG_CHECKING(whether to run expensive tests)
822 AC_ARG_ENABLE([expensivetests],
823    [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])],
824    [enable_expensive=${enableval}],
825    [enable_expensive=no])
826 AC_MSG_RESULT($enable_expensive)
827 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"])
828
829 # should ports be open for Java services?
830 AC_MSG_CHECKING(whether to enable ports for gnunet-java)
831 AC_ARG_ENABLE([javaports],
832    [AS_HELP_STRING([--enable-javaports], [use non-zero ports for services with Java bindings (default is NO)])],
833    [enable_java_ports=${enableval}],
834    [enable_java_ports=no])
835 AC_MSG_RESULT($enable_java_ports)
836 if test "x$enable_java_ports" = "xyes"
837 then
838   JAVAPORT=""
839 else
840   JAVAPORT="$UNIXONLY"
841 fi
842 AC_SUBST(JAVAPORT)
843
844 # should benchmarks be run?
845 AC_MSG_CHECKING(whether to run benchmarks during make check)
846 AC_ARG_ENABLE([benchmarks],
847    [AS_HELP_STRING([--enable-benchmarks], [enable running benchmarks during make check])],
848    [enable_benchmarks=${enableval}],
849    [enable_benchmarks=no])
850 AC_MSG_RESULT($enable_benchmarks)
851 AM_CONDITIONAL([HAVE_BENCHMARKS], [test "x$enable_benchmarks" = "xyes"])
852
853 # should experimental code be compiled (code that may not yet compile)?
854 AC_MSG_CHECKING(whether to compile experimental code)
855 AC_ARG_ENABLE([experimental],
856    [AS_HELP_STRING([--enable-experimental], [enable compiling experimental code])],
857    [enable_experimental=${enableval}],
858    [enable_experimental=no])
859 AC_MSG_RESULT($enable_experimental)
860 AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"])
861
862 # should code be enabled that works around missing OS functionality on Windows?
863 # used for test cases
864 if test $build_target = "mingw"
865 then
866         workarounds=1
867
868 AC_LINK_IFELSE(
869  [AC_LANG_PROGRAM(
870   [#include <ws2tcpip.h>
871   ],[
872   int s = socket (0, 0, 0);])
873  ],[
874   AC_DEFINE_UNQUOTED([HAVE_SOCKET],1,[Define this if socket() is available])
875  ],[
876   AC_DEFINE_UNQUOTED([HAVE_SOCKET],0,[Define this if socket() is available])
877  ])
878
879 AC_LINK_IFELSE(
880  [AC_LANG_PROGRAM(
881   [#include <ws2tcpip.h>
882   ],[
883   int s = select (0, NULL, NULL, NULL, NULL);])
884  ],[
885   AC_DEFINE_UNQUOTED([HAVE_SELECT],1,[Define this if select() is available])
886  ],[
887   AC_DEFINE_UNQUOTED([HAVE_SELECT],0,[Define this if select() is available])
888  ])
889
890 AC_LINK_IFELSE(
891  [AC_LANG_PROGRAM(
892   [#include <ws2tcpip.h>
893   ],[
894   struct in_addr i;
895   char *s = inet_ntoa (i);])
896  ],[
897   AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],1,[Define this if inet_ntoa() is available])
898  ],[
899   AC_DEFINE_UNQUOTED([HAVE_INET_NTOA],0,[Define this if inet_ntoa() is available])
900  ])
901
902 AC_LINK_IFELSE(
903  [AC_LANG_PROGRAM(
904   [#include <ws2tcpip.h>
905   ],[
906   int s = getnameinfo (NULL, 0, NULL, 0, NULL, 0, 0);])
907  ],[
908   AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],1,[Define this if getnameinfo() is available])
909  ],[
910   AC_DEFINE_UNQUOTED([HAVE_GETNAMEINFO],0,[Define this if getnameinfo() is available])
911  ])
912
913 AC_LINK_IFELSE(
914  [AC_LANG_PROGRAM(
915   [#include <ws2tcpip.h>
916   ],[
917   int s = gethostname (NULL, 0);])
918  ],[
919   AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],1,[Define this if gethostname() is available])
920  ],[
921   AC_DEFINE_UNQUOTED([HAVE_GETHOSTNAME],0,[Define this if gethostname() is available])
922  ])
923
924 AC_LINK_IFELSE(
925  [AC_LANG_PROGRAM(
926   [#include <ws2tcpip.h>
927   ],[
928   void *s = gethostbyname (NULL);])
929  ],[
930   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],1,[Define this if gethostbyname() is available])
931  ],[
932   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYNAME],0,[Define this if gethostbyname() is available])
933  ])
934
935 AC_LINK_IFELSE(
936  [AC_LANG_PROGRAM(
937   [#include <ws2tcpip.h>
938   ],[
939   void *s = gethostbyaddr (NULL, 0, 0);])
940  ],[
941   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],1,[Define this if gethostbyaddr() is available])
942  ],[
943   AC_DEFINE_UNQUOTED([HAVE_GETHOSTBYADDR],0,[Define this if gethostbyaddr() is available])
944  ])
945
946 AC_LINK_IFELSE(
947  [AC_LANG_PROGRAM(
948   [#include <ws2tcpip.h>
949   ],[
950   int s = getaddrinfo (NULL, NULL, NULL, NULL);])
951  ],[
952   AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
953  ],[
954   AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO],1,[Define this if getaddrinfo() is available])
955  ])
956
957 else
958   AC_MSG_CHECKING(whether to enable windows workarounds)
959   AC_ARG_ENABLE([windows_workarounds], 
960      [AS_HELP_STRING([--enable-windows_workarounds], [enable workarounds used on Windows (only useful for test cases)])],
961      [enable_workarounds=${enableval}],
962      [enable_workarounds=no])
963   AC_MSG_RESULT($enable_workarounds)
964   if test x$enable_windows_workarounds = "xyes"
965   then
966      workarounds=1
967   else
968      workarounds=0
969    fi
970 fi
971 AC_DEFINE_UNQUOTED([ENABLE_WINDOWS_WORKAROUNDS], $workarounds, [enable workarounds used on Windows (only useful for test cases)])
972
973 # gcov compilation
974 AC_MSG_CHECKING(whether to compile with support for code coverage analysis)
975 AC_ARG_ENABLE([coverage], 
976               AS_HELP_STRING([--enable-coverage],
977                              [compile the library with code coverage support]),
978               [use_gcov=${enableval}], 
979               [use_gcov=no])
980 AC_MSG_RESULT($use_gcov)
981 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"])
982
983
984 AC_CONFIG_FILES([ 
985 Makefile
986 contrib/Makefile
987 doc/Makefile
988 doc/man/Makefile
989 m4/Makefile
990 po/Makefile.in 
991 src/Makefile
992 src/arm/Makefile
993 src/arm/arm.conf
994 src/ats/Makefile
995 src/ats/ats.conf
996 src/block/Makefile
997 src/chat/Makefile
998 src/chat/chat.conf
999 src/core/Makefile
1000 src/core/core.conf
1001 src/datacache/Makefile
1002 src/datastore/Makefile
1003 src/datastore/datastore.conf
1004 src/dht/Makefile
1005 src/dht/dht.conf
1006 src/dns/Makefile
1007 src/dns/dns.conf
1008 src/dv/Makefile
1009 src/dv/dv.conf
1010 src/exit/Makefile
1011 src/fragmentation/Makefile
1012 src/fs/Makefile
1013 src/fs/fs.conf
1014 src/gns/Makefile
1015 src/gns/gns.conf
1016 src/hello/Makefile
1017 src/include/Makefile
1018 src/include/gnunet_directories.h
1019 src/hostlist/Makefile
1020 src/lockmanager/Makefile
1021 src/lockmanager/lockmanager.conf
1022 src/mesh/Makefile
1023 src/mesh/mesh.conf
1024 src/mysql/Makefile
1025 src/namestore/Makefile
1026 src/namestore/namestore.conf
1027 src/nat/Makefile
1028 src/nse/Makefile
1029 src/nse/nse.conf
1030 src/peerinfo/Makefile
1031 src/peerinfo/peerinfo.conf
1032 src/peerinfo-tool/Makefile
1033 src/postgres/Makefile
1034 src/pt/Makefile
1035 src/regex/Makefile
1036 src/statistics/Makefile
1037 src/statistics/statistics.conf
1038 src/stream/Makefile
1039 src/template/Makefile
1040 src/testing/Makefile
1041 src/topology/Makefile
1042 src/transport/Makefile
1043 src/transport/transport.conf
1044 src/tun/Makefile
1045 src/util/Makefile
1046 src/util/resolver.conf
1047 src/vpn/Makefile
1048 src/vpn/vpn.conf
1049 src/integration-tests/Makefile
1050 pkgconfig/Makefile
1051 pkgconfig/gnunetarm.pc
1052 pkgconfig/gnunetblock.pc
1053 pkgconfig/gnunetcore.pc
1054 pkgconfig/gnunetdatacache.pc
1055 pkgconfig/gnunetdatastore.pc
1056 pkgconfig/gnunetdht.pc
1057 pkgconfig/gnunetdhtlog.pc
1058 pkgconfig/gnunetdv.pc
1059 pkgconfig/gnunetfragmentation.pc
1060 pkgconfig/gnunetfs.pc
1061 pkgconfig/gnunethello.pc
1062 pkgconfig/gnunetnat.pc
1063 pkgconfig/gnunetnse.pc
1064 pkgconfig/gnunetpeerinfo.pc
1065 pkgconfig/gnunetregex.pc
1066 pkgconfig/gnunetstatistics.pc
1067 pkgconfig/gnunettesting.pc
1068 pkgconfig/gnunettransport.pc
1069 pkgconfig/gnunetutil.pc
1070 ])
1071 AC_OUTPUT
1072
1073 # Finally: summary!
1074
1075 # warn user if mysql found but not used due to version
1076 if test "$mysqlfail" = "true"
1077 then
1078   AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.])
1079 fi
1080
1081 # sqlite
1082 if test "x$sqlite" = "x0"
1083 then
1084   AC_MSG_NOTICE([NOTICE: sqlite not found.  sqLite support will not be compiled.])
1085 fi
1086
1087 # java ports
1088 if test "x$enable_java_ports" = "xyes"
1089 then
1090   AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.])
1091 fi
1092
1093 if test "x$lmhd" != "x1"
1094 then
1095  AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.])
1096 fi
1097
1098 AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres])
1099
1100 if test "$enable_framework_build" = "yes"
1101 then
1102   AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.])
1103 fi
1104
1105 AC_MSG_NOTICE([********************************************
1106 You can compile GNUnet with
1107         make
1108 now. After that, run (if necessary as 'root')
1109         make install
1110 to install everything. You may want to create a new user account
1111 to run the GNUnet service:
1112         adduser gnunet
1113 You also need to create an configuration file that should
1114 specify the path where GNUnet should store data.  For example,
1115 you could store in "/etc/gnunet.conf" the following lines:
1116
1117 [[PATHS]]
1118 SERVICEHOME = /var/lib/gnunet
1119 DEFAULTCONFIG = /etc/gnunet.conf
1120
1121 Now, in order to start your peer, run as the 'gnunet' user
1122         gnunet-arm -s
1123
1124 Each GNUnet user should also create an (at least initially) empty
1125 configuration file:
1126         mkdir $HOME/.gnunet/
1127         touch $HOME/.gnunet/gnunet.conf
1128         
1129 Optionally, download and compile:
1130 - gnunet-gtk to get a GUI for file-sharing and configuration.
1131 ********************************************])