From 489f6665155d9db9982c3285fe61e818214f18da Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 5 Dec 2022 12:59:32 +0100 Subject: adapt to latest changes in GNUnet build system --- configure.ac | 24 ++---- src/include/Makefile.am | 2 +- src/include/platform.h | 223 ++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 223 insertions(+), 26 deletions(-) diff --git a/configure.ac b/configure.ac index 053897eb..9b2c1deb 100644 --- a/configure.ac +++ b/configure.ac @@ -79,11 +79,8 @@ AS_CASE([$with_gnunet], [no], [AC_MSG_ERROR([--with-gnunet is required])], [LDFLAGS="-L$with_gnunet/lib $LDFLAGS" CPPFLAGS="-I$with_gnunet/include $CPPFLAGS"]) -AC_CHECK_HEADERS([gnunet/platform.h gnunet/gnunet_util_lib.h], - [AC_CHECK_LIB([gnunetutil], [GNUNET_SCHEDULER_run], libgnunetutil=1)], - [], [#ifdef HAVE_GNUNET_PLATFORM_H - #include - #endif]) +AC_CHECK_HEADERS([gnunet/gnunet_util_lib.h], + [AC_CHECK_LIB([gnunetutil], [GNUNET_SCHEDULER_run], libgnunetutil=1)]) AS_IF([test $libgnunetutil != 1], [AC_MSG_ERROR([[ *** @@ -123,10 +120,7 @@ AS_CASE([$with_exchange], CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" AC_CHECK_HEADERS([gnunet/gnunet_pq_lib.h], - [AC_CHECK_LIB([gnunetpq], [GNUNET_PQ_connect_with_cfg], libgnunetpq=1)], - [], [#ifdef HAVE_GNUNET_PLATFORM_H - #include - #endif]) + [AC_CHECK_LIB([gnunetpq], [GNUNET_PQ_connect_with_cfg], libgnunetpq=1)]) AM_CONDITIONAL(HAVE_GNUNETPQ, test x$libgnunetpq = x1) # check for libmicrohttpd @@ -222,10 +216,7 @@ AS_CASE([$with_exchange], CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" AC_CHECK_HEADERS([taler/taler_fakebank_lib.h], - [AC_CHECK_LIB([talerfakebank], [TALER_FAKEBANK_start], libtalerfakebank=1)], - [], [#ifdef HAVE_GNUNET_PLATFORM_H - #include - #endif]) + [AC_CHECK_LIB([talerfakebank], [TALER_FAKEBANK_start], libtalerfakebank=1)]) AM_CONDITIONAL(HAVE_TALERFAKEBANK, test x$libtalerfakebank = x1) @@ -243,12 +234,7 @@ AS_CASE([$with_twister], [LDFLAGS="-L$with_twister/lib $LDFLAGS" CPPFLAGS="-I$with_twister/include $CPPFLAGS"]) AC_CHECK_LIB(talertwistertesting,TALER_TWISTER_run_twister, - [AC_CHECK_HEADER([taler/taler_twister_testing_lib.h],[twistertesting=1],, - [#ifdef HAVE_GNUNET_PLATFORM_H - #include - #endif - ])]) - + [AC_CHECK_HEADER([taler/taler_twister_testing_lib.h],[twistertesting=1])]) AM_CONDITIONAL(HAVE_TWISTER, test x$twistertesting = x1) diff --git a/src/include/Makefile.am b/src/include/Makefile.am index 8c8775f6..aeb65712 100644 --- a/src/include/Makefile.am +++ b/src/include/Makefile.am @@ -1,6 +1,6 @@ # This Makefile.am is in the public domain EXTRA_DIST = \ - platform.h + platform.h gettext.h talerincludedir = $(includedir)/taler diff --git a/src/include/platform.h b/src/include/platform.h index 39ffa046..61d3e402 100644 --- a/src/include/platform.h +++ b/src/include/platform.h @@ -26,10 +26,10 @@ /* Include our configuration header */ #ifndef HAVE_USED_CONFIG_H -# define HAVE_USED_CONFIG_H -# ifdef HAVE_CONFIG_H -# include "taler_merchant_config.h" -# endif +#define HAVE_USED_CONFIG_H +#ifdef HAVE_CONFIG_H +#include "taler_merchant_config.h" +#endif #endif @@ -42,8 +42,219 @@ /* Include the features available for GNU source */ #define _GNU_SOURCE -/* Include GNUnet's platform file */ -#include + +#ifdef HAVE_SYS_TYPES_H +#include +#endif + +#ifdef __clang__ +#undef HAVE_STATIC_ASSERT +#endif + +/** + * These may be expensive, but good for debugging... + */ +#define ALLOW_EXTRA_CHECKS GNUNET_YES + +/** + * For strptime (glibc2 needs this). + */ +#ifndef _XOPEN_SOURCE +#define _XOPEN_SOURCE 499 +#endif + +#ifndef _REENTRANT +#define _REENTRANT +#endif + +/* configuration options */ + +#define VERBOSE_STATS 0 + +#include +#include +#include +#if HAVE_NETINET_IN_H +#include +#endif +#if HAVE_NETINET_IN_SYSTM_H +#include +#endif +#if HAVE_NETINET_IP_H +#include /* superset of previous */ +#endif +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#ifdef HAVE_MALLOC_H +#include /* for mallinfo on GNU */ +#endif +#include /* KLB_FIX */ +#include +#include +#include /* KLB_FIX */ +#include +#include +#if HAVE_SYS_PARAM_H +#include +#endif +#if HAVE_SYS_TIME_H +#include +#endif +#include +#ifdef BSD +#include +#endif +#if defined(BSD) && defined(__FreeBSD__) && defined(__FreeBSD_kernel__) +#include +#endif +#ifdef DARWIN +#include +#include +#include +#endif +#if defined(__linux__) || defined(GNU) +#include +#endif +#ifdef SOLARIS +#include +#include +#include +#include +#endif +#if HAVE_UCRED_H +#include +#endif +#if HAVE_SYS_UCRED_H +#include +#endif +#if HAVE_IFADDRS_H +#include +#endif +#include +#include + +#if HAVE_VFORK_H +#include +#endif + +#include +#if HAVE_SYS_RESOURCE_H +#include +#endif + +#if HAVE_ENDIAN_H +#include +#endif +#if HAVE_SYS_ENDIAN_H +#include +#endif + +#define DIR_SEPARATOR '/' +#define DIR_SEPARATOR_STR "/" +#define PATH_SEPARATOR ':' +#define PATH_SEPARATOR_STR ":" +#define NEWLINE "\n" + +#include +#include "gettext.h" +/** + * GNU gettext support macro. + */ +#define _(String) dgettext (PACKAGE, String) +#define LIBEXTRACTOR_GETTEXT_DOMAIN "libextractor" + +#include + +/* FreeBSD_kernel is not defined on the now discontinued kFreeBSD */ +#if defined(BSD) && defined(__FreeBSD__) && defined(__FreeBSD_kernel__) +#define __BYTE_ORDER BYTE_ORDER +#define __BIG_ENDIAN BIG_ENDIAN +#endif + +#ifdef DARWIN +#define __BYTE_ORDER BYTE_ORDER +#define __BIG_ENDIAN BIG_ENDIAN +/* not available on darwin, override configure */ +#undef HAVE_STAT64 +#undef HAVE_MREMAP +#endif + +#if ! HAVE_ATOLL +long long +atoll (const char *nptr); + +#endif + +#if ENABLE_NLS +#include "langinfo.h" +#endif + +#ifndef SIZE_MAX +#define SIZE_MAX ((size_t) (-1)) +#endif + +#ifndef O_LARGEFILE +#define O_LARGEFILE 0 +#endif + +/** + * AI_NUMERICSERV not defined in windows. Then we just do without. + */ +#ifndef AI_NUMERICSERV +#define AI_NUMERICSERV 0 +#endif + + +#if defined(__sparc__) +#define MAKE_UNALIGNED(val) ({ __typeof__((val)) __tmp; memmove (&__tmp, &(val), \ + sizeof((val))); \ + __tmp; }) +#else +#define MAKE_UNALIGNED(val) val +#endif + +/** + * The termination signal + */ +#define GNUNET_TERM_SIG SIGTERM + + +#ifndef PATH_MAX +/** + * Assumed maximum path length. + */ +#define PATH_MAX 4096 +#endif + +#if HAVE_THREAD_LOCAL_GCC +#define TALER_THREAD_LOCAL __thread +#else +#define TALER_THREAD_LOCAL +#endif + + +/** + * clang et al do not have such an attribute + */ +#if __has_attribute (__nonstring__) +# define __nonstring __attribute__((__nonstring__)) +#else +# define __nonstring +#endif /* Do not use shortcuts for gcrypt mpi */ #define GCRYPT_NO_MPI_MACROS 1 -- cgit v1.2.3