]> granicus.if.org Git - postgresql/blob - src/include/pg_config.h.in
libpq++/pgconnection.h must not include postgres_fe.h, else it fails to
[postgresql] / src / include / pg_config.h.in
1 /*
2  * PostgreSQL configuration-settings file.
3  *
4  * pg_config.h.in is processed by configure to produce pg_config.h.
5  *
6  * If you want to modify any of the tweakable settings in Part 2
7  * of this file, you can do it in pg_config.h.in before running configure,
8  * or in pg_config.h afterwards.  Of course, if you edit pg_config.h, then your
9  * changes will be overwritten the next time you run configure.
10  *
11  * $Id: pg_config.h.in,v 1.16 2002/01/22 19:02:40 tgl Exp $
12  */
13
14 #ifndef PG_CONFIG_H
15 #define PG_CONFIG_H
16
17
18 /*
19  *------------------------------------------------------------------------
20  * Part 1: feature symbols and limits that are set by configure based on
21  * user-supplied switches.  This is first so that stuff in Part 2 can
22  * depend on these values.
23  *
24  * Beware of "fixing" configure-time mistakes by editing these values,
25  * since configure may have inserted the settings in other files as well
26  * as here.  Best to rerun configure if you forgot --enable-multibyte
27  * or whatever.
28  *------------------------------------------------------------------------
29  */
30
31 /* The version number is actually hard-coded into configure.in */
32 #undef PG_VERSION
33 /* A canonical string containing the version number, platform, and C compiler */
34 #undef PG_VERSION_STR
35
36 /* Set to 1 if you want LOCALE support (--enable-locale) */
37 #undef USE_LOCALE
38
39 /* Set to 1 if you want cyrillic recode (--enable-recode) */
40 #undef CYR_RECODE
41
42 /* Set to 1 if you want to use multibyte characters (--enable-multibyte) */
43 #undef MULTIBYTE
44
45 #ifdef MULTIBYTE
46 /* --enable-multibyte implies UNICODE_CONVERSION */
47 #define UNICODE_CONVERSION
48 #endif
49
50 /* Set to 1 if you want ASSERT checking (--enable-cassert) */
51 #undef USE_ASSERT_CHECKING
52
53 /* Set to 1 to use syslog() to write postmaster log (--enable-syslog) */
54 #undef ENABLE_SYSLOG
55
56 /* Define to build with Kerberos 4 support (--with-krb4[=DIR]) */
57 #undef KRB4
58
59 /* Define to build with Kerberos 5 support (--with-krb5[=DIR]) */
60 #undef KRB5
61
62 /* Kerberos name of the Postgres service principal (--with-krb-srvnam=NAME) */
63 #undef PG_KRB_SRVNAM
64
65 /* Define to build with (Open)SSL support (--with-openssl[=DIR]) */
66 #undef USE_SSL
67
68 /* Define to build with PAM Support */
69 #undef USE_PAM
70
71 /* 
72  * DEF_PGPORT is the TCP port number on which the Postmaster listens and
73  * which clients will try to connect to.  This is just a default value;
74  * it can be overridden at postmaster or client startup.  It's awfully
75  * convenient if your clients have the right default compiled in, though.
76  * (--with-pgport=PORTNUM)
77  */ 
78 #undef DEF_PGPORT
79 /* ... and once more as a string constant instead */
80 #undef DEF_PGPORT_STR
81
82 /*
83  * Default soft limit on number of backend server processes per postmaster;
84  * this is just the default setting for the postmaster's -N switch.
85  * (--with-maxbackends=N)
86  */
87 #undef DEF_MAXBACKENDS
88
89 /* --enable-nls */
90 #undef ENABLE_NLS
91
92 /* location of locale files */
93 #undef LOCALEDIR
94
95 /* Define to build the ODBC driver for unixODBC */
96 #undef WITH_UNIXODBC
97
98 /* Define to build the ODBC driver for iODBC */
99 #undef WITH_IODBC
100
101
102 /*
103  *------------------------------------------------------------------------
104  * Part 2: feature symbols and limits that are user-configurable, but
105  * only by editing this file ... there's no configure support for them.
106  *
107  * Editing this file and doing a full rebuild (and an initdb if noted)
108  * should be sufficient to change any of these.
109  *------------------------------------------------------------------------
110  */
111
112 /*
113  * Default number of buffers in shared buffer pool (each of size BLCKSZ).
114  * This is just the default setting for the postmaster's -B switch.
115  * Perhaps it ought to be configurable from a configure switch.
116  * NOTE: default setting corresponds to the minimum number of buffers
117  * that postmaster.c will allow for the default MaxBackends value.
118  */
119 #define DEF_NBUFFERS (DEF_MAXBACKENDS > 8 ? DEF_MAXBACKENDS * 2 : 16)
120
121 /*
122  * Size of a disk block --- this also limits the size of a tuple.
123  * You can set it bigger if you need bigger tuples (although TOAST
124  * should reduce the need to have large tuples, since fields can now
125  * be spread across multiple tuples).
126  *
127  * The maximum possible value of BLCKSZ is currently 2^15 (32768).
128  * This is determined by the 15-bit widths of the lp_off and lp_len
129  * fields in ItemIdData (see include/storage/itemid.h).
130  *
131  * CAUTION: changing BLCKSZ requires an initdb.
132  */
133 #define BLCKSZ  8192
134
135 /*
136  * RELSEG_SIZE is the maximum number of blocks allowed in one disk file.
137  * Thus, the maximum size of a single file is RELSEG_SIZE * BLCKSZ;
138  * relations bigger than that are divided into multiple files.
139  *
140  * CAUTION: RELSEG_SIZE * BLCKSZ must be less than your OS' limit on file
141  * size.  This is typically 2Gb or 4Gb in a 32-bit operating system.  By
142  * default, we make the limit 1Gb to avoid any possible integer-overflow
143  * problems within the OS.  A limit smaller than necessary only means we
144  * divide a large relation into more chunks than necessary, so it seems
145  * best to err in the direction of a small limit.  (Besides, a power-of-2
146  * value saves a few cycles in md.c.)
147  *
148  * CAUTION: changing RELSEG_SIZE requires an initdb.
149  */
150 #define RELSEG_SIZE     (0x40000000 / BLCKSZ)
151
152 /*
153  * Maximum number of columns in an index and maximum number of arguments
154  * to a function. They must be the same value.
155  *
156  * The minimum value is 8 (index creation uses 8-argument functions).
157  * There is no specific upper limit, although large values will waste
158  * system-table space and processing time.
159  *
160  * CAUTION: changing these requires an initdb.
161  *
162  * BTW: if you need to call dynamically-loaded old-style C functions that
163  * have more than 16 arguments, you will also need to add cases to the
164  * switch statement in fmgr_oldstyle() in src/backend/utils/fmgr/fmgr.c.
165  * But consider converting such functions to new-style instead...
166  */
167 #define INDEX_MAX_KEYS          16
168 #define FUNC_MAX_ARGS           INDEX_MAX_KEYS
169
170 /*
171  * System default value for pg_attribute.attstattarget
172  */
173 #define DEFAULT_ATTSTATTARGET   10
174
175 /*
176  * Define this to make libpgtcl's "pg_result -assign" command process C-style
177  * backslash sequences in returned tuple data and convert Postgres array
178  * attributes into Tcl lists.  CAUTION: this conversion is *wrong* unless
179  * you install the routines in contrib/string/string_io to make the backend
180  * produce C-style backslash sequences in the first place.
181  */
182 /* #define TCL_ARRAYS */
183
184 /*
185  * User locks are handled totally on the application side as long term
186  * cooperative locks which extend beyond the normal transaction boundaries.
187  * Their purpose is to indicate to an application that someone is `working'
188  * on an item.  Define this flag to enable user locks.  You will need the
189  * loadable module user-locks.c to use this feature.
190  */
191 #define USER_LOCKS
192
193 /*
194  * Define this if you want psql to _always_ ask for a username and a password
195  * for password authentication.
196  */
197 /* #define PSQL_ALWAYS_GET_PASSWORDS */
198
199 /*
200  * Define this if you want to allow the lo_import and lo_export SQL functions
201  * to be executed by ordinary users.  By default these functions are only
202  * available to the Postgres superuser.  CAUTION: these functions are
203  * SECURITY HOLES since they can read and write any file that the Postgres
204  * backend has permission to access.  If you turn this on, don't say we
205  * didn't warn you.
206  */
207 /* #define ALLOW_DANGEROUS_LO_FUNCTIONS */
208
209 /*
210  * Use btree bulkload code: 
211  * this code is moderately slow (~10% slower) compared to the regular
212  * btree (insertion) build code on sorted or well-clustered data.  on
213  * random data, however, the insertion build code is unusable -- the
214  * difference on a 60MB heap is a factor of 15 because the random
215  * probes into the btree thrash the buffer pool.
216  *
217  * Great thanks to Paul M. Aoki (aoki@CS.Berkeley.EDU)
218  */
219 #define FASTBUILD /* access/nbtree/nbtsort.c */
220
221 /*
222  * MAXPGPATH: standard size of a pathname buffer in Postgres (hence,
223  * maximum usable pathname length is one less).
224  *
225  * We'd use a standard system header symbol for this, if there weren't
226  * so many to choose from: MAXPATHLEN, _POSIX_PATH_MAX, MAX_PATH, PATH_MAX
227  * are all defined by different "standards", and often have different
228  * values on the same platform!  So we just punt and use a reasonably
229  * generous setting here.
230  */
231 #define MAXPGPATH               1024
232
233 /*
234  * DEFAULT_MAX_EXPR_DEPTH: default value of max_expr_depth SET variable.
235  */
236 #define DEFAULT_MAX_EXPR_DEPTH  10000
237
238 /*
239  * PG_SOMAXCONN: maximum accept-queue length limit passed to listen(2).
240  * You'd think we should use SOMAXCONN from <sys/socket.h>, but on many
241  * systems that symbol is much smaller than the kernel's actual limit.
242  * In any case, this symbol need be twiddled only if you have a kernel
243  * that refuses large limit values, rather than silently reducing the
244  * value to what it can handle (which is what most if not all Unixen do).
245  */
246 #define PG_SOMAXCONN    10000
247
248 /*
249  * You can try changing this if you have a machine with bytes of another
250  * size, but no guarantee...
251  */
252 #define BITS_PER_BYTE           8
253
254 /*
255  * Define this if your operating system supports AF_UNIX family sockets.
256  */
257 #if !defined(__QNX__) && !defined(__BEOS__)
258 # define HAVE_UNIX_SOCKETS 1
259 #endif
260
261 /*
262  * This is the default directory in which AF_UNIX socket files are placed.
263  * Caution: changing this risks breaking your existing client applications,
264  * which are likely to continue to look in the old directory.  But if you
265  * just hate the idea of sockets in /tmp, here's where to twiddle it.
266  * You can also override this at runtime with the postmaster's -k switch.
267  */
268 #define DEFAULT_PGSOCKET_DIR  "/tmp"
269
270
271 /*
272  *------------------------------------------------------------------------
273  * These hand-configurable symbols are for enabling debugging code,
274  * not for controlling user-visible features or resource limits.
275  *------------------------------------------------------------------------
276  */
277
278 /* Define this to cause pfree()'d memory to be cleared immediately,
279  * to facilitate catching bugs that refer to already-freed values.
280  * XXX For 7.1 development, define this automatically if --enable-cassert.
281  * In the long term it probably doesn't need to be on by default.
282  */
283 #ifdef USE_ASSERT_CHECKING
284 #define CLOBBER_FREED_MEMORY
285 #endif
286
287 /* Define this to check memory allocation errors (scribbling on more
288  * bytes than were allocated).
289  * XXX For 7.1 development, define this automatically if --enable-cassert.
290  * In the long term it probably doesn't need to be on by default.
291  */
292 #ifdef USE_ASSERT_CHECKING 
293 #define MEMORY_CONTEXT_CHECKING
294 #endif
295
296 /* Define this to force all parse and plan trees to be passed through
297  * copyObject(), to facilitate catching errors and omissions in copyObject().
298  */
299 /* #define COPY_PARSE_PLAN_TREES */
300
301 /* Enable debugging print statements in the date/time support routines. */
302 /* #define DATEDEBUG */
303
304 /* Enable debugging print statements for lock-related operations. */
305 /* #define LOCK_DEBUG */
306
307 /*
308  * Other debug #defines (documentation, anyone?)
309  */
310 /* #define IPORTAL_DEBUG  */
311 /* #define HEAPDEBUGALL  */
312 /* #define ISTRATDEBUG  */
313 /* #define ACLDEBUG */
314 /* #define RTDEBUG */
315 /* #define GISTDEBUG */
316
317 /*
318  * defining unsafe floats will make float4 and float8 ops faster
319  * by suppressing overflow/underflow checks.
320  */
321 /* #define UNSAFE_FLOATS */
322
323
324 /*
325  *------------------------------------------------------------------------
326  * Part 3: system configuration information that is auto-detected by
327  * configure.  In theory you shouldn't have to touch any of this stuff
328  * by hand.  In the real world, configure might get it wrong...
329  *------------------------------------------------------------------------
330  */
331
332 /* Define const as empty if your compiler doesn't grok const. */
333 #undef const
334
335 /* Define as your compiler's spelling of "inline", or empty if no inline. */
336 #undef inline
337
338 /* Define as empty if the C compiler doesn't understand "signed". */
339 #undef signed
340
341 /* Define as empty if the C compiler doesn't understand "volatile". */
342 #undef volatile
343
344 /* Define if your cpp understands the ANSI stringizing operators in macros */
345 #undef HAVE_STRINGIZE
346
347 /* Set to 1 if you have <crypt.h> */
348 #undef HAVE_CRYPT_H
349
350 /* Set to 1 if you have <dld.h> */
351 #undef HAVE_DLD_H
352
353 /* Set to 1 if you have <endian.h> */
354 #undef HAVE_ENDIAN_H
355
356 /* Set to 1 if you have <fp_class.h> */
357 #undef HAVE_FP_CLASS_H
358
359 /* Set to 1 if you have <getopt.h> */
360 #undef HAVE_GETOPT_H
361
362 /* Set to 1 if you have <history.h> */
363 #undef HAVE_HISTORY_H
364
365 /* Set to 1 if you have <ieeefp.h> */
366 #undef HAVE_IEEEFP_H
367
368 /* Set to 1 if you have <netinet/tcp.h> */
369 #undef HAVE_NETINET_TCP_H
370
371 /* Set to 1 if you have <readline.h> */
372 #undef HAVE_READLINE_H
373
374 /* Set to 1 if you have <readline/history.h> */
375 #undef HAVE_READLINE_HISTORY_H
376
377 /* Set to 1 if you have <readline/readline.h> */
378 #undef HAVE_READLINE_READLINE_H
379
380 /* Set to 1 if you have <sys/ipc.h> */
381 #undef HAVE_SYS_IPC_H
382
383 /* Set to 1 if  you have <sys/select.h> */
384 #undef HAVE_SYS_SELECT_H
385
386 /* Set to 1 if you have <sys/un.h> */
387 #undef HAVE_SYS_UN_H
388
389 /* Set to 1 if you have <sys/sem.h> */
390 #undef HAVE_SYS_SEM_H
391
392 /* Set to 1 if you have <sys/shm.h> */
393 #undef HAVE_SYS_SHM_H
394
395 /* Set to 1 if you have <kernel/OS.h> */
396 #undef HAVE_KERNEL_OS_H
397
398 /* Set to 1 if you have <SupportDefs.h> */
399 #undef HAVE_SUPPORTDEFS_H
400
401 /* Set to 1 if you have <kernel/image.h> */
402 #undef HAVE_KERNEL_IMAGE_H
403
404 /* Set to 1 if you have <termios.h> */
405 #undef HAVE_TERMIOS_H
406
407 /* Set to 1 if you have <sys/pstat.h> */
408 #undef HAVE_SYS_PSTAT_H
409
410 /* Define if string.h and strings.h may both be included */
411 #undef STRING_H_WITH_STRINGS_H
412
413 /* Define if you have the setproctitle function.  */
414 #undef HAVE_SETPROCTITLE
415
416 /* Define if you have the pstat function. */
417 #undef HAVE_PSTAT
418
419 /* Define if the PS_STRINGS thing exists. */
420 #undef HAVE_PS_STRINGS
421
422 /* Define if you have the stricmp function.  */
423 #undef HAVE_STRICMP
424
425 /* Set to 1 if you have history functions (either in libhistory or libreadline) */
426 #undef HAVE_HISTORY_FUNCTIONS
427
428 /* Set to 1 if you have <pwd.h> */
429 #undef HAVE_PWD_H
430
431 /* Set to 1 if you have gettimeofday(a) instead of gettimeofday(a,b) */
432 #undef GETTIMEOFDAY_1ARG
433 #ifdef GETTIMEOFDAY_1ARG
434 # define gettimeofday(a,b) gettimeofday(a)
435 #endif
436
437 /* Set to 1 if you have snprintf() in the C library */
438 #undef HAVE_SNPRINTF
439
440 /* Set to 1 if your standard system headers declare snprintf() */
441 #undef HAVE_SNPRINTF_DECL
442
443 /* Set to 1 if you have vsnprintf() in the C library */
444 #undef HAVE_VSNPRINTF
445
446 /* Set to 1 if your standard system headers declare vsnprintf() */
447 #undef HAVE_VSNPRINTF_DECL
448
449 /* Set to 1 if you have strerror() */
450 #undef HAVE_STRERROR
451
452 /* Set to 1 if you have isinf() */
453 #undef HAVE_ISINF
454 #ifndef HAVE_ISINF
455 extern int isinf(double x);
456 #endif
457
458 /*
459  *      These are all related to port/isinf.c 
460  */
461 #undef HAVE_FPCLASS
462 #undef HAVE_FP_CLASS
463 #undef HAVE_FP_CLASS_H
464 #undef HAVE_FP_CLASS_D
465 #undef HAVE_CLASS
466
467 /* Set to 1 if you have gethostname() */
468 #undef HAVE_GETHOSTNAME
469 #ifndef HAVE_GETHOSTNAME
470 extern int gethostname(char *name, int namelen);
471 #endif
472
473 /* Set to 1 if struct tm has a tm_zone member */
474 #undef HAVE_TM_ZONE
475
476 /* Set to 1 if you have int timezone.
477  * NOTE: if both tm_zone and a global timezone variable exist,
478  * using the tm_zone field should probably be preferred,
479  * since global variables are inherently not thread-safe.
480  */
481 #undef HAVE_INT_TIMEZONE
482
483 /* Set to 1 if you have cbrt() */
484 #undef HAVE_CBRT
485
486 /* Set to 1 if you have inet_aton() */
487 #undef HAVE_INET_ATON
488
489 #ifndef HAVE_INET_ATON
490 # include <sys/types.h>
491 # include <netinet/in.h>
492 # include <arpa/inet.h>
493 extern int inet_aton(const char *cp, struct in_addr * addr);
494 #endif
495
496 /* Set to 1 if you have fcvt() */
497 #undef HAVE_FCVT
498
499 /* Set to 1 if you have rint() */
500 #undef HAVE_RINT 
501
502 /* Set to 1 if you have finite() */
503 #undef HAVE_FINITE
504
505 /* Set to 1 if you have memmove() */
506 #undef HAVE_MEMMOVE
507
508 /* Set to 1 if you have sigsetjmp() */
509 #undef HAVE_SIGSETJMP
510
511 /*
512  * When there is no sigsetjmp, its functionality is provided by plain
513  * setjmp. Incidentally, nothing provides setjmp's functionality in
514  * that case.
515  */
516 #ifndef HAVE_SIGSETJMP
517 # define sigjmp_buf jmp_buf
518 # define sigsetjmp(x,y) setjmp(x)
519 # define siglongjmp longjmp
520 #endif
521
522 /* Set to 1 if you have sysconf() */
523 #undef HAVE_SYSCONF
524
525 /* Set to 1 if you have getrusage() */
526 #undef HAVE_GETRUSAGE
527
528 /* Set to 1 if you have waitpid() */
529 #undef HAVE_WAITPID
530
531 /* Set to 1 if you have setsid() */
532 #undef HAVE_SETSID
533
534 /* Set to 1 if you have sigprocmask() */
535 #undef HAVE_SIGPROCMASK
536
537 /* Set to 1 if you have sigprocmask() */
538 #undef HAVE_STRCASECMP
539 #ifndef HAVE_STRCASECMP
540 extern int strcasecmp(char *s1, char *s2);
541 #endif
542
543 /* Set to 1 if you have strtol() */
544 #undef HAVE_STRTOL
545
546 /* Set to 1 if you have strtoul() */
547 #undef HAVE_STRTOUL
548
549 /* Set to 1 if you have strdup() */
550 #undef HAVE_STRDUP
551 #ifndef HAVE_STRDUP
552 extern char *strdup(char const *);
553 #endif
554
555 /* Set to 1 if you have random() */
556 #undef HAVE_RANDOM
557 #ifndef HAVE_RANDOM
558 extern long random(void);
559 #endif
560
561 /* Set to 1 if you have srandom() */
562 #undef HAVE_SRANDOM
563 #ifndef HAVE_SRANDOM
564 extern void srandom(unsigned int seed);
565 #endif
566
567 /* The random() function is expected to yield values 0 .. MAX_RANDOM_VALUE */
568 /* Currently, all known implementations yield 0..2^31-1, so we just hardwire
569  * this constant.  We could do a configure test if it proves to be necessary.
570  * CAUTION: Think not to replace this with RAND_MAX.  RAND_MAX defines the
571  * maximum value of the older rand() function, which is often different from
572  * --- and considerably inferior to --- random().
573  */
574 #define MAX_RANDOM_VALUE  (0x7FFFFFFF)
575
576 /* Define if you have dlopen() */
577 #undef HAVE_DLOPEN
578
579 /* Define if you have fdatasync() */
580 #undef HAVE_FDATASYNC
581
582 /* Define if the standard header unistd.h declares fdatasync() */
583 #undef HAVE_FDATASYNC_DECL
584
585 #if defined(HAVE_FDATASYNC) && !defined(HAVE_FDATASYNC_DECL)
586 extern int fdatasync(int fildes);
587 #endif
588
589 /* Set to 1 if you have libz.a */
590 #undef HAVE_LIBZ
591
592 /* Set to 1 if you have libreadline.a */
593 #undef HAVE_LIBREADLINE
594
595 /* Set to 1 if you have libhistory.a */
596 #undef HAVE_LIBHISTORY
597
598 /* Set to 1 if your libreadline defines rl_completion_append_character */
599 #undef HAVE_RL_COMPLETION_APPEND_CHARACTER
600
601 /* Set to 1 if you have rl_completion_matches */
602 #undef HAVE_RL_COMPLETION_MATCHES
603
604 /* Set to 1 if you have rl_filename_completion_function */
605 #undef HAVE_RL_FILENAME_COMPLETION_FUNCTION
606
607 /* Set to 1 if you have getopt_long() (GNU long options) */
608 #undef HAVE_GETOPT_LONG
609
610 /* Set to 1 if you have union semun */
611 #undef HAVE_UNION_SEMUN
612
613 /* Set to 1 if you have struct cmsgcred */
614 #undef HAVE_STRUCT_CMSGCRED
615
616 /* Set to 1 if you have struct fcred */
617 #undef HAVE_STRUCT_FCRED
618
619 /* Set to 1 if you have struct sockcred */
620 #undef HAVE_STRUCT_SOCKCRED
621
622 /* Set to 1 if you have struct sockaddr_un */
623 #undef HAVE_STRUCT_SOCKADDR_UN
624
625 /* Set to 1 if type "long int" works and is 64 bits */
626 #undef HAVE_LONG_INT_64
627
628 /* Set to 1 if type "long long int" works and is 64 bits */
629 #undef HAVE_LONG_LONG_INT_64
630
631 /* Set to 1 if type "long long int" constants should be suffixed by LL */
632 #undef HAVE_LL_CONSTANTS
633
634 /* Define this as the appropriate snprintf format for 64-bit ints, if any */
635 #undef INT64_FORMAT
636
637 /*
638  * We need a #define symbol for sizeof(Datum) for use in some #if tests.
639  */
640 #undef SIZEOF_DATUM
641
642 /*
643  * These must be defined as the alignment requirement (NOT the size) of
644  * each of the basic C data types (except char, which we assume has align 1).
645  * MAXIMUM_ALIGNOF is the largest alignment requirement for any C data type.
646  * ALIGNOF_LONG_LONG_INT need only be defined if HAVE_LONG_LONG_INT_64 is.
647  */
648 #undef ALIGNOF_SHORT
649 #undef ALIGNOF_INT
650 #undef ALIGNOF_LONG
651 #undef ALIGNOF_LONG_LONG_INT
652 #undef ALIGNOF_DOUBLE
653 #undef MAXIMUM_ALIGNOF
654
655 /* Define as the type of the 3rd argument to accept() */
656 #undef ACCEPT_TYPE_ARG3
657
658 /* Define if POSIX signal interface is available */
659 #undef HAVE_POSIX_SIGNALS
660
661 /* Define if C++ compiler accepts "using namespace std" */
662 #undef HAVE_NAMESPACE_STD
663
664 /* Define if C++ compiler accepts "#include <string>" */
665 #undef HAVE_CXX_STRING_HEADER
666
667 /* Define if you have the optreset variable */
668 #undef HAVE_INT_OPTRESET
669
670 /* Define if you have strtoll() */
671 #undef HAVE_STRTOLL
672
673 /* Define if you have strtoq() */
674 #undef HAVE_STRTOQ
675
676 /* If strtoq() exists, rename it to the more standard strtoll() */
677 #if defined(HAVE_LONG_LONG_INT_64) && !defined(HAVE_STRTOLL) && defined(HAVE_STRTOQ)
678 # define strtoll strtoq
679 # define HAVE_STRTOLL 1
680 #endif
681
682 /* Define if you have strtoull() */
683 #undef HAVE_STRTOULL
684
685 /* Define if you have strtouq() */
686 #undef HAVE_STRTOUQ
687
688 /* If strtouq() exists, rename it to the more standard strtoull() */
689 #if defined(HAVE_LONG_LONG_INT_64) && !defined(HAVE_STRTOULL) && defined(HAVE_STRTOUQ)
690 # define strtoull strtouq
691 # define HAVE_STRTOULL 1
692 #endif
693
694 /* Define if you have atexit() */
695 #undef HAVE_ATEXIT
696
697 /* Define if you have on_exit() */
698 #undef HAVE_ON_EXIT
699
700 /* Define if the corresponding types are defined in standard headers */
701 #undef HAVE_INT8
702 #undef HAVE_UINT8
703 #undef HAVE_INT64
704 #undef HAVE_UINT64
705 #undef HAVE_SIG_ATOMIC_T
706
707
708 /*
709  *------------------------------------------------------------------------
710  * Part 4: pull in system-specific declarations.
711  *
712  * This is still configure's responsibility, because it picks where
713  * the "pg_config_os.h" symlink points...
714  *------------------------------------------------------------------------
715  */
716
717 /*
718  * Pull in OS-specific declarations (using link created by configure)
719  */
720
721 #include "pg_config_os.h"
722
723 /*
724  * Provide default definitions for things that port-specific pg_config_os.h
725  * files can set, but typically don't.
726  */
727
728 #ifndef DLLIMPORT
729 #define DLLIMPORT                               /* no special DLL markers on most ports */
730 #endif
731
732 /*
733  * The following is used as the arg list for signal handlers.  Any ports
734  * that take something other than an int argument should override this in
735  * their pg_config_os.h file.  Note that variable names are required
736  * because it is used in both the prototypes as well as the definitions.
737  * Note also the long name.  We expect that this won't collide with
738  * other names causing compiler warnings.
739  */ 
740
741 #ifndef SIGNAL_ARGS
742 #define SIGNAL_ARGS  int postgres_signal_arg
743 #endif
744
745
746 #endif /* PG_CONFIG_H */