X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=configure.ac;h=1a24513929cdf45557881602ce286519a7acd183;hb=3e22103e0cecfeb8a03e65733fd0ab5c475a302b;hp=3f625f1d598ab8f4bdeaecbcaaf498d69694841e;hpb=572ed5a20edf2e273ae377473b52bfee98eca24e;p=oweals%2Fgnunet.git diff --git a/configure.ac b/configure.ac index 3f625f1d5..1a2451392 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ # This file is part of GNUnet. -# (C) 2001--2015 Christian Grothoff (and other contributing authors) +# (C) 2001--2016 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 @@ -34,7 +34,7 @@ AC_CONFIG_HEADERS([gnunet_config.h]) AH_TOP([#define _GNU_SOURCE 1]) AC_CONFIG_MACRO_DIR([m4]) AC_PROG_AWK -AC_PROG_CC +AC_PROG_CC_C99 AC_PROG_CPP AC_PROG_CXX AC_PROG_OBJC @@ -203,6 +203,7 @@ AM_CONDITIONAL(HAVE_GETOPT_BINARY, $VAR_GETOPT_BINARY) AC_CHECK_PROG(VAR_SSH_BINARY,ssh,true,false) AM_CONDITIONAL(HAVE_SSH_BINARY, $VAR_SSH_BINARY) AM_CONDITIONAL(HAVE_SSH_KEY, ssh -D 12345 -o "BatchMode yes" -o "UserKnownHostsFile /tmp/gnunet_test_cosks_ssh_garbage" -o "StrictHostKeyChecking no" 127.0.0.1 echo -n) +rm -f /tmp/gnunet_test_cosks_ssh_garbage AC_CHECK_MEMBER(struct tm.tm_gmtoff, @@ -268,6 +269,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,unsigned-integer-overflow -fsanitize-recover=all -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)]), @@ -386,12 +394,12 @@ fi # check for jansson library jansson=0 AC_CHECK_HEADER([jansson.h],jansson=1) -AM_CONDITIONAL(HAVE_REST, [test "$jansson" = 1]) -if test "$jansson" = 1 +AM_CONDITIONAL(HAVE_JANSSON, [test "$jansson" = 1]) +if test "x$jansson" = x1 then - AC_DEFINE([HAVE_REST],[1],[Have jansson library]) + AC_DEFINE([HAVE_JANSSON],[1],[Have jansson library]) else - AC_DEFINE([HAVE_REST],[0],[Lacking jansson library]) + AC_DEFINE([HAVE_JANSSON],[0],[Lacking jansson library]) fi # check for libpulse(audio) library @@ -454,15 +462,19 @@ then conversation_backend=none AM_CONDITIONAL(BUILD_PULSE_HELPERS, false) AM_CONDITIONAL(BUILD_GST_HELPERS, false) + AM_CONDITIONAL(BUILD_EXPERIMENTAL_HELPERS, false) else conversation_backend=gst AM_CONDITIONAL(BUILD_PULSE_HELPERS, false) AM_CONDITIONAL(BUILD_GST_HELPERS, true) + AM_CONDITIONAL(BUILD_EXPERIMENTAL_HELPERS, false) fi else + conversation_backend=pulse AM_CONDITIONAL(BUILD_PULSE_HELPERS, true) AM_CONDITIONAL(BUILD_GST_HELPERS, false) + AM_CONDITIONAL(BUILD_EXPERIMENTAL_HELPERS, false) fi # libgnurl @@ -562,7 +574,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 @@ -719,9 +738,14 @@ 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 LIBS=$SAVE_LIBS @@ -789,13 +813,16 @@ AC_SUBST(SQLITE_LDFLAGS) # 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([]) + if test "$found_postgresql" = "yes"; then + CFLAGS="$CFLAGS $POSTGRESQL_CPPFLAGS" + CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" + AC_CHECK_HEADERS([libpq-fe.h], + postgres=true) + fi fi - AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue) @@ -819,21 +846,27 @@ SAVE_CPPFLAGS=$CPPFLAGS AC_MSG_CHECKING(for mysql) AC_ARG_WITH(mysql, [ --with-mysql=PFX base of MySQL installation], - [AC_MSG_RESULT("$with_mysql") - if test "$with_mysql" != "no" - then - if test "$with_mysql" != "yes" - then + [AC_MSG_RESULT([$with_mysql]) + case $with_mysql in + no) + ;; + yes|"") + AC_CHECK_HEADERS(mysql/mysql.h, + AC_CHECK_LIB(mysqlclient, mysql_init, + + mysql=true), [], [$CYGWIN_MYSQL_MAGIC]) + ;; + *) LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql $LDFLAGS $ZLIBS" CPPFLAGS="-I$with_mysql/include $CPPFLAGS" - fi - AC_CHECK_HEADERS(mysql/mysql.h, - AC_CHECK_LIB(mysqlclient, mysql_init, - MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql" - MYSQL_CPPFLAGS="-I$with_mysql/include" + AC_CHECK_HEADERS(mysql/mysql.h, + AC_CHECK_LIB(mysqlclient, mysql_init, + MYSQL_LDFLAGS="-L$with_mysql/lib -L$with_mysql/lib/mysql" + MYSQL_CPPFLAGS="-I$with_mysql/include" - mysql=true), [], [$CYGWIN_MYSQL_MAGIC]) - fi + mysql=true), [], [$CYGWIN_MYSQL_MAGIC]) + ;; + esac ], [AC_MSG_RESULT([--with-mysql not specified]) if test -d "/usr/lib64/mysql"; then @@ -899,7 +932,7 @@ AC_ARG_WITH(microhttpd, case $with_microhttpd in no) ;; - yes) + yes|"") AC_CHECK_HEADERS([microhttpd.h], AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT, AC_CHECK_LIB([microhttpd], [MHD_get_fdset2], @@ -965,6 +998,7 @@ AC_ARG_WITH(microhttpd, AM_CONDITIONAL(HAVE_MHD, test x$lmhd = x1) AC_DEFINE_UNQUOTED([HAVE_MHD], $lmhd, [We have libmicrohttpd]) +AM_CONDITIONAL(HAVE_JSON, [test x$jansson = x1]) # restore LIBS LIBS=$SAVE_LIBS @@ -1526,6 +1560,7 @@ src/consensus/Makefile src/consensus/consensus.conf src/conversation/Makefile src/conversation/conversation.conf +src/curl/Makefile src/datacache/Makefile src/datastore/Makefile src/datastore/datastore.conf @@ -1535,7 +1570,6 @@ src/dns/Makefile src/dns/dns.conf src/dv/Makefile src/dv/dv.conf -src/env/Makefile src/exit/Makefile src/fragmentation/Makefile src/fs/Makefile @@ -1547,11 +1581,16 @@ 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 +src/jsonapi/Makefile src/hostlist/Makefile src/multicast/Makefile src/multicast/multicast.conf +src/my/Makefile src/mysql/Makefile src/namecache/Makefile src/namecache/namecache.conf @@ -1565,7 +1604,9 @@ src/peerinfo/peerinfo.conf 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 src/psycstore/Makefile @@ -1579,10 +1620,6 @@ src/rps/Makefile src/rps/rps.conf src/secretsharing/Makefile src/secretsharing/secretsharing.conf -src/sensor/Makefile -src/sensor/sensor.conf -src/sensordashboard/Makefile -src/sensordashboard/sensordashboard.conf src/scalarproduct/Makefile src/scalarproduct/scalarproduct.conf src/set/Makefile @@ -1594,6 +1631,8 @@ src/statistics/statistics.conf src/template/Makefile src/testbed/Makefile src/testbed/testbed.conf +src/testbed-logger/Makefile +src/testbed-logger/testbed-logger.conf src/testing/Makefile src/topology/Makefile src/transport/Makefile @@ -1604,7 +1643,7 @@ src/util/resolver.conf src/vpn/Makefile src/vpn/vpn.conf src/rest/Makefile -src/identity-token/Makefile +src/identity-provider/Makefile pkgconfig/Makefile pkgconfig/gnunetarm.pc pkgconfig/gnunetats.pc @@ -1633,6 +1672,7 @@ pkgconfig/gnunetnamestore.pc pkgconfig/gnunetnat.pc pkgconfig/gnunetnse.pc pkgconfig/gnunetpeerinfo.pc +pkgconfig/gnunetpq.pc pkgconfig/gnunetpostgres.pc pkgconfig/gnunetpsyc.pc pkgconfig/gnunetpsycstore.pc