From a20440b2103e940cd06c40e1c3f21b4ee82b1e72 Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Tue, 4 Feb 1997 08:54:47 +0000 Subject: [PATCH] Final file required for autoconf, so far... --- src/include/config.h.in | 427 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 427 insertions(+) create mode 100644 src/include/config.h.in diff --git a/src/include/config.h.in b/src/include/config.h.in new file mode 100644 index 0000000000..11bb1dabf5 --- /dev/null +++ b/src/include/config.h.in @@ -0,0 +1,427 @@ + + +/* the purpose of this file is to reduce the use of #ifdef's through + * the code base by those porting the software, and to facilitate the + * eventual use of autoconf to build the server + */ + +#ifndef CONFIG_H +#define CONFIG_H + +#define BLCKSZ 8192 + +/* + * The following is set using configure. + */ + +/* Set to 1 if you have */ +#undef HAVE_TERMIOS_H + +/* Set to 1 if you have */ +#undef HAVE_LIMITS_H + +/* Set to 1 if you have */ +#undef HAVE_VALUES_H + +/* Set to 1 if you have */ +#undef HAVE_SYS_SELECT_H + +/* Set to 1 if you have */ +#undef HAVE_READLINE_H + +/* Set to 1 if you have */ +#undef HAVE_HISTORY + +/* Set to 1 if you have isinf() */ +#undef HAVE_ISINF + +/* Set to 1 if you have tzset() */ +#undef HAVE_TZSET + +/* Set to 1 if you have int timezone */ +#undef HAVE_INT_TIMEZONE + +/* Set to 1 if you have cbrt() */ +#undef HAVE_CBRT + +/* Set to 1 if you have rint() */ +#undef HAVE_RINT + +/* Set to 1 if you have memmove() */ +#undef HAVE_MEMMOVE + +/* Set to 1 if you have sigsetjmp() */ +#undef HAVE_SIGSETJMP + +/* Set to 1 if you have kill() */ +#undef HAVE_KILL + +/* Set to 1 if you have sysconf() */ +#undef HAVE_SYSCONF + +/* Set to 1 if you have getrusage() */ +#undef HAVE_GETRUSAGE + +/* Set to 1 if you have libreadline.a */ +#undef HAVE_LIBREADLINE + +/* Set to 1 if you have libhistory.a */ +#undef HAVE_LIBHISTORY + +/* + * Code below this point should not require changes + */ + +/* this is meant to handle the condition where the system has readline + * capabilities, but no history. Unfortunately, it isn't as simple as + * testing for the existance of -lhistory, since newer -lreadline seems to + * include the -lhistory library, but newer readline.h doesn't + */ +#if defined(HAVE_LIBREADLINE) +# if !defined(HAVE_HISTORY_H) || !defined(HAVE_READLINE_HISTORY_H) +# define NO_HISTORY_H +# endif +#endif + +#if defined(aix) +# define CLASS_CONFLICT +# define DISABLE_XOPEN_NLS +# define NEED_UNION_SEMUN +# define HAVE_SYS_SELECT_H +# define HAVE_ANSI_CPP +# define HAS_TEST_AND_SET + typedef unsigned int slock_t; +#endif + +#if defined(alpha) +# define USE_POSIX_TIME +# define USE_POSIX_SIGNALS +# define DISABLE_XOPEN_NLS +# define HAS_LONG_LONG +# define NEED_UNION_SEMUN +# define HAS_TEST_AND_SET +# include /* for msemaphore */ + typedef msemaphore slock_t; +#endif + +#if defined(BSD44_derived) +# define USE_POSIX_TIME +# define NEED_I386_TAS_ASM +# define HAS_TEST_AND_SET +# if defined(__mips__) +/* # undef HAS_TEST_AND_SET */ +# endif + typedef unsigned char slock_t; +#endif + +#if defined(bsdi) +# if defined(i386) +# define NEED_I386_TAS_ASM +# endif +# if defined(sparc) +# define NEED_SPARC_TAS_ASM +# endif +# if defined(PRE_BSDI_2_1) +# define NEED_UNION_SEMUN +# endif +# define USE_POSIX_TIME +# define HAS_TEST_AND_SET + typedef unsigned char slock_t; +#endif + + +#if defined(dgux) +# define LINUX_ELF +# define NEED_UNION_SEMUN +# define USE_POSIX_SIGNALS +#endif + +#if defined(hpux) +# define JMP_BUF +# define USE_POSIX_TIME +# define NEED_UNION_SEMUN +# define HAS_TEST_AND_SET + typedef struct { int sem[4]; } slock_t; +#endif + +#if defined(i386_solaris) +# define USE_POSIX_TIME +# define USE_POSIX_SIGNALS +# define NEED_RUSAGE +# define NO_EMPTY_STMTS +# define NEED_UNION_SEMUN +# define SYSV_DIRENT +# define HAS_TEST_AND_SET + typedef unsigned char slock_t; +#endif + +#if defined(irix5) +# define USE_POSIX_TIME +# define USE_POSIX_SIGNALS +# define NO_EMPTY_STMTS +# define NO_VFORK +# define SYSV_DIRENT +# define HAS_TEST_AND_SET +# include + typedef abilock_t slock_t; +#endif + +#if defined(linux) +/* __USE_POSIX, __USE_BSD, and __USE_BSD_SIGNAL used to be defined either + here or with -D compile options, but __ macros should be set and used by C + library macros, not Postgres code. __USE_POSIX is set by features.h, + __USE_BSD is set by bsd/signal.h, and __USE_BSD_SIGNAL appears not to + be used. +*/ +# define JMP_BUF +# define USE_POSIX_TIME +# define NEED_I386_TAS_ASM +# define HAS_TEST_AND_SET + typedef unsigned char slock_t; +#endif + +#if defined(nextstep) +# include +# if defined(__STRICT_ANSI__) +# define isascii(c) ((unsigned)(c)<=0177) +# endif + extern char* strdup (const char* string); +# ifndef _POSIX_SOURCE + typedef unsigned short mode_t; + typedef int sigset_t; +# define SIG_BLOCK 00 +# define SIG_UNBLOCK 01 +# define SIG_SETMASK 02 +# define NO_SIGACTION +# define NO_SETSID +# define NO_SIGPROCMASK +# define NEED_SIG_JMP +# endif + +# define JMP_BUF +# define NO_WAITPID + typedef struct mutex slock_t; +#endif + +#if defined(sequent) +# define NEED_UNION_SEMUN +#endif + +#if defined(sparc_solaris) +# define USE_POSIX_TIME +# define USE_POSIX_SIGNALS +# define NEED_RUSAGE +# define NO_EMPTY_STMTS +# define USE_POSIX_TIME +# define NEED_UNION_SEMUN +# define SYSV_DIRENT +# define HAS_TEST_AND_SET +typedef unsigned char slock_t; +#endif + +#if defined(sunos4) +# define USE_POSIX_TIME +/* # undef HAVE_MEMMOVE */ +#endif + +#if defined(svr4) +# define USE_POSIX_TIME +# define USE_POSIX_SIGNALS +# define NEED_RUSAGE +# define NO_EMPTY_STMTS +# define NEED_UNION_SEMUN +# define SYSV_DIRENT +#endif + +#if defined(win32) +# define JMP_BUF +# define NEED_SIG_JMP +# define NO_UNISTD_H +# define USES_WINSOCK +# define NOFILE 100 +# define NEED_UNION_SEMUN +# ifndef MAXPATHLEN +# define MAXPATHLEN 250 +# endif +#endif /* WIN32 */ + +#if defined(ultrix4) +# define USE_POSIX_TIME +# define NEED_UNION_SEMUN +# define NEED_STRDUP +#endif + +/* This patch changes the behavior of aclcheck for groups. Currently an user + * can access a table only if he has the required permission for ALL the groups + * defined for that table. With my patch he can access a table if he has the + * permission for ONE of the groups, which seems to me a more useful thing. + * + * Used in: src/backend/tcop/aclchk.c + * Submitted by: Massimo Dal Zotto + */ +#define ACLGROUP_PATCH + + +/* + * The following is used as the arg list for signal handlers. Any ports + * that take something other than an int argument should change this in + * the port specific makefile. Note that variable names are required + * because it is used in both the prototypes as well as the definitions. + * Note also the long name. We expect that this won't collide with + * other names causing compiler warnings. + */ + +#ifndef SIGNAL_ARGS +# define SIGNAL_ARGS int postgres_signal_arg +#endif + +/* + * DEF_PGPORT is the TCP port number on which the Postmaster listens by + * default. This can be overriden by command options, environment variables, + * and the postconfig hook. + */ + +#define DEF_PGPORT "5432" + +/* turn this on if you prefer European style dates instead of American + * style dates + */ +/* #define EUROPEAN_DATES */ + +/* + * If you do not plan to use Host based authentication, + * comment out the following line + */ +#define HBA + +/* + * On architectures for which we have not implemented spinlocks (or + * cannot do so), we use System V semaphores. We also use them for + * long locks. For some reason union semun is never defined in the + * System V header files so we must do it ourselves. + */ + +/* Debug and various "defines" that should be documented */ + +/* found in function aclparse() in src/backend/utils/adt/acl.c */ +/* #define ACLDEBUG */ + +/* found in src/backend/utils/adt/arrayfuncs.c + code seems broken without it, Bruce Momjian */ +/* #define LOARRAY */ + +/* This is the time, in seconds, at which a given backend server + * will wait on a lock before deciding to abort the transaction + * (this is what we do in lieu of deadlock detection). + * + * Low numbers are not recommended as they will tend to cause + * false aborts if many transactions are long-lived. + */ +#define DEADLOCK_TIMEOUT 60 + +/* + * This flag enables the use of idexes in plans generated for function + * executions which normally are always executed with sequential scans. + */ +#define INDEXSCAN_PATCH + +/* #define DATEDEBUG */ + +/* + * Define this if you want to use date constants with a short year + * like '01/05/96'. + */ +/* #define USE_SHORT_YEAR */ + +/* + * defining unsafe floats's will make float4 and float8 + * ops faster at the cost of safety, of course! + */ +/* #define UNSAFE_FLOATS */ + +/* + * There is a bug in the function executor. The backend crashes while trying to + * execute an sql function containing an utility command (create, notify, ...). + * The bug is part in the planner, which returns a number of plans different + * than the number of commands if there are utility commands in the query, and + * in part in the function executor which assumes that all commands are normal + * query commands and causes a SIGSEGV trying to execute commands without plan. + */ +#define FUNC_UTIL_PATCH + +/* + * Define this if you want to retrieve arrays attributes as Tcl lists instead + * of postgres C-like arrays, for example {{"a1" "a2"} {"b1" "b2"}} instead + * of {{"a1","a2"},{"b1","b2"}}. + */ +#define TCL_ARRAYS + +/* + * The comparison routines for text and char data type give incorrect results + * if the input data contains characters greater than 127. As these routines + * perform the comparison using signed char variables all character codes + * greater than 127 are interpreted as less than 0. These codes are used to + * encode the iso8859 char sets. Define this flag to correct the problem. + */ +#define UNSIGNED_CHAR_TEXT + +/* + * The following flag allows limiting the number of rows returned by a query. + * You will need the loadable module utils.c to use this feature. + */ +#define QUERY_LIMIT + +/* + * The following flag allows copying tables from files with number of columns + * different than the number of attributes setting missing attributes to NULL + * and ignoring extra columns. This also avoids the shift of the attributes + * of the rest of the file if one line has a wrong column count. + */ +#define COPY_PATCH + +/* + * User locks are handled totally on the application side as long term + * cooperative locks which extend beyond the normal transaction boundaries. + * Their purpose is to indicate to an application that someone is `working' + * on an item. Define this flag to enable user locks. You will need the + * loadable module user-locks.c to use this feature. + */ +#define USER_LOCKS + +/* Debug #defines */ +/* #define IPORTAL_DEBUG */ +/* #define HEAPDEBUGALL */ +/* #define ISTRATDEBUG */ +/* #define FASTBUILD_DEBUG */ +#define RTDEBUG +#define GISTDEBUG +/* #define PURGEDEBUG */ +/* #define DEBUG_RECIPE */ +/* #define ASYNC_DEBUG */ +/* #define COPY_DEBUG */ +/* #define VACUUM_DEBUG */ +/* #define NBTINSERT_PATCH_DEBUG */ + + +/* The following don't have any apparent purpose, but are in the + * code. someday, will take them out altogether, but for now, + * document them here + */ +/* #define OMIT_PARTIAL_INDEX */ +/* #define NO_BUFFERISVALID */ +/* #define NO_SECURITY */ +/* #define TIOGA */ +/* #define OLD_REWRITE */ +/* #define NOTYET */ + + +/* Undocumented "features"? */ +#define FASTBUILD /* access/nbtree/nbtsort.c */ + + + + + + +#endif /* CONFIG_H */ + -- 2.11.0