X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=configure.ac;h=8c747d283bbbeb8b35e3ac0e5ec4230ebe5ebc22;hb=50c90b76002c2e37e36a98ca0b2f01b1d0e8f84d;hp=22133e07d025d971371d3296f5bc82b0e408801b;hpb=75bf71e92c81b966df11ad3c00228658f46a6e8f;p=oweals%2Fgnunet.git diff --git a/configure.ac b/configure.ac index 22133e07d..8c747d283 100644 --- a/configure.ac +++ b/configure.ac @@ -21,8 +21,9 @@ # # AC_PREREQ(2.61) -AC_INIT([gnunet], [0.9.0pre1],[bug-gnunet@gnu.org]) -AM_INIT_AUTOMAKE([gnunet], [0.9.0pre1]) +AC_INIT([gnunet], [0.9.0pre2],[bug-gnunet@gnu.org]) +AM_INIT_AUTOMAKE([gnunet], [0.9.0pre2]) +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) AC_CONFIG_HEADERS([gnunet_config.h]) AH_TOP([#define _GNU_SOURCE 1]) @@ -141,6 +142,7 @@ netbsd*) LDFLAGS="$LDFLAGS -no-undefined -Wl,--export-all-symbols" LIBS="$LIBS -lws2_32 -lplibc" CFLAGS="-mms-bitfields $CFLAGS" + CPPFLAGS="-D_WIN32_WINNT=0x0501 $CPPFLAGS" build_target="mingw" AC_PROG_CXX LIBPREFIX=lib @@ -182,12 +184,61 @@ SAVE_LIBS=$LIBS # libgcrypt gcrypt=0 AM_PATH_LIBGCRYPT(1.2.0, gcrypt=1) +AC_CHECK_DECLS([gcry_mpi_lshift], [], [], [[#include ]]) if test $gcrypt = 0 then AC_MSG_ERROR([GNUnet needs libgcrypt]) fi +AC_MSG_CHECKING([for working HMAC]) +AC_LANG_PUSH(C) +LIBS="$LIBS $LIBGCRYPT_LIBS" +CFLAGS="$CFLAGS $LIBGCRYPT_CFLAGS" +AC_RUN_IFELSE( + [AC_LANG_PROGRAM([#include ], [[ + gcry_md_hd_t mac; + + unsigned char data[] = { 0xbf, 0x16, 0x6e, 0x46, 0x3a, 0x6c, 0xf3, 0x93, 0xa7, 0x72, + 0x11, 0xa1, 0xdc, 0x0b, 0x07, 0xdb, 0x1a, 0x5e, 0xd9, 0xb9, 0x81, 0xbe, + 0xea, 0xe4, 0x31, 0x5f, 0x24, 0xff, 0xfe, 0x50, 0x8a, 0xde }; + unsigned char key[] = { 0xfc, 0x62, 0x76, 0x35 }; + unsigned char result[] = {0xa2, 0xb, 0x1, 0xd9, 0xc0, 0x8b, 0x5a, 0x12, 0x80, + 0xd5, 0x50, 0x12, 0x8e, 0xd0, 0x5b, 0xb6, 0x5c, 0x87, 0x24, 0xe2, 0xd0, + 0xd2, 0xaf, 0x63, 0xae, 0xd1, 0xd6, 0x64, 0x14, 0xe3, 0x6e, 0x61, 0x5b, + 0xd, 0xba, 0x17, 0x7d, 0xd3, 0x10, 0xb1, 0x37, 0x41, 0x91, 0x7d, 0xeb, + 0x1, 0x4d, 0x71, 0xe8, 0x59, 0x71, 0x42, 0x8e, 0xd6, 0xf3, 0x29, 0x3b, + 0x90, 0xf2, 0xd1, 0xaf, 0x65, 0x1e, 0xb3}; + + if (!gcry_check_version (GCRYPT_VERSION)) + return 1; + + gcry_control (GCRYCTL_DISABLE_SECMEM, 0); + gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0); + + if (gcry_md_open(&mac, GCRY_MD_SHA512, GCRY_MD_FLAG_HMAC) != GPG_ERR_NO_ERROR) + return 2; + + gcry_md_setkey (mac, key, sizeof (key)); + gcry_md_write (mac, data, sizeof (data)); + + if (memcmp(gcry_md_read (mac, 0), result, gcry_md_get_algo_dlen (gcry_md_get_algo (mac))) != 0) + return 3; + + gcry_md_close (mac); + + return 0; + ]])], + [AC_MSG_RESULT([yes])], + [ + if test $? = 3 + then + 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.]) + else + AC_MSG_FAILURE([HMAC test failed]) + fi + ]) +AC_LANG_POP(C) # libcurl LIBCURL_CHECK_CONFIG(,7.20.1,,AC_MSG_ERROR([GNUnet requires libcurl >= 7.20.1])) @@ -244,39 +295,6 @@ 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([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]) -# test for libgmp -gmp=0 -AC_MSG_CHECKING(for libgmp) -AC_ARG_WITH(gmp, - [ --with-gmp=PFX base of libgmp installation], - [AC_MSG_RESULT([$with_gmp]) - case $with_gmp in - no) - ;; - yes) - AC_CHECK_HEADERS(gmp.h, - AC_CHECK_LIB([gmp], [__gmpz_add], - gmp=1)) - ;; - *) - LDFLAGS="-L$with_gmp/lib $LDFLAGS" - CPPFLAGS="-I$with_gmp/include $CPPFLAGS" - AC_CHECK_HEADERS(gmp.h, - AC_CHECK_LIB([gmp], [__gmpz_add], - EXT_LIB_PATH="-L$with_gmp/lib $EXT_LIB_PATH" - gmp=1)) - ;; - esac - ], - [AC_MSG_RESULT([--with-gmp not specified]) - AC_CHECK_HEADERS(gmp.h, - AC_CHECK_LIB([gmp], [__gmpz_add], - gmp=1))]) -if test "$gmp" != 1 -then - AC_MSG_ERROR([GNUnet requires libgmp]) -fi - SAVE_LDFLAGS=$LDFLAGS SAVE_CPPFLAGS=$CPPFLAGS @@ -725,6 +743,18 @@ AC_ARG_ENABLE(experimental, AC_MSG_RESULT($enable_experimental) AM_CONDITIONAL([HAVE_EXPERIMENTAL], [test "x$enable_experimental" = "xyes"]) +# should malicious code be compiled (code used for testing with malicious peers) +enable_malicious=0 +AC_MSG_CHECKING(whether to compile malicious code) +AC_ARG_ENABLE(malicious, + [AS_HELP_STRING([--enable-malicious], + [enable compiling malicious code (only for developers for testing)])], + [enable_malicious=1], + [enable_malicious=0]) +AC_MSG_RESULT($enable_malicious) +AM_CONDITIONAL([HAVE_MALICIOUS], [test "x$enable_malicious" = "x1"]) +AC_DEFINE_UNQUOTED([HAVE_MALICIOUS], $enable_malicious, [Compile malicious code]) + # gcov compilation use_gcov=no AC_ARG_ENABLE([coverage], AS_HELP_STRING([--enable-coverage], @@ -762,6 +792,23 @@ src/topology/Makefile src/transport/Makefile src/util/Makefile src/vpn/Makefile +pkgconfig/Makefile +pkgconfig/gnunetarm.pc +pkgconfig/gnunetblock.pc +pkgconfig/gnunetcore.pc +pkgconfig/gnunetdatacache.pc +pkgconfig/gnunetdatastore.pc +pkgconfig/gnunetdht.pc +pkgconfig/gnunetdhtlog.pc +pkgconfig/gnunetdv.pc +pkgconfig/gnunetfragmentation.pc +pkgconfig/gnunetfs.pc +pkgconfig/gnunethello.pc +pkgconfig/gnunetpeerinfo.pc +pkgconfig/gnunetstatistics.pc +pkgconfig/gnunettesting.pc +pkgconfig/gnunettransport.pc +pkgconfig/gnunetutil.pc ]) AC_OUTPUT