X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=configure.ac;h=68922e6c085dfb150b95276f5edf66a68a5242f8;hb=0f99e72d1f63598332fff5a05de4726e95bf1b19;hp=43876a7ecca13306698d5e5c7e0f1647121a040c;hpb=194a99b2c76f07f1d58b6b24f514237db23d4bcb;p=oweals%2Fgnunet.git diff --git a/configure.ac b/configure.ac index 43876a7ec..68922e6c0 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # This file is part of GNUnet. -# (C) 2001--2016 GNUnet e.V. +# (C) 2001--2018 GNUnet e.V. # # GNUnet is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published @@ -22,7 +22,7 @@ # AC_PREREQ(2.61) # Checks for programs. -AC_INIT([gnunet], [0.10.1], [bug-gnunet@gnu.org]) +AC_INIT([gnunet], [0.11.0], [bug-gnunet@gnu.org]) AC_CANONICAL_TARGET AC_CANONICAL_HOST @@ -71,7 +71,7 @@ case "$host_os" in AC_DEFINE_UNQUOTED(DARWIN,1,[This is an Apple Darwin system]) CPPFLAGS="-D_APPLE_C_SOURCE $CPPFLAGS" CFLAGS="-fno-common $CFLAGS" - AC_MSG_WARN([The VPN application cannot be compiled on your OS]) + AC_MSG_WARN([WARNING: The VPN application cannot be compiled on your OS]) build_target="darwin" DEFAULT_INTERFACE="\"en0\"" LIBPREFIX= @@ -248,6 +248,11 @@ then fi AC_DEFINE_UNQUOTED([NEED_LIBGCRYPT_VERSION], "$NEED_LIBGCRYPT_VERSION", [required libgcrypt version]) +# TODO: add check for VERSION +# TODO: add check for alternatives +# TODO: add switch to skip documentation building +AM_MISSING_PROG([MAKEINFO], [makeinfo]) + # Adam shostack suggests the following for Windows: # -D_FORTIFY_SOURCE=2 -fstack-protector-all AC_ARG_ENABLE(gcc-hardening, @@ -269,6 +274,13 @@ AC_ARG_ENABLE(linker-hardening, fi]) +AC_ARG_ENABLE(sanitizer, + AS_HELP_STRING(--enable-sanitizer, enable Address Sanitizer and Undefined Behavior Sanitizer), +[if test x$enableval = xyes; then + LDFLAGS="$CFLAGS -fsanitize=address,undefined -fno-omit-frame-pointer" +fi]) + + extra_logging=GNUNET_NO AC_ARG_ENABLE([logging], AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose,veryverbose ('yes' is the default)]), @@ -434,6 +446,31 @@ AC_CHECK_LIB(ogg, ogg_stream_flush_fill, ogg=0) +PKG_CHECK_MODULES([GLIB], [glib-2.0], +# check for pbc library +pbc=0 +AC_CHECK_HEADER([pbc/pbc.h],pbc=1) +AC_CHECK_HEADER([gabe.h],abe=1) +AM_CONDITIONAL(HAVE_PBC, [test "$pbc" = 1]) +AM_CONDITIONAL(HAVE_ABE, [test "$abe" = 1]) +if test "x$pbc" = x1 +then + AC_DEFINE([HAVE_PBC],[1],[Have pbc library]) +else + AC_DEFINE([HAVE_PBC],[0],[Lacking pbc library]) +fi +if test "x$abe" = x1 +then + AC_DEFINE([HAVE_ABE],[1],[Have ABE library]) +else + AC_DEFINE([HAVE_ABE],[0],[Lacking ABE library]) +fi +, +# glib-2 not found + AM_CONDITIONAL(HAVE_PBC, [0]) + AM_CONDITIONAL(HAVE_ABE, [0]) + AC_DEFINE([HAVE_PBC],[0],[Lacking glib library]) +) gst=0 PKG_CHECK_MODULES( @@ -515,7 +552,7 @@ then AM_CONDITIONAL(HAVE_LIBCURL, false) if test "$gnurl" = 0 then - AC_MSG_WARN([GNUnet requires libcurl-gnutls or gnurl >= 7.34]) + AC_MSG_WARN([ERROR: GNUnet requires libcurl-gnutls or gnurl >= 7.34]) fi else AM_CONDITIONAL(HAVE_LIBCURL, true) @@ -535,19 +572,18 @@ AC_CHECK_MEMBERS(glp_iocp.presolve,,[gplk=false],[[#include ]]) if test x$gplk = xfalse then AM_CONDITIONAL(HAVE_LIBGLPK, false) - AC_MSG_WARN([GNUnet requires GLPK >= 4.32]) + AC_MSG_WARN([ERROR: GNUnet requires GLPK >= 4.32]) else AM_CONDITIONAL(HAVE_LIBGLPK, true) AC_DEFINE([HAVE_LIBGLPK],[1],[Have GLPK]) fi - AC_CHECK_HEADERS([nss.h],[nss=true],[nss=false]) if test x$nss = xfalse then AM_CONDITIONAL(HAVE_GLIBCNSS, false) - AC_MSG_WARN([No GNU libc nss header, will not build NSS plugin]) + AC_MSG_WARN([ERROR: No GNU libc nss header, will not build NSS plugin]) else AM_CONDITIONAL(HAVE_GLIBCNSS, true) fi @@ -559,6 +595,23 @@ AC_CHECK_LIB([kvm],[kvm_open]) AC_CHECK_LIB([kstat],[kstat_open]) +# should the build process be restricted to only building +# the documentation? +AC_MSG_CHECKING(whether to build documentation ONLY) +AC_ARG_ENABLE([documentation], + [AS_HELP_STRING([--enable-documentation], [only build the documentation])], + [doc_only=${enableval}], + [doc_only=no]) +AC_MSG_RESULT($doc_only) +if test "x$doc_only" = "xyes" +then + AM_CONDITIONAL([DOC_ONLY],true) + AC_DEFINE([DOC_ONLY],[1],[Building the documentation]) +else + AM_CONDITIONAL([DOC_ONLY],false) + AC_DEFINE([DOC_ONLY],[0],[Canonical compilation]) +fi + # should the build process be restricted to the code required # for GNU Taler wallets? AC_MSG_CHECKING(whether to compile GNU Taler Wallet library ONLY) @@ -567,7 +620,14 @@ AC_ARG_ENABLE([taler-wallet], [taler_only=${enableval}], [taler_only=no]) AC_MSG_RESULT($taler_only) -AM_CONDITIONAL([TALER_ONLY], [test "x$taler_only" = "xyes"]) +if test "x$taler_only" = "xyes" +then + AM_CONDITIONAL([TALER_ONLY],true) + AC_DEFINE([TALER_WALLET_ONLY],[1],[Compiling for Taler wallet]) +else + AM_CONDITIONAL([TALER_ONLY],false) + AC_DEFINE([TALER_WALLET_ONLY],[0],[Canonical compilation]) +fi # test for libextractor extractor=0 @@ -724,9 +784,12 @@ gl_LIBUNISTRING if test $HAVE_LIBUNISTRING != yes; then AC_MSG_ERROR([GNUnet requires libunistring]) fi -if test $gl_libunistring_hexversion -le 2305; then +# under emscripten, $gl_libunistring_hexversion is undefined +if test "$taler_only" != yes; then +if test "x$gl_libunistring_hexversion" = "x" || test "$gl_libunistring_hexversion" -le 2305; then AC_MSG_ERROR([GNUnet requires libunistring >= 0.9.1.1]) fi +fi AC_CHECK_HEADERS([unistr.h],,AC_MSG_ERROR([Compiling GNUnet requires unistr.h (from libunistring) to be installed])) # restore LIBS @@ -794,15 +857,20 @@ AM_CONDITIONAL(HAVE_SQLITE, test x$sqlite = xtrue) AC_SUBST(SQLITE_CPPFLAGS) AC_SUBST(SQLITE_LDFLAGS) +LDFLAGS=$SAVE_LDFLAGS +CPPFLAGS=$SAVE_CPPFLAGS + # test for postgres postgres=false -AX_LIB_POSTGRESQL([]) -if test "$found_postgresql" = "yes"; then - CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" - AC_CHECK_HEADERS([libpq-fe.h], - postgres=true) +# even running the check for postgres breaks emscripten ... +if test "$taler_only" != yes; then + AX_LIB_POSTGRESQL([9.5]) + if test "$found_postgresql" = "yes"; then + CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" + AC_CHECK_HEADERS([libpq-fe.h], + postgres=true) + fi fi - AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue) @@ -1010,6 +1078,16 @@ AC_CHECK_MEMBER([struct sockaddr_in.sin_len], #include ]) +AC_CHECK_MEMBER([struct sockaddr_un.sun_len], + [ AC_DEFINE(HAVE_SOCKADDR_UN_SUN_LEN, 1, [Do we have sockaddr_un.sun_len?]) + ], + [], + [ + #include + #include + #include + ]) + # Checks for library functions. @@ -1085,41 +1163,6 @@ AC_SUBST(SUDO_BINARY) AM_CONDITIONAL([HAVE_SUDO], [test "x$SUDO_BINARY" != "x" -o -w /]) -# test for nssdir -AC_MSG_CHECKING(with nssdir) -AC_ARG_WITH(nssdir, - [ --with-nssdir=PATH where to install NSS plugins], - [AC_MSG_RESULT("$with_nssdir") - case $with_nssdir in - no) - NSS_DIR= - install_nss=0 - ;; - yes) - NSS_DIR="/lib" - install_nss=1 - ;; - *) - NSS_DIR=$with_nssdir - install_nss=1 - ;; - esac - ], - [ - if test "x$SUDO_BINARY" != "x" -o -w / - then - NSS_DIR="/lib" - install_nss=1 - AC_MSG_RESULT([yes, to /lib]) - else - NSS_DIR= - install_nss=0 - AC_MSG_RESULT([no]) - fi - ]) -AC_SUBST(NSS_DIR) -AM_CONDITIONAL([INSTALL_NSS], [test "x$install_nss" != "x0"]) - # test for gnunetdns group name GNUNETDNS_GROUP=gnunetdns AC_MSG_CHECKING(for gnunetdns group name) @@ -1304,15 +1347,6 @@ AC_ARG_ENABLE([experimental], AC_MSG_RESULT($enable_experimental) AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"]) -# FTBFS right now... -AC_MSG_CHECKING(whether to compile ATS test code) -AC_ARG_ENABLE([wachs], - [AS_HELP_STRING([--enable-wachs], [enable compiling ATS test code])], - [enable_wachs=${enableval}], - [enable_wachs=no]) -AC_MSG_RESULT($enable_wachs) -AM_CONDITIONAL([HAVE_WACHS], [test "x$enable_wachs" = "xyes"]) - # should malicious code be compiled (should only be used for testing)? AC_MSG_CHECKING(whether to compile malicious code) AC_ARG_ENABLE([malicious], @@ -1522,6 +1556,7 @@ contrib/Makefile doc/Makefile doc/man/Makefile doc/doxygen/Makefile +doc/documentation/Makefile m4/Makefile po/Makefile.in src/Makefile @@ -1531,6 +1566,7 @@ src/ats/Makefile src/ats/ats.conf src/ats-tool/Makefile src/ats-tests/Makefile +src/auction/Makefile src/block/Makefile src/cadet/Makefile src/cadet/cadet.conf @@ -1548,8 +1584,6 @@ src/dht/Makefile src/dht/dht.conf src/dns/Makefile src/dns/dns.conf -src/dv/Makefile -src/dv/dv.conf src/exit/Makefile src/fragmentation/Makefile src/fs/Makefile @@ -1561,6 +1595,8 @@ src/gnsrecord/Makefile src/hello/Makefile src/identity/Makefile src/identity/identity.conf +src/credential/Makefile +src/credential/credential.conf src/include/Makefile src/integration-tests/Makefile src/json/Makefile @@ -1575,6 +1611,9 @@ src/namecache/namecache.conf src/namestore/Makefile src/namestore/namestore.conf src/nat/Makefile +src/nat/nat.conf +src/nat-auto/Makefile +src/nat-auto/nat-auto.conf src/nse/Makefile src/nse/nse.conf src/peerinfo/Makefile @@ -1583,7 +1622,6 @@ src/peerinfo-tool/Makefile src/peerstore/Makefile src/peerstore/peerstore.conf src/pq/Makefile -src/postgres/Makefile src/psycutil/Makefile src/psyc/Makefile src/psyc/psyc.conf @@ -1604,6 +1642,7 @@ src/set/Makefile src/set/set.conf src/social/Makefile src/social/social.conf +src/sq/Makefile src/statistics/Makefile src/statistics/statistics.conf src/template/Makefile @@ -1620,7 +1659,11 @@ src/util/Makefile src/util/resolver.conf src/vpn/Makefile src/vpn/vpn.conf +src/zonemaster/Makefile +src/zonemaster/zonemaster.conf src/rest/Makefile +src/abe/Makefile +src/identity-attribute/Makefile src/identity-provider/Makefile pkgconfig/Makefile pkgconfig/gnunetarm.pc @@ -1651,7 +1694,6 @@ pkgconfig/gnunetnat.pc pkgconfig/gnunetnse.pc pkgconfig/gnunetpeerinfo.pc pkgconfig/gnunetpq.pc -pkgconfig/gnunetpostgres.pc pkgconfig/gnunetpsyc.pc pkgconfig/gnunetpsycstore.pc pkgconfig/gnunetregex.pc @@ -1676,7 +1718,7 @@ AC_OUTPUT # warn user if mysql found but not used due to version if test "$mysqlfail" = "true" then - AC_MSG_NOTICE([NOTICE: MySQL found, but too old. MySQL support will not be compiled.]) + AC_MSG_NOTICE([WARNING: MySQL found, but too old. MySQL support will not be compiled.]) fi # sqlite @@ -1690,7 +1732,7 @@ if test "$gnurl" = "0" then if test "x$curl" = "xfalse" then - AC_MSG_NOTICE([NOTICE: libgnurl not found. http client support will not be compiled.]) + AC_MSG_NOTICE([WARNING: libgnurl not found. http client support will not be compiled.]) AC_MSG_WARN([ERROR: libgnurl not found. hostlist daemon will not be compiled, and you probably WANT the hostlist daemon]) else AC_MSG_NOTICE([WARNING: libgnurl not found, trying to use libcurl-gnutls instead.]) @@ -1701,30 +1743,36 @@ fi # bluetooth if test "x$bluetooth" = "x0" then - AC_MSG_NOTICE([NOTICE: bluetooth library not found. bluetooth support will not be compiled.]) + AC_MSG_NOTICE([WARNING: bluetooth library not found. bluetooth support will not be compiled.]) +fi + +# jansson +if test "x$jansson" = "x0" +then + AC_MSG_NOTICE([WARNING: jansson library not found. json support will not be compiled.]) fi #gnutls if test x$gnutls != xtrue then - AC_MSG_NOTICE([NOTICE: GnuTLS not found, gnunet-gns-proxy will not be built]) + AC_MSG_NOTICE([WARNING: GnuTLS not found, gnunet-gns-proxy will not be built]) else if test "x$gnutls_dane" != "x1" then - AC_MSG_NOTICE([NOTICE: GnuTLS has no DANE support, DANE validation will not be possible]) + AC_MSG_NOTICE([WARNING: GnuTLS has no DANE support, DANE validation will not be possible]) fi fi # java ports if test "x$enable_java_ports" = "xyes" then - AC_MSG_NOTICE([NOTICE: opening ports for gnunet-java bindings by default.]) + AC_MSG_NOTICE([NOTICE: Opening ports for gnunet-java bindings by default.]) fi # MHD if test "x$lmhd" != "x1" then - AC_MSG_NOTICE([NOTICE: libmicrohttpd not found, http transport will not be installed.]) + AC_MSG_NOTICE([WARNING: libmicrohttpd not found, http transport will not be installed.]) fi # conversation @@ -1732,36 +1780,30 @@ if test "x$conversation_backend" = "xnone" then if test "x$pulse" != "x1" then - AC_MSG_NOTICE([NOTICE: libpulse(audio) not found, conversation will not be built.]) + AC_MSG_NOTICE([WARNING: libpulse(audio) not found, conversation will not be built.]) fi if test "x$opus" != "x1" then - AC_MSG_NOTICE([NOTICE: libopus not found, conversation will not be built.]) + AC_MSG_NOTICE([WARNING: libopus not found, conversation will not be built.]) fi if test "x$gst" != "x1" then - AC_MSG_NOTICE([NOTICE: GStreamer not found, conversation will not be built.]) + AC_MSG_NOTICE([WARNING: GStreamer not found, conversation will not be built.]) fi fi if test "$extractor" != 1 then - AC_MSG_WARN([NOTICE: libextractor not found, but various file-sharing functions require it]) + AC_MSG_WARN([ERROR: libextractor not found, but various file-sharing functions require it]) fi AC_MSG_NOTICE([NOTICE: Database support is set to MySQL: $mysql, SQLite: $sqlite, Postgres: $postgres]) if test "$enable_framework_build" = "yes" then - AC_MSG_NOTICE([NOTICE: Mac OS X framework build enabled.]) -fi - -if test "x$SUDO_BINARY" = "x" -a ! -w / -then - AC_MSG_NOTICE([NOTICE: --with-sudo not specified and not running as 'root', will not install GNS NSS library]) + AC_MSG_NOTICE([Mac OS X framework build enabled.]) fi - AC_MSG_NOTICE([******************************************** Please make sure NOW that you have created a user and group 'gnunet' and additionally a group 'gnunetdns'. On Debian and Ubuntu GNU/Linux, type: