summaryrefslogtreecommitdiffstats
path: root/config.h.in
diff options
context:
space:
mode:
Diffstat (limited to 'config.h.in')
-rw-r--r--config.h.in416
1 files changed, 416 insertions, 0 deletions
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 0000000..59c70c6
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,416 @@
+#ifndef RSPAMD_CONFIG_H_IN
+#define RSPAMD_CONFIG_H_IN
+
+
+#cmakedefine BUILD_STATIC 1
+#cmakedefine CURL_FOUND 1
+#cmakedefine DEBUG_MODE 1
+#cmakedefine GIT_VERSION 1
+#cmakedefine GLIB_HASH_COMPAT 1
+#cmakedefine GLIB_RE_COMPAT 1
+#cmakedefine GLIB_UNISCRIPT_COMPAT 1
+#cmakedefine HAVE_ARPA_INET_H 1
+#cmakedefine HAVE_ATOMIC_BUILTINS 1
+#cmakedefine HAVE_CLOCK_GETCPUCLOCKID 1
+#cmakedefine HAVE_CLOCK_GETTIME 1
+#cmakedefine HAVE_CLOCK_PROCESS_CPUTIME_ID 1
+#cmakedefine HAVE_CLOCK_VIRTUAL 1
+#cmakedefine HAVE_CPUID_H 1
+#cmakedefine HAVE_CTYPE_H 1
+#cmakedefine HAVE_DIRENT_H 1
+#cmakedefine HAVE_DIRFD 1
+#cmakedefine HAVE_ENDIAN_H 1
+#cmakedefine HAVE_FALLOCATE 1
+#cmakedefine HAVE_FCNTL_H 1
+#cmakedefine HAVE_FETCH_H 1
+#cmakedefine HAVE_FIPS_MODE 1
+#cmakedefine HAVE_FFSLL 1
+#cmakedefine HAVE_FLOCK 1
+#cmakedefine HAVE_FPATHCONF 1
+#cmakedefine HAVE_GETPAGESIZE 1
+#cmakedefine HAVE_GLOB_H 1
+#cmakedefine HAVE_GRP_H 1
+#cmakedefine HAVE_INTTYPES_H 1
+#cmakedefine HAVE_IPV6_V6ONLY 1
+#cmakedefine HAVE_LIBGEN_H 1
+#cmakedefine HAVE_LIBUTIL_H 1
+#cmakedefine HAVE_LOCALE_H 1
+#cmakedefine HAVE_MACHINE_ENDIAN_H 1
+#cmakedefine HAVE_MAXPATHLEN 1
+#cmakedefine HAVE_FMEMOPEN 1
+#cmakedefine HAVE_MEMRCHR 1
+#cmakedefine HAVE_MKSTEMP 1
+#cmakedefine HAVE_MMAP_ANON 1
+#cmakedefine HAVE_NANOSLEEP 1
+#cmakedefine HAVE_NETDB_H 1
+#cmakedefine HAVE_NETINET_IN_H 1
+#cmakedefine HAVE_NETINET_TCP_H 1
+#cmakedefine HAVE_NFTW 1
+#cmakedefine HAVE_OCLOEXEC 1
+#cmakedefine HAVE_ONOFOLLOW 1
+#cmakedefine HAVE_OPENMEMSTREAM 1
+#cmakedefine HAVE_PATH_MAX 1
+
+/* OSX has broken JIT support in PCRE, disable it */
+#cmakedefine HAVE_PCRE_JIT 1
+#cmakedefine HAVE_PCRE_JIT_FAST 1
+
+#cmakedefine HAVE_PIDFILE 1
+#cmakedefine HAVE_PIDFILE_FILENO 1
+#cmakedefine HAVE_POLL_H 1
+#cmakedefine HAVE_POSIX_FALLOCATE 1
+#cmakedefine HAVE_PTHREAD_PROCESS_SHARED 1
+#cmakedefine HAVE_PWD_H 1
+#cmakedefine HAVE_RDTSC 1
+#cmakedefine HAVE_READAHEAD 1
+#cmakedefine HAVE_READPASSPHRASE_H 1
+#cmakedefine HAVE_RECVMMSG 1
+#cmakedefine HAVE_RUSAGE_SELF 1
+#cmakedefine HAVE_SA_SIGINFO 1
+#cmakedefine HAVE_SANE_SHMEM 1
+#cmakedefine HAVE_SCHED_YIELD 1
+#cmakedefine HAVE_SC_NPROCESSORS_ONLN 1
+#cmakedefine HAVE_SETPROCTITLE 1
+#cmakedefine HAVE_SIGALTSTACK 1
+#cmakedefine HAVE_SIGINFO_H 1
+#cmakedefine HAVE_SOCK_SEQPACKET 1
+#cmakedefine HAVE_SSL_TLSEXT_HOSTNAME 1
+#cmakedefine HAVE_STDBOOL_H 1
+#cmakedefine HAVE_STDINT_H 1
+#cmakedefine HAVE_STDIO_H 1
+#cmakedefine HAVE_STDLIB_H 1
+#cmakedefine HAVE_STRINGS_H 1
+#cmakedefine HAVE_STRING_H 1
+#cmakedefine HAVE_SYSLOG_H 1
+#cmakedefine HAVE_SYS_CDEFS_H 1
+#cmakedefine HAVE_SYS_ENDIAN_H 1
+#cmakedefine HAVE_SYS_EVENTFD_H 1
+#cmakedefine HAVE_SYS_FILE_H 1
+#cmakedefine HAVE_SYS_MMAN_H 1
+#cmakedefine HAVE_SYS_PARAM_H 1
+#cmakedefine HAVE_SYS_RESOURCE_H 1
+#cmakedefine HAVE_SYS_SOCKET_H 1
+#cmakedefine HAVE_SYS_STAT_H 1
+#cmakedefine HAVE_SYS_TIMEB_H 1
+#cmakedefine HAVE_SYS_TYPES_H 1
+#cmakedefine HAVE_SYS_UCONTEXT_H 1
+#cmakedefine HAVE_SYS_UIO_H 1
+#cmakedefine HAVE_SYS_UN_H 1
+#cmakedefine HAVE_SYS_WAIT_H 1
+#cmakedefine HAVE_TANH 1
+#cmakedefine HAVE_TERMIOS_H 1
+#cmakedefine HAVE_TIME_H 1
+#cmakedefine HAVE_UCONTEXT_H 1
+#cmakedefine HAVE_UNISTD_H 1
+#cmakedefine PARAM_H_HAS_BITSET 1
+#cmakedefine WITH_GPERF_TOOLS 1
+#cmakedefine WITH_HYPERSCAN 1
+#cmakedefine WITH_JEMALLOC 1
+#cmakedefine WITH_LUA 1
+#cmakedefine WITH_LUAJIT 1
+#cmakedefine WITH_PCRE2 1
+#cmakedefine WITH_SNOWBALL 1
+#cmakedefine WITH_SQLITE 1
+#cmakedefine WITH_LUA_TRACE 1
+#cmakedefine WITH_LUA_REPL 1
+#cmakedefine WITH_FASTTEXT 1
+#cmakedefine BACKWARD_ENABLE 1
+
+#cmakedefine DISABLE_PTHREAD_MUTEX 1
+
+/* Detect endianness */
+
+#ifdef HAVE_ENDIAN_H
+ #include <endian.h>
+#elif defined(HAVE_SYS_ENDIAN_H)
+ #include <sys/endian.h>
+#elif defined(HAVE_MACHINE_ENDIAN_H)
+ #include <machine/endian.h>
+#elif defined(__sun)
+ #include <sys/byteorder.h>
+ #ifndef LITTLE_ENDIAN
+ #define LITTLE_ENDIAN 1234
+ #endif
+ #ifndef BIG_ENDIAN
+ #define BIG_ENDIAN 4321
+ #endif
+ #ifdef _LITTLE_ENDIAN
+ #define BYTE_ORDER LITTLE_ENDIAN
+ #else
+ #define BYTE_ORDER BIG_ENDIAN
+ #endif
+#endif
+
+#ifndef BYTE_ORDER
+
+#ifndef LITTLE_ENDIAN
+ #define LITTLE_ENDIAN 1234
+#endif
+#ifndef BIG_ENDIAN
+ #define BIG_ENDIAN 4321
+#endif
+
+#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN || \
+ defined(__BIG_ENDIAN__) || \
+ defined(__ARMEB__) || \
+ defined(__THUMBEB__) || \
+ defined(__AARCH64EB__) || \
+ defined(_MIBSEB) || defined(__MIBSEB) || defined(__MIBSEB__)
+#define BYTE_ORDER BIG_ENDIAN
+#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || \
+ defined(__LITTLE_ENDIAN__) || \
+ defined(__ARMEL__) || \
+ defined(__THUMBEL__) || \
+ defined(__AARCH64EL__) || \
+ defined(_MIPSEL) || defined(__MIPSEL) || defined(__MIPSEL__)
+#define BYTE_ORDER LITTLE_ENDIAN
+#else
+#error "I don't know what architecture this is!"
+#endif
+
+#endif /* BYTE_ORDER */
+
+#define RSPAMD_SHAREDIR "${SHAREDIR}"
+#define RSPAMD_CONFDIR "${CONFDIR}"
+#define RSPAMD_LOCAL_CONFDIR "${LOCAL_CONFDIR}"
+#define RSPAMD_RUNDIR "${RUNDIR}"
+#define RSPAMD_LOGDIR "${LOGDIR}"
+#define RSPAMD_DBDIR "${DBDIR}"
+#define RSPAMD_PLUGINSDIR "${PLUGINSDIR}"
+#define RSPAMD_LUALIBDIR "${LUALIBDIR}"
+#define RSPAMD_RULESDIR "${RULESDIR}"
+#define RSPAMD_WWWDIR "${WWWDIR}"
+#define RSPAMD_PREFIX "${CMAKE_INSTALL_PREFIX}"
+#define RSPAMD_LIBDIR "${RSPAMD_LIBDIR}"
+
+#define RSPAMD_VERSION_MAJOR "${RSPAMD_VERSION_MAJOR}"
+#define RSPAMD_VERSION_MINOR "${RSPAMD_VERSION_MINOR}"
+#define RSPAMD_VERSION_PATCH "${RSPAMD_VERSION_PATCH}"
+
+#define RSPAMD_VERSION_MAJOR_NUM ${RSPAMD_VERSION_MAJOR_NUM}
+#define RSPAMD_VERSION_MINOR_NUM ${RSPAMD_VERSION_MINOR_NUM}
+#define RSPAMD_VERSION_PATCH_NUM ${RSPAMD_VERSION_PATCH_NUM}
+
+#define RSPAMD_VERSION_BRANCH "${RSPAMD_VERSION_MAJOR}"
+
+#if defined(GIT_VERSION) && GIT_VERSION == 1
+# define RVERSION "${RSPAMD_VERSION}"
+# define RSPAMD_VERSION_FULL "${RSPAMD_VERSION}_${RSPAMD_ID}"
+# define RID "${RSPAMD_ID}"
+# define RSPAMD_VERSION_NUM 0x${RSPAMD_VERSION_MAJOR_NUM}${RSPAMD_VERSION_MINOR_NUM}00${RSPAMD_ID}ULL
+#else
+# define RSPAMD_VERSION_FULL "${RSPAMD_VERSION}"
+# define RVERSION "${RSPAMD_VERSION}"
+# define RSPAMD_VERSION_NUM 0x${RSPAMD_VERSION_MAJOR_NUM}${RSPAMD_VERSION_MINOR_NUM}000000000ULL
+# define RID "release"
+#endif
+
+#define RSPAMD_MASTER_SITE_URL "${RSPAMD_MASTER_SITE_URL}"
+
+#define MODULES_NUM ${RSPAMD_MODULES_NUM}
+
+/* sys/types */
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+/* cdefs */
+#ifdef HAVE_SYS_CDEFS_H
+#include <sys/cdefs.h>
+#endif
+
+/* sys/param */
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+
+/* stdint */
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#elif defined(HAVE_INTTYPES_H)
+#include <inttypes.h>
+#endif
+
+/* stdbool */
+#ifdef HAVE_STDBOOL_H
+#include <stdbool.h>
+#endif
+
+/* stdlib */
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+/* stdio */
+#ifdef HAVE_STDIO_H
+#include <stdio.h>
+#endif
+
+/* time */
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+
+/* string */
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#ifdef HAVE_STRINGS_H
+#include <strings.h>
+#endif
+
+#include <errno.h>
+
+#include <glib.h>
+#include <gmodule.h>
+
+#ifndef PARAM_H_HAS_BITSET
+/* Bit map related macros. */
+#ifndef NBBY
+# define NBBY 8 /* number of bits in a byte */
+#endif
+#define setbit(a, \
+ i) (((unsigned char *)(a))[(i) / NBBY] |= 1 << ((i) % NBBY))
+#define clrbit(a, \
+ i) (((unsigned char *)(a))[(i) / NBBY] &= ~(1 << ((i) % NBBY)))
+#define isset(a,i) \
+ (((const unsigned char *)(a))[(i) / NBBY] & (1 << ((i) % NBBY)))
+#define isclr(a,i) \
+ ((((const unsigned char *)(a))[(i) / NBBY] & (1 << ((i) % NBBY))) == 0)
+#endif
+
+#ifdef _MSC_VER
+# define RSPAMD_PACKED(name) \
+ __pragma(pack(push, 1)) struct name __pragma(pack(pop))
+#elif defined(__GNUC__)
+# define RSPAMD_PACKED(name) struct __attribute__((packed)) name
+#else
+# define RSPAMD_PACKED(name) struct name
+#endif
+
+#ifndef RSPAMD_ALIGNED
+#if defined(_MSC_VER)
+# define RSPAMD_ALIGNED(x) __declspec(align(x))
+# define RSPAMD_OPTIMIZE(x)
+# define RSPAMD_ALWAYS_INLINE
+# define RSPAMD_PURE_FUNCTION
+#elif defined(__GNUC__)
+# define RSPAMD_ALIGNED(x) __attribute__((aligned(x)))
+# define RSPAMD_ALWAYS_INLINE __attribute__((always_inline))
+# define RSPAMD_PURE_FUNCTION __attribute__((pure))
+#ifndef __clang__
+# define RSPAMD_OPTIMIZE(x) __attribute__((__optimize__ (x)))
+#else
+# define RSPAMD_OPTIMIZE(x)
+#endif
+#else
+/* Unknown compiler */
+# define RSPAMD_ALIGNED(x)
+# define RSPAMD_OPTIMIZE(x)
+# define RSPAMD_ALWAYS_INLINE
+# define RSPAMD_PURE_FUNCTION
+#endif
+#endif
+
+#ifndef __cplusplus
+# ifdef G_ALIGNOF
+# define RSPAMD_ALIGNOF G_ALIGNOF
+# else
+# define RSPAMD_ALIGNOF(t) _Alignof(t)
+# endif
+#else
+/* glib G_ALIGNOF nor C11 _Alignof are not good enough for C++, nuff said... */
+# define RSPAMD_ALIGNOF(t) alignof(t)
+#endif
+
+/* Address sanitizer */
+#ifdef __clang__
+# if __has_feature(address_sanitizer)
+/* emulate gcc's __SANITIZE_ADDRESS__ flag */
+# define __SANITIZE_ADDRESS__
+# define RSPAMD_NO_SANITIZE \
+ __attribute__((no_sanitize("address", "hwaddress")))
+# else
+# define RSPAMD_NO_SANITIZE
+# endif
+#elif defined(__GNUC__)
+/* GCC based */
+# if defined(__has_attribute)
+# if __has_attribute(__no_sanitize_address__)
+# define RSPAMD_NO_SANITIZE __attribute__((no_sanitize_address))
+# else
+# define RSPAMD_NO_SANITIZE
+# endif
+# else
+# define RSPAMD_NO_SANITIZE
+# endif
+#else
+# define RSPAMD_NO_SANITIZE
+#endif
+
+
+#ifndef BITSPERBYTE
+# define BITSPERBYTE (NBBY * sizeof (char))
+#endif
+#ifndef NBYTES
+# define NBYTES(nbits) (((nbits) + BITSPERBYTE - 1) / BITSPERBYTE)
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern uint64_t ottery_rand_uint64(void);
+#define UCL_RANDOM_FUNCTION ottery_rand_uint64()
+#ifdef __cplusplus
+}
+#endif
+
+
+/* Disable slab allocator if jemalloc is already in the system */
+#if defined(WITH_JEMALLOC) || defined(__FreeBSD__) || \
+ (defined(__NetBSD__) && __NetBSD_Version__ >= 500000000)
+#if 0
+ #define g_slice_alloc(sz) g_malloc(sz)
+ #define g_slice_alloc0(sz) g_malloc0(sz)
+ #define g_slice_free1(sz, p) g_free(p)
+#endif
+#endif
+
+#ifdef __cplusplus
+ #define RSPAMD_CONSTRUCTOR(f) \
+ static void f(void) noexcept; \
+ struct f##_t_ { f##_t_(void) noexcept { f(); } }; static f##_t_ f##_; \
+ static void f(void) noexcept
+#else
+#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
+ #define RSPAMD_CONSTRUCTOR(f) \
+ static void f(void) __attribute__((constructor)); \
+ static void f(void)
+ #define RSPAMD_DESTRUCTOR(f) \
+ static void f(void) __attribute__((destructor)); \
+ static void f(void)
+#else
+ /* In fact, everything else is not supported ¯\_(ツ)_/¯ */
+ #error incompatible compiler found, need gcc > 2.7 or clang
+#endif
+#endif /* __cplusplus */
+
+#ifdef __GNUC__
+#define RSPAMD_CONST_FUNCTION __attribute__ ((const))
+#else
+#define RSPAMD_CONST_FUNCTION
+#endif
+
+#ifdef __GNUC__
+#define RSPAMD_UNREACHABLE __builtin_unreachable()
+#else
+#define RSPAMD_UNREACHABLE abort()
+#endif
+
+#define HAVE_OPENSSL 1
+#define HAVE_MATH_H 1
+
+
+#endif