From 4f49b16079b27d7ce633619e4cddfdf2bffbc952 Mon Sep 17 00:00:00 2001 From: cashmere Date: Fri, 4 Sep 2026 09:05:24 +0200 Subject: initial commit --- src/config.h | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 src/config.h (limited to 'src/config.h') diff --git a/src/config.h b/src/config.h new file mode 100644 index 0000000..c5b26e3 --- /dev/null +++ b/src/config.h @@ -0,0 +1,281 @@ +/* +** Copyright (c) 2006 D. Richard Hipp +** +** This program is free software; you can redistribute it and/or +** modify it under the terms of the Simplified BSD License (also +** known as the "2-Clause License" or "FreeBSD License".) + +** This program is distributed in the hope that it will be useful, +** but without any warranty; without even the implied warranty of +** merchantability or fitness for a particular purpose. +** +** Author contact information: +** drh@hwaci.com +** http://www.hwaci.com/drh/ +** +******************************************************************************* +** +** A common header file used by all modules. +*/ + +/* The following macros are necessary for large-file support under +** some linux distributions, and possibly other unixes as well. +*/ +#define _LARGE_FILE 1 +#ifndef _FILE_OFFSET_BITS +# define _FILE_OFFSET_BITS 64 +#endif +#define _LARGEFILE_SOURCE 1 + +/* Needed for various definitions... */ +#ifndef _GNU_SOURCE +# define _GNU_SOURCE +#endif + +/* Make sure that in Win32 MinGW builds, _USE_32BIT_TIME_T is always defined. */ +#if defined(_WIN32) && !defined(_WIN64) && !defined(_MSC_VER) && !defined(_USE_32BIT_TIME_T) +# define _USE_32BIT_TIME_T +#endif + +#ifdef HAVE_AUTOCONFIG_H +#include "autoconfig.h" +#endif + +/* Enable the hardened SHA1 implementation by default */ +#ifndef FOSSIL_HARDENED_SHA1 +# define FOSSIL_HARDENED_SHA1 1 +#endif + +#ifndef _RC_COMPILE_ + +/* +** System header files used by all modules +*/ +#include +#include +#include +/* #include // do not use - causes problems */ +#include +#include +#include + +#endif + +#if defined( __MINGW32__) || defined(__DMC__) || defined(_MSC_VER) || defined(__POCC__) +# if defined(__DMC__) || defined(_MSC_VER) || defined(__POCC__) + typedef int socklen_t; +# endif +# ifndef _WIN32 +# define _WIN32 +# endif +# include +# include +# undef popen +# define popen _popen +# undef pclose +# define pclose _pclose +#else +# include +# include +# include +#endif + +/* +** Utility macro to wrap an argument with double quotes. +*/ +#if !defined(COMPILER_STRINGIFY) +# define COMPILER_STRINGIFY(x) COMPILER_STRINGIFY1(x) +# define COMPILER_STRINGIFY1(x) #x +#endif + +/* +** Define the compiler variant, used to compile the project +*/ +#if !defined(COMPILER_NAME) +# if defined(__DMC__) +# if defined(COMPILER_VERSION) && !defined(NO_COMPILER_VERSION) +# define COMPILER_NAME "dmc-" COMPILER_VERSION +# else +# define COMPILER_NAME "dmc" +# endif +# elif defined(__POCC__) +# if defined(_M_X64) +# if defined(COMPILER_VERSION) && !defined(NO_COMPILER_VERSION) +# define COMPILER_NAME "pellesc64-" COMPILER_VERSION +# else +# define COMPILER_NAME "pellesc64" +# endif +# else +# if defined(COMPILER_VERSION) && !defined(NO_COMPILER_VERSION) +# define COMPILER_NAME "pellesc32-" COMPILER_VERSION +# else +# define COMPILER_NAME "pellesc32" +# endif +# endif +# elif defined(__clang__) +# if !defined(COMPILER_VERSION) +# if defined(__clang_version__) +# define COMPILER_VERSION __clang_version__ +# endif +# endif +# if defined(COMPILER_VERSION) && !defined(NO_COMPILER_VERSION) +# define COMPILER_NAME "clang-" COMPILER_VERSION +# else +# define COMPILER_NAME "clang" +# endif +# elif defined(_MSC_VER) +# if !defined(COMPILER_VERSION) +# define COMPILER_VERSION COMPILER_STRINGIFY(_MSC_VER) +# endif +# if defined(COMPILER_VERSION) && !defined(NO_COMPILER_VERSION) +# define COMPILER_NAME "msc-" COMPILER_VERSION +# else +# define COMPILER_NAME "msc" +# endif +# elif defined(__MINGW32__) +# if !defined(COMPILER_VERSION) +# if defined(__MINGW_VERSION) +# if defined(__GNUC__) +# if defined(__VERSION__) +# define COMPILER_VERSION COMPILER_STRINGIFY(__MINGW_VERSION) "-gcc-" __VERSION__ +# else +# define COMPILER_VERSION COMPILER_STRINGIFY(__MINGW_VERSION) "-gcc" +# endif +# else +# define COMPILER_VERSION COMPILER_STRINGIFY(__MINGW_VERSION) +# endif +# elif defined(__MINGW32_VERSION) +# if defined(__GNUC__) +# if defined(__VERSION__) +# define COMPILER_VERSION COMPILER_STRINGIFY(__MINGW32_VERSION) "-gcc-" __VERSION__ +# else +# define COMPILER_VERSION COMPILER_STRINGIFY(__MINGW32_VERSION) "-gcc" +# endif +# else +# define COMPILER_VERSION COMPILER_STRINGIFY(__MINGW32_VERSION) +# endif +# endif +# endif +# if defined(COMPILER_VERSION) && !defined(NO_COMPILER_VERSION) +# define COMPILER_NAME "mingw32-" COMPILER_VERSION +# else +# define COMPILER_NAME "mingw32" +# endif +# elif defined(__GNUC__) +# if !defined(COMPILER_VERSION) +# if defined(__VERSION__) +# define COMPILER_VERSION __VERSION__ +# endif +# endif +# if defined(COMPILER_VERSION) && !defined(NO_COMPILER_VERSION) +# define COMPILER_NAME "gcc-" COMPILER_VERSION +# else +# define COMPILER_NAME "gcc" +# endif +# elif defined(_WIN32) +# define COMPILER_NAME "win32" +# else +# define COMPILER_NAME "unknown" +# endif +#endif + +#if !defined(_RC_COMPILE_) && !defined(SQLITE_AMALGAMATION) + +/* +** MSVC does not include the "stdint.h" header file until 2010. +*/ +#if defined(_MSC_VER) && _MSC_VER<1600 + typedef __int8 int8_t; + typedef unsigned __int8 uint8_t; + typedef __int32 int32_t; + typedef unsigned __int32 uint32_t; + typedef __int64 int64_t; + typedef unsigned __int64 uint64_t; +#else +# include +#endif + +#if USE_SEE && !defined(SQLITE_HAS_CODEC) +# define SQLITE_HAS_CODEC +#endif +#include "sqlite3.h" + +/* +** On Solaris, getpass() will only return up to 8 characters. getpassphrase() returns up to 257. +*/ +#if HAVE_GETPASSPHRASE + #define getpass getpassphrase +#endif + +/* +** Typedef for a 64-bit integer +*/ +typedef sqlite3_int64 i64; +typedef sqlite3_uint64 u64; + +/* +** 8-bit types +*/ +typedef unsigned char u8; +typedef signed char i8; + +/* In the timeline, check-in messages are truncated at the first space +** that is more than MX_CKIN_MSG from the beginning, or at the first +** paragraph break that is more than MN_CKIN_MSG from the beginning. +*/ +#define MN_CKIN_MSG 100 +#define MX_CKIN_MSG 300 + +/* +** The following macros are used to cast pointers to integers and +** integers to pointers. The way you do this varies from one compiler +** to the next, so we have developed the following set of #if statements +** to generate appropriate macros for a wide range of compilers. +** +** The correct "ANSI" way to do this is to use the intptr_t type. +** Unfortunately, that typedef is not available on all compilers, or +** if it is available, it requires an #include of specific headers +** that vary from one machine to the next. +*/ +#if defined(__PTRDIFF_TYPE__) /* This case should work for GCC */ +# define FOSSIL_INT_TO_PTR(X) ((void*)(__PTRDIFF_TYPE__)(X)) +# define FOSSIL_PTR_TO_INT(X) ((int)(__PTRDIFF_TYPE__)(X)) +#elif !defined(__GNUC__) /* Works for compilers other than LLVM */ +# define FOSSIL_INT_TO_PTR(X) ((void*)&((char*)0)[X]) +# define FOSSIL_PTR_TO_INT(X) ((int)(((char*)X)-(char*)0)) +#else /* Generates a warning - but it always works */ +# define FOSSIL_INT_TO_PTR(X) ((void*)(X)) +# define FOSSIL_PTR_TO_INT(X) ((int)(X)) +#endif + +/* +** A marker for functions that never return. +*/ +#if defined(__GNUC__) || defined(__clang__) +# define NORETURN __attribute__((__noreturn__)) +# define NULL_SENTINEL __attribute__((sentinel)) +#elif defined(_MSC_VER) && (_MSC_VER >= 1310) +# define NORETURN __declspec(noreturn) +# define NULL_SENTINEL +#else +# define NORETURN +# define NULL_SENTINEL +#endif + +/* +** Number of elements in an array +*/ +#define count(X) (int)(sizeof(X)/sizeof(X[0])) +#define ArraySize(X) (int)(sizeof(X)/sizeof(X[0])) + +/* +** The pledge() interface is currently only available on OpenBSD 5.9 +** and later. Make calls to fossil_pledge() no-ops on all platforms +** that omit the HAVE_PLEDGE configuration parameter. +*/ +#if !defined(HAVE_PLEDGE) +# define fossil_pledge(A) +#endif + + +#endif /* _RC_COMPILE_ */ -- cgit v1.3.1