mirror of
https://github.com/postgres/postgres.git
synced 2025-07-31 22:04:40 +03:00
Assemble portability modules into libpgport library.
Some makefile simplifications.
This commit is contained in:
86
configure.in
86
configure.in
@ -1,5 +1,5 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
dnl $Header: /cvsroot/pgsql/configure.in,v 1.193 2002/07/19 17:35:09 momjian Exp $
|
||||
dnl $Header: /cvsroot/pgsql/configure.in,v 1.194 2002/07/27 20:10:03 petere Exp $
|
||||
dnl
|
||||
dnl Developers, please strive to achieve this order:
|
||||
dnl
|
||||
@ -747,6 +747,7 @@ fi
|
||||
##
|
||||
## Header files
|
||||
##
|
||||
|
||||
dnl sys/socket.h is required by AC_FUNC_ACCEPT_ARGTYPES
|
||||
AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h pwd.h sys/ipc.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/un.h termios.h kernel/OS.h kernel/image.h SupportDefs.h])
|
||||
|
||||
@ -798,6 +799,7 @@ fi
|
||||
##
|
||||
## Types, structures, compiler characteristics
|
||||
##
|
||||
|
||||
m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
@ -840,12 +842,13 @@ fi
|
||||
##
|
||||
## Functions, global variables
|
||||
##
|
||||
|
||||
PGAC_VAR_INT_TIMEZONE
|
||||
AC_FUNC_ACCEPT_ARGTYPES
|
||||
PGAC_FUNC_GETTIMEOFDAY_1ARG
|
||||
|
||||
# SunOS doesn't handle negative byte comparisons properly with +/- return
|
||||
PGAC_FUNC_MEMCMP
|
||||
AC_FUNC_MEMCMP
|
||||
|
||||
AC_CHECK_FUNCS([cbrt fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync])
|
||||
|
||||
@ -870,10 +873,9 @@ fi
|
||||
# also decide to use snprintf.c if snprintf() is present but does not
|
||||
# have working "long long int" support -- see below.
|
||||
|
||||
SNPRINTF=''
|
||||
AC_CHECK_FUNCS(snprintf, [], SNPRINTF='$(top_builddir)/src/port/snprintf.o')
|
||||
AC_CHECK_FUNCS(vsnprintf, [], SNPRINTF='$(top_builddir)/src/port/snprintf.o')
|
||||
AC_SUBST(SNPRINTF)
|
||||
pgac_need_repl_snprintf=no
|
||||
AC_CHECK_FUNCS(snprintf, [], pgac_need_repl_snprintf=yes)
|
||||
AC_CHECK_FUNCS(vsnprintf, [], pgac_need_repl_snprintf=yes)
|
||||
|
||||
|
||||
# Check whether <stdio.h> declares snprintf() and vsnprintf(); if not,
|
||||
@ -895,49 +897,18 @@ AC_CACHE_CHECK([for isinf], ac_cv_func_isinf,
|
||||
|
||||
if test $ac_cv_func_isinf = yes ; then
|
||||
AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have isinf()])
|
||||
ISINF=
|
||||
else
|
||||
ISINF='isinf.o'
|
||||
AC_LIBOBJ(isinf)
|
||||
# Look for a way to implement a substitute for isinf()
|
||||
AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break])
|
||||
fi
|
||||
AC_SUBST(ISINF)
|
||||
|
||||
AC_REPLACE_FUNCS([gethostname getrusage inet_aton random srandom strcasecmp strdup strerror strtol strtoul])
|
||||
|
||||
AC_CHECK_FUNCS(getrusage, [], GETRUSAGE='$(top_builddir)/src/port/getrusage.o')
|
||||
AC_SUBST(GETRUSAGE)
|
||||
AC_CHECK_FUNCS(srandom, [], SRANDOM='$(top_builddir)/src/port/srandom.o')
|
||||
AC_SUBST(SRANDOM)
|
||||
AC_CHECK_FUNCS(gethostname, [], GETHOSTNAME='$(top_builddir)/src/port/gethostname.o')
|
||||
AC_SUBST(GETHOSTNAME)
|
||||
AC_CHECK_FUNCS(random, [], MISSING_RANDOM='$(top_builddir)/src/port/random.o')
|
||||
AC_SUBST(MISSING_RANDOM)
|
||||
AC_CHECK_FUNCS(inet_aton, [], INET_ATON='$(top_builddir)/src/port/inet_aton.o')
|
||||
AC_SUBST(INET_ATON)
|
||||
AC_CHECK_FUNCS(strerror, [], STRERROR='$(top_builddir)/src/port/strerror.o')
|
||||
AC_SUBST(STRERROR)
|
||||
AC_CHECK_FUNCS(strdup, [], STRDUP='$(top_builddir)/src/port/strdup.o')
|
||||
AC_SUBST(STRDUP)
|
||||
AC_CHECK_FUNCS(strtol, [], STRTOL='$(top_builddir)/src/port/strtol.o')
|
||||
AC_SUBST(STRTOL)
|
||||
AC_CHECK_FUNCS(strtoul, [], STRTOUL='$(top_builddir)/src/port/strtoul.o')
|
||||
AC_SUBST(STRTOUL)
|
||||
AC_CHECK_FUNCS(strcasecmp, [], STRCASECMP='$(top_builddir)/src/port/strcasecmp.o')
|
||||
AC_SUBST(STRCASECMP)
|
||||
|
||||
# Set path of dllinit.c for cygwin
|
||||
DLLINIT=""
|
||||
# Solaris has a very slow qsort in certain cases.
|
||||
case $host_os in
|
||||
cygwin*) DLLINIT='$(top_builddir)/src/backend/port/dllinit.o' ;;
|
||||
solaris*) AC_LIBOBJ(qsort) ;;
|
||||
esac
|
||||
AC_SUBST(DLLINIT)
|
||||
|
||||
# Set path of qsort for solaris, which has a very slow qsort in certain cases.
|
||||
QSORT=""
|
||||
case $host_os in
|
||||
solaris*) DLLINIT='$(top_builddir)/src/backend/port/qsort.o' ;;
|
||||
esac
|
||||
AC_SUBST(QSORT)
|
||||
|
||||
# On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a;
|
||||
# this hackery with HPUXMATHLIB allows us to cope.
|
||||
@ -992,6 +963,14 @@ if test x"$pgac_cv_var_int_optreset" = x"yes"; then
|
||||
AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset'])
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS([strtoll strtoq], [break])
|
||||
AC_CHECK_FUNCS([strtoull strtouq], [break])
|
||||
|
||||
# Check for one of atexit() or on_exit()
|
||||
AC_CHECK_FUNCS(atexit, [],
|
||||
[AC_CHECK_FUNCS(on_exit, [],
|
||||
[AC_MSG_ERROR([neither atexit() nor on_exit() found])])])
|
||||
|
||||
|
||||
# This test makes sure that run tests work at all. Sometimes a shared
|
||||
# library is found by the linker, but the runtime linker can't find it.
|
||||
@ -1047,8 +1026,8 @@ dnl We cope with snprintfs that use either %lld or %qd as the format.
|
||||
dnl If neither works, fall back to our own snprintf emulation (which we
|
||||
dnl know uses %lld).
|
||||
|
||||
if [[ x"$HAVE_LONG_LONG_INT_64" = xyes ]] ; then
|
||||
if [[ x$SNPRINTF = x ]] ; then
|
||||
if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then
|
||||
if test $pgac_need_repl_snprintf = no; then
|
||||
AC_MSG_CHECKING(whether snprintf handles 'long long int' as %lld)
|
||||
AC_TRY_RUN([#include <stdio.h>
|
||||
typedef long long int int64;
|
||||
@ -1108,17 +1087,17 @@ main() {
|
||||
],
|
||||
[ AC_MSG_RESULT(no)
|
||||
# Force usage of our own snprintf, since system snprintf is broken
|
||||
SNPRINTF='$(top_builddir)/src/port/snprintf.o'
|
||||
pgac_need_repl_snprintf=yes
|
||||
INT64_FORMAT='"%lld"'
|
||||
],
|
||||
[ AC_MSG_RESULT(assuming not on target machine)
|
||||
[ AC_MSG_RESULT([cannot test (not on host machine)])
|
||||
# Force usage of our own snprintf, since we cannot test foreign snprintf
|
||||
SNPRINTF='$(top_builddir)/src/port/snprintf.o'
|
||||
pgac_need_repl_snprintf=yes
|
||||
INT64_FORMAT='"%lld"'
|
||||
]) ],
|
||||
[ AC_MSG_RESULT(assuming not on target machine)
|
||||
[ AC_MSG_RESULT([cannot test (not on host machine)])
|
||||
# Force usage of our own snprintf, since we cannot test foreign snprintf
|
||||
SNPRINTF='$(top_builddir)/src/port/snprintf.o'
|
||||
pgac_need_repl_snprintf=yes
|
||||
INT64_FORMAT='"%lld"'
|
||||
])
|
||||
else
|
||||
@ -1133,14 +1112,9 @@ fi
|
||||
AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT,
|
||||
[Define this as the appropriate snprintf format for 64-bit ints, if any])
|
||||
|
||||
|
||||
AC_CHECK_FUNCS([strtoll strtoq], [break])
|
||||
AC_CHECK_FUNCS([strtoull strtouq], [break])
|
||||
|
||||
# Check for one of atexit() or on_exit()
|
||||
AC_CHECK_FUNCS(atexit, [],
|
||||
[AC_CHECK_FUNCS(on_exit, [],
|
||||
[AC_MSG_ERROR([neither atexit() nor on_exit() found])])])
|
||||
if test $pgac_need_repl_snprintf = yes; then
|
||||
AC_LIBOBJ(snprintf)
|
||||
fi
|
||||
|
||||
dnl Need a #define for the size of Datum (unsigned long)
|
||||
|
||||
|
Reference in New Issue
Block a user