X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=configure.ac;h=8374c5c7e46d9a11bcb66a5f84bb5831ab526677;hb=f3575010be1a53abe6a27b5e5c4d2d60f46ba805;hp=5a0f19d2b8c40014afe44237b08cd588ee20b6df;hpb=cfeccc1b56def35ac586ac2c09ac70b523b59ef5;p=oweals%2Fgnunet.git diff --git a/configure.ac b/configure.ac index 5a0f19d2b..8374c5c7e 100644 --- a/configure.ac +++ b/configure.ac @@ -216,12 +216,11 @@ AC_CHECK_DECLS([_stati64]) # will be more selective! SAVE_LIBS=$LIBS -# libgnurx (regex library for W32) -gnurx=0 -AC_CHECK_LIB(gnurx, regexec, gnurx=1) -if test "x$gnurx" = "x0" -a "x$build_target" = "xmingw" +# tests only run on Windows +if test "x$build_target" = "xmingw" then - AC_MSG_ERROR([on W32 GNUnet needs libgnurx]) + AC_CHECK_LIB(plibc, plibc_init, [], [AC_MSG_ERROR([GNUnet requires PlibC on Windows])]) + AC_CHECK_LIB(gnurx, regexec, [], [AC_MSG_ERROR([GNUnet requires libgnurx on Windows])]) fi # libgcrypt @@ -251,7 +250,7 @@ AC_DEFINE_UNQUOTED([NEED_LIBGCRYPT_VERSION], "$NEED_LIBGCRYPT_VERSION", [require AC_ARG_ENABLE(gcc-hardening, AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks), [if test x$enableval = xyes; then - CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2 -fstack-protector-all" + CFLAGS="$CFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all" CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector" CFLAGS="$CFLAGS --param ssp-buffer-size=1" LDFLAGS="$LDFLAGS -pie" @@ -462,6 +461,30 @@ else AM_CONDITIONAL(HAVE_LIBGNURL, false) fi +# libcurl-gnutls +LIBCURL_CHECK_CONFIG(,7.34.0,[curl=true],[curl=false]) +if test "x$curl" = xtrue +then + AC_CHECK_HEADERS([curl/curl.h], + AC_CHECK_DECLS(CURLINFO_TLS_SESSION,[curl=true],[curl=false],[[#include ]]), + [curl=false]) + # need libcurl-gnutls.so, everything else is not acceptable + AC_CHECK_LIB([curl-gnutls],[curl_easy_getinfo],,[curl=false]) + # cURL must support CURLINFO_TLS_SESSION, version >= 7.34 + +fi +if test x$curl = xfalse +then + AM_CONDITIONAL(HAVE_LIBCURL, false) +if test "$gnurl" = 0 +then + AC_MSG_WARN([GNUnet requires libcurl-gnutls >= 7.34]) +fi +else + AM_CONDITIONAL(HAVE_LIBCURL, true) + AC_DEFINE([HAVE_LIBCURL],[1],[Have CURL]) +fi + # libidn AC_MSG_CHECKING([if Libidn can be used]) @@ -614,7 +637,7 @@ AC_CHECK_HEADERS([fcntl.h math.h errno.h ctype.h limits.h stdio.h stdlib.h strin # Checks for headers that are only required on some systems or opional (and where we do NOT abort if they are not there) -AC_CHECK_HEADERS([malloc.h malloc/malloc.h 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 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 sys/ucred.h endian.h sys/endian.h execinfo.h]) +AC_CHECK_HEADERS([malloc.h malloc/malloc.h malloc/malloc_np.h 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 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 sys/ucred.h endian.h sys/endian.h execinfo.h]) # FreeBSD requires something more funky for netinet/in_systm.h and netinet/ip.h... AC_CHECK_HEADERS([sys/types.h netinet/in_systm.h netinet/in.h netinet/ip.h],,, @@ -666,35 +689,11 @@ AC_SUBST(SQLITE_LDFLAGS) # test for postgres postgres=false -AC_MSG_CHECKING(for postgres) -AC_ARG_WITH(postgres, - [ --with-postgres=PFX base of postgres installation], - [AC_MSG_RESULT("$with_postgres") - case $with_postgres in - no) - ;; - yes) - AC_CHECK_HEADERS(postgresql/libpq-fe.h, - postgres=true) - ;; - *) - LDFLAGS="-L$with_postgres/lib $LDFLAGS" - CPPFLAGS="-I$with_postgres/include $CPPFLAGS" - AC_CHECK_HEADERS(postgresql/libpq-fe.h, - EXT_LIB_PATH="-L$with_postgres/lib $EXT_LIB_PATH" - POSTGRES_LDFLAGS="-L$with_postgres/lib" - POSTGRES_CPPFLAGS="-I$with_postgres/include" - postgres=true) - LDFLAGS=$SAVE_LDFLAGS - CPPFLAGS=$SAVE_CPPFLAGS - ;; - esac - ], - [AC_MSG_RESULT([--with-postgres not specified]) - AC_CHECK_HEADERS(postgresql/libpq-fe.h, postgres=true)]) -AM_CONDITIONAL(HAVE_POSTGRES, test x$postgres = xtrue) -AC_SUBST(POSTGRES_CPPFLAGS) -AC_SUBST(POSTGRES_LDFLAGS) +AX_LIB_POSTGRESQL([]) +if test "$found_postgresql" = "yes"; then + postgres=true +fi +AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue) # test for zlib SAVE_LDFLAGS=$LDFLAGS @@ -828,15 +827,15 @@ AC_ARG_WITH(microhttpd, yes) AC_CHECK_HEADERS([microhttpd.h], AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT, - AC_CHECK_LIB([microhttpd], [MHD_start_daemon], - [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31]) + AC_CHECK_LIB([microhttpd], [MHD_get_fdset2], + [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.32]) AC_RUN_IFELSE([AC_LANG_SOURCE([ #include "$native_srcdir/src/include/platform.h" #include - int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; } + int main () { return MHD_VERSION >= 0x0093200 ? 0 : 1; } ])], [ AC_MSG_RESULT(ok) - lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]), + lmhd=1],[AC_MSG_RESULT(failed)],lmhd=0)]), [],[#include "$native_srcdir/src/include/platform.h" #include ]),, [#include "$native_srcdir/src/include/platform.h"]) @@ -846,16 +845,16 @@ AC_ARG_WITH(microhttpd, CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS" AC_CHECK_HEADERS(microhttpd.h, AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT, - AC_CHECK_LIB([microhttpd], [MHD_start_daemon], + AC_CHECK_LIB([microhttpd], [MHD_get_fdset2], EXT_LIB_PATH="-L$with_microhttpd/lib $EXT_LIB_PATH" - [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31]) + [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.32]) AC_RUN_IFELSE([AC_LANG_SOURCE([ #include "$native_srcdir/src/include/platform.h" #include - int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; } + int main () { return MHD_VERSION >= 0x0093200 ? 0 : 1; } ])], [ AC_MSG_RESULT(ok) - lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]), + lmhd=1],[AC_MSG_RESULT(failed)],lmhd=0)]), [],[#include "$native_srcdir/src/include/platform.h" #include ]),, [#include "$native_srcdir/src/include/platform.h"]) @@ -865,15 +864,15 @@ AC_ARG_WITH(microhttpd, [AC_MSG_RESULT([--with-microhttpd not specified]) AC_CHECK_HEADERS([microhttpd.h], AC_CHECK_DECL(MHD_OPTION_PER_IP_CONNECTION_LIMIT, - AC_CHECK_LIB([microhttpd], [MHD_start_daemon], - [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.31]) + AC_CHECK_LIB([microhttpd], [MHD_get_fdset2], + [AC_MSG_CHECKING([for libmicrohttpd >= 0.9.32]) AC_RUN_IFELSE([AC_LANG_SOURCE([ #include "$native_srcdir/src/include/platform.h" #include - int main () { return MHD_VERSION >= 0x0093002 ? 0 : 1; } + int main () { return MHD_VERSION >= 0x0093200 ? 0 : 1; } ])], [ AC_MSG_RESULT(ok) - lmhd=1],[AC_MSG_RESULT(failed)],lmhd=1)]), + lmhd=1],[AC_MSG_RESULT(failed)],lmhd=0)]), [],[#include "$native_srcdir/src/include/platform.h" #include ]),, [#include "$native_srcdir/src/include/platform.h"])]) @@ -1083,12 +1082,11 @@ AC_ARG_WITH(gnutls, AC_CHECK_LIB([gnutls], [gnutls_priority_set], gnutls=true)) AC_CHECK_HEADERS([gnutls/dane.h], - AC_CHECK_LIB([gnutls-dane], [dane_verify_crt_raw], - gnutls_dane=1)) + AC_CHECK_LIB([gnutls-dane], [dane_verify_crt_raw], + gnutls_dane=1)) ]) AM_CONDITIONAL(HAVE_GNUTLS, test x$gnutls = xtrue) AC_DEFINE_UNQUOTED([HAVE_GNUTLS], $gnutls, [We have GnuTLS]) - AM_CONDITIONAL(HAVE_GNUTLS_DANE, test x$gnutls_dane = x1) AC_DEFINE_UNQUOTED([HAVE_GNUTLS_DANE], $gnutls_dane, [We have GnuTLS with DANE support]) @@ -1209,9 +1207,26 @@ AC_ARG_ENABLE([experimental], AC_MSG_RESULT($enable_experimental) AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"]) +# should malicious code be compiled (should only be used for testing)? +AC_MSG_CHECKING(whether to compile malicious code) +AC_ARG_ENABLE([malicious], + [AS_HELP_STRING([--enable-malicious], [enable compiling malicious code])], + [if test "x$enableval" = "xno" + then + malicious=0 + else + malicious=1 + fi], + [malicious=0 + enable_malicious=no]) +AC_MSG_RESULT($enable_malicious) +AM_CONDITIONAL([ENABLE_MALICIOUS], [1=$malicious]) +AC_DEFINE_UNQUOTED([ENABLE_MALICIOUS], [$malicious], + [enable compilation of malicious code]) + # should services be started by default when a peer starts? Some services may # choose to never start by default and it is upto the service/module developer to -# decide it by having "AUTOSTART = NO" instead of "AUTOSTART = @AUTOSTART" in +# decide it by having "AUTOSTART = NO" instead of "AUTOSTART = @AUTOSTART@" in # the service/module's conf.in file. AUTOSTART="YES" AC_MSG_CHECKING(whether to auto-start peer's services by default) @@ -1430,8 +1445,6 @@ src/dv/Makefile src/dv/dv.conf src/env/Makefile src/exit/Makefile -src/experimentation/Makefile -src/experimentation/experimentation.conf src/fragmentation/Makefile src/fs/Makefile src/fs/fs.conf @@ -1470,10 +1483,14 @@ src/regex/Makefile src/regex/regex.conf src/revocation/Makefile src/revocation/revocation.conf +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 @@ -1527,6 +1544,7 @@ pkgconfig/gnunetpsyc.pc pkgconfig/gnunetpsycstore.pc pkgconfig/gnunetregex.pc pkgconfig/gnunetrevocation.pc +pkgconfig/gnunetrps.pc pkgconfig/gnunetscalarproduct.pc pkgconfig/gnunetset.pc pkgconfig/gnunetsocial.pc @@ -1558,10 +1576,16 @@ fi # libgnurl if test "x$gnurl" = "x0" then - AC_MSG_NOTICE([NOTICE: libgnurl not found. http client support will not be compiled.]) - AC_MSG_WARN([libgnurl not found. hostlist daemon will not be compiled, and you probably WANT hostlist daemon]) + if test "x$curl" = "x0" + then + AC_MSG_NOTICE([NOTICE: 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.]) + fi fi + # bluetooth if test "x$bluetooth" = "x0" then