Move substitute extern declarations to end of file, so that they are
not read until after we've read the port-specific header file. In particular this should make it safer to #include system headers for inet_aton; in general it seems that the port header file ought to be in a position to set definitions before we do stuff based on having a definition or not.
This commit is contained in:
parent
3a4b3ac3a5
commit
b02d3aaed7
@ -8,7 +8,7 @@
|
|||||||
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
|
* or in pg_config.h afterwards. Of course, if you edit pg_config.h, then your
|
||||||
* changes will be overwritten the next time you run configure.
|
* changes will be overwritten the next time you run configure.
|
||||||
*
|
*
|
||||||
* $Id: pg_config.h.in,v 1.32 2002/09/05 00:43:07 tgl Exp $
|
* $Id: pg_config.h.in,v 1.33 2002/11/07 22:08:30 tgl Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef PG_CONFIG_H
|
#ifndef PG_CONFIG_H
|
||||||
@ -332,11 +332,6 @@
|
|||||||
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
|
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
|
||||||
#undef HAVE_FSEEKO
|
#undef HAVE_FSEEKO
|
||||||
|
|
||||||
#ifndef HAVE_FSEEKO
|
|
||||||
#define fseeko(a, b, c) fseek((a), (b), (c))
|
|
||||||
#define ftello(a) ftell((a))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define if your cpp understands the ANSI stringizing operators in macros */
|
/* Define if your cpp understands the ANSI stringizing operators in macros */
|
||||||
#undef HAVE_STRINGIZE
|
#undef HAVE_STRINGIZE
|
||||||
|
|
||||||
@ -423,6 +418,7 @@
|
|||||||
|
|
||||||
/* Set to 1 if you have gettimeofday(a) instead of gettimeofday(a,b) */
|
/* Set to 1 if you have gettimeofday(a) instead of gettimeofday(a,b) */
|
||||||
#undef GETTIMEOFDAY_1ARG
|
#undef GETTIMEOFDAY_1ARG
|
||||||
|
|
||||||
#ifdef GETTIMEOFDAY_1ARG
|
#ifdef GETTIMEOFDAY_1ARG
|
||||||
# define gettimeofday(a,b) gettimeofday(a)
|
# define gettimeofday(a,b) gettimeofday(a)
|
||||||
#endif
|
#endif
|
||||||
@ -444,9 +440,6 @@
|
|||||||
|
|
||||||
/* Set to 1 if you have isinf() */
|
/* Set to 1 if you have isinf() */
|
||||||
#undef HAVE_ISINF
|
#undef HAVE_ISINF
|
||||||
#ifndef HAVE_ISINF
|
|
||||||
extern int isinf(double x);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These are all related to port/isinf.c
|
* These are all related to port/isinf.c
|
||||||
@ -459,9 +452,6 @@ extern int isinf(double x);
|
|||||||
|
|
||||||
/* Set to 1 if you have gethostname() */
|
/* Set to 1 if you have gethostname() */
|
||||||
#undef HAVE_GETHOSTNAME
|
#undef HAVE_GETHOSTNAME
|
||||||
#ifndef HAVE_GETHOSTNAME
|
|
||||||
extern int gethostname(char *name, int namelen);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set to 1 if struct tm has a tm_zone member */
|
/* Set to 1 if struct tm has a tm_zone member */
|
||||||
#undef HAVE_TM_ZONE
|
#undef HAVE_TM_ZONE
|
||||||
@ -479,13 +469,6 @@ extern int gethostname(char *name, int namelen);
|
|||||||
/* Set to 1 if you have inet_aton() */
|
/* Set to 1 if you have inet_aton() */
|
||||||
#undef HAVE_INET_ATON
|
#undef HAVE_INET_ATON
|
||||||
|
|
||||||
#ifndef HAVE_INET_ATON
|
|
||||||
# include <sys/types.h>
|
|
||||||
# include <netinet/in.h>
|
|
||||||
# include <arpa/inet.h>
|
|
||||||
extern int inet_aton(const char *cp, struct in_addr * addr);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set to 1 if you have fcvt() */
|
/* Set to 1 if you have fcvt() */
|
||||||
#undef HAVE_FCVT
|
#undef HAVE_FCVT
|
||||||
|
|
||||||
@ -501,17 +484,6 @@ extern int inet_aton(const char *cp, struct in_addr * addr);
|
|||||||
/* Set to 1 if you have sigsetjmp() */
|
/* Set to 1 if you have sigsetjmp() */
|
||||||
#undef HAVE_SIGSETJMP
|
#undef HAVE_SIGSETJMP
|
||||||
|
|
||||||
/*
|
|
||||||
* When there is no sigsetjmp, its functionality is provided by plain
|
|
||||||
* setjmp. Incidentally, nothing provides setjmp's functionality in
|
|
||||||
* that case.
|
|
||||||
*/
|
|
||||||
#ifndef HAVE_SIGSETJMP
|
|
||||||
# define sigjmp_buf jmp_buf
|
|
||||||
# define sigsetjmp(x,y) setjmp(x)
|
|
||||||
# define siglongjmp longjmp
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set to 1 if you have sysconf() */
|
/* Set to 1 if you have sysconf() */
|
||||||
#undef HAVE_SYSCONF
|
#undef HAVE_SYSCONF
|
||||||
|
|
||||||
@ -529,9 +501,6 @@ extern int inet_aton(const char *cp, struct in_addr * addr);
|
|||||||
|
|
||||||
/* Set to 1 if you have sigprocmask() */
|
/* Set to 1 if you have sigprocmask() */
|
||||||
#undef HAVE_STRCASECMP
|
#undef HAVE_STRCASECMP
|
||||||
#ifndef HAVE_STRCASECMP
|
|
||||||
extern int strcasecmp(char *s1, char *s2);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set to 1 if you have strtol() */
|
/* Set to 1 if you have strtol() */
|
||||||
#undef HAVE_STRTOL
|
#undef HAVE_STRTOL
|
||||||
@ -541,21 +510,12 @@ extern int strcasecmp(char *s1, char *s2);
|
|||||||
|
|
||||||
/* Set to 1 if you have strdup() */
|
/* Set to 1 if you have strdup() */
|
||||||
#undef HAVE_STRDUP
|
#undef HAVE_STRDUP
|
||||||
#ifndef HAVE_STRDUP
|
|
||||||
extern char *strdup(char const *);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set to 1 if you have random() */
|
/* Set to 1 if you have random() */
|
||||||
#undef HAVE_RANDOM
|
#undef HAVE_RANDOM
|
||||||
#ifndef HAVE_RANDOM
|
|
||||||
extern long random(void);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set to 1 if you have srandom() */
|
/* Set to 1 if you have srandom() */
|
||||||
#undef HAVE_SRANDOM
|
#undef HAVE_SRANDOM
|
||||||
#ifndef HAVE_SRANDOM
|
|
||||||
extern void srandom(unsigned int seed);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The random() function is expected to yield values 0 .. MAX_RANDOM_VALUE */
|
/* The random() function is expected to yield values 0 .. MAX_RANDOM_VALUE */
|
||||||
/* Currently, all known implementations yield 0..2^31-1, so we just hardwire
|
/* Currently, all known implementations yield 0..2^31-1, so we just hardwire
|
||||||
@ -575,10 +535,6 @@ extern void srandom(unsigned int seed);
|
|||||||
/* Define if the standard header unistd.h declares fdatasync() */
|
/* Define if the standard header unistd.h declares fdatasync() */
|
||||||
#undef HAVE_DECL_FDATASYNC
|
#undef HAVE_DECL_FDATASYNC
|
||||||
|
|
||||||
#if defined(HAVE_FDATASYNC) && !HAVE_DECL_FDATASYNC
|
|
||||||
extern int fdatasync(int fildes);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Set to 1 if you have libz.a */
|
/* Set to 1 if you have libz.a */
|
||||||
#undef HAVE_LIBZ
|
#undef HAVE_LIBZ
|
||||||
|
|
||||||
@ -669,24 +625,12 @@ extern int fdatasync(int fildes);
|
|||||||
/* Define if you have strtoq() */
|
/* Define if you have strtoq() */
|
||||||
#undef HAVE_STRTOQ
|
#undef HAVE_STRTOQ
|
||||||
|
|
||||||
/* If strtoq() exists, rename it to the more standard strtoll() */
|
|
||||||
#if defined(HAVE_LONG_LONG_INT_64) && !defined(HAVE_STRTOLL) && defined(HAVE_STRTOQ)
|
|
||||||
# define strtoll strtoq
|
|
||||||
# define HAVE_STRTOLL 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define if you have strtoull() */
|
/* Define if you have strtoull() */
|
||||||
#undef HAVE_STRTOULL
|
#undef HAVE_STRTOULL
|
||||||
|
|
||||||
/* Define if you have strtouq() */
|
/* Define if you have strtouq() */
|
||||||
#undef HAVE_STRTOUQ
|
#undef HAVE_STRTOUQ
|
||||||
|
|
||||||
/* If strtouq() exists, rename it to the more standard strtoull() */
|
|
||||||
#if defined(HAVE_LONG_LONG_INT_64) && !defined(HAVE_STRTOULL) && defined(HAVE_STRTOUQ)
|
|
||||||
# define strtoull strtouq
|
|
||||||
# define HAVE_STRTOULL 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Define if you have atexit() */
|
/* Define if you have atexit() */
|
||||||
#undef HAVE_ATEXIT
|
#undef HAVE_ATEXIT
|
||||||
|
|
||||||
@ -727,9 +671,17 @@ extern int fdatasync(int fildes);
|
|||||||
|
|
||||||
#include "pg_config_os.h"
|
#include "pg_config_os.h"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Provide default definitions for things that port-specific pg_config_os.h
|
*------------------------------------------------------------------------
|
||||||
* files can set, but typically don't.
|
* Part 5: provide default declarations for various things that should be
|
||||||
|
* provided by the system headers or the port-specific pg_config_os.h file,
|
||||||
|
* but sometimes aren't.
|
||||||
|
*
|
||||||
|
* This must be last so that pg_config_os.h can override the defaults.
|
||||||
|
* In particular, we must not pull in any system header files until we
|
||||||
|
* have read pg_config_os.h (largefile support tends to break otherwise).
|
||||||
|
*------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef DLLIMPORT
|
#ifndef DLLIMPORT
|
||||||
@ -749,5 +701,72 @@ extern int fdatasync(int fildes);
|
|||||||
#define SIGNAL_ARGS int postgres_signal_arg
|
#define SIGNAL_ARGS int postgres_signal_arg
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Default "extern" declarations or macro substitutes for library routines.
|
||||||
|
* When necessary, these routines are provided by files in src/port/.
|
||||||
|
*/
|
||||||
|
#ifndef HAVE_FSEEKO
|
||||||
|
#define fseeko(a, b, c) fseek((a), (b), (c))
|
||||||
|
#define ftello(a) ftell((a))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_ISINF
|
||||||
|
extern int isinf(double x);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_GETHOSTNAME
|
||||||
|
extern int gethostname(char *name, int namelen);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_INET_ATON
|
||||||
|
# include <sys/types.h>
|
||||||
|
# include <netinet/in.h>
|
||||||
|
# include <arpa/inet.h>
|
||||||
|
extern int inet_aton(const char *cp, struct in_addr * addr);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When there is no sigsetjmp, its functionality is provided by plain
|
||||||
|
* setjmp. Incidentally, nothing provides setjmp's functionality in
|
||||||
|
* that case.
|
||||||
|
*/
|
||||||
|
#ifndef HAVE_SIGSETJMP
|
||||||
|
# define sigjmp_buf jmp_buf
|
||||||
|
# define sigsetjmp(x,y) setjmp(x)
|
||||||
|
# define siglongjmp longjmp
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_STRCASECMP
|
||||||
|
extern int strcasecmp(char *s1, char *s2);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_STRDUP
|
||||||
|
extern char *strdup(char const *);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_RANDOM
|
||||||
|
extern long random(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef HAVE_SRANDOM
|
||||||
|
extern void srandom(unsigned int seed);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_FDATASYNC) && !HAVE_DECL_FDATASYNC
|
||||||
|
extern int fdatasync(int fildes);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If strtoq() exists, rename it to the more standard strtoll() */
|
||||||
|
#if defined(HAVE_LONG_LONG_INT_64) && !defined(HAVE_STRTOLL) && defined(HAVE_STRTOQ)
|
||||||
|
# define strtoll strtoq
|
||||||
|
# define HAVE_STRTOLL 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* If strtouq() exists, rename it to the more standard strtoull() */
|
||||||
|
#if defined(HAVE_LONG_LONG_INT_64) && !defined(HAVE_STRTOULL) && defined(HAVE_STRTOUQ)
|
||||||
|
# define strtoull strtouq
|
||||||
|
# define HAVE_STRTOULL 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif /* PG_CONFIG_H */
|
#endif /* PG_CONFIG_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user