mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
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
|
||||
* 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
|
||||
@ -332,11 +332,6 @@
|
||||
/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
|
||||
#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 */
|
||||
#undef HAVE_STRINGIZE
|
||||
|
||||
@ -423,6 +418,7 @@
|
||||
|
||||
/* Set to 1 if you have gettimeofday(a) instead of gettimeofday(a,b) */
|
||||
#undef GETTIMEOFDAY_1ARG
|
||||
|
||||
#ifdef GETTIMEOFDAY_1ARG
|
||||
# define gettimeofday(a,b) gettimeofday(a)
|
||||
#endif
|
||||
@ -444,9 +440,6 @@
|
||||
|
||||
/* Set to 1 if you have isinf() */
|
||||
#undef HAVE_ISINF
|
||||
#ifndef HAVE_ISINF
|
||||
extern int isinf(double x);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These are all related to port/isinf.c
|
||||
@ -459,9 +452,6 @@ extern int isinf(double x);
|
||||
|
||||
/* Set to 1 if you 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 */
|
||||
#undef HAVE_TM_ZONE
|
||||
@ -479,13 +469,6 @@ extern int gethostname(char *name, int namelen);
|
||||
/* Set to 1 if you 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() */
|
||||
#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() */
|
||||
#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() */
|
||||
#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() */
|
||||
#undef HAVE_STRCASECMP
|
||||
#ifndef HAVE_STRCASECMP
|
||||
extern int strcasecmp(char *s1, char *s2);
|
||||
#endif
|
||||
|
||||
/* Set to 1 if you have strtol() */
|
||||
#undef HAVE_STRTOL
|
||||
@ -541,21 +510,12 @@ extern int strcasecmp(char *s1, char *s2);
|
||||
|
||||
/* Set to 1 if you have strdup() */
|
||||
#undef HAVE_STRDUP
|
||||
#ifndef HAVE_STRDUP
|
||||
extern char *strdup(char const *);
|
||||
#endif
|
||||
|
||||
/* Set to 1 if you have random() */
|
||||
#undef HAVE_RANDOM
|
||||
#ifndef HAVE_RANDOM
|
||||
extern long random(void);
|
||||
#endif
|
||||
|
||||
/* Set to 1 if you 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 */
|
||||
/* 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() */
|
||||
#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 */
|
||||
#undef HAVE_LIBZ
|
||||
|
||||
@ -669,24 +625,12 @@ extern int fdatasync(int fildes);
|
||||
/* Define if you 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() */
|
||||
#undef HAVE_STRTOULL
|
||||
|
||||
/* Define if you 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() */
|
||||
#undef HAVE_ATEXIT
|
||||
|
||||
@ -727,9 +671,17 @@ extern int fdatasync(int fildes);
|
||||
|
||||
#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
|
||||
@ -749,5 +701,72 @@ extern int fdatasync(int fildes);
|
||||
#define SIGNAL_ARGS int postgres_signal_arg
|
||||
#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 */
|
||||
|
Loading…
Reference in New Issue
Block a user