Allow AIX to use --enable-thread-safety by passing PTHREAD_LIBS to

binary compiles, and adjust configure tests for AIX.
This commit is contained in:
Bruce Momjian 2004-12-16 17:48:29 +00:00
parent cd380b99cd
commit b5498167d7
5 changed files with 49 additions and 35 deletions

View File

@ -1,5 +1,5 @@
# Macros to detect C compiler features
# $PostgreSQL: pgsql/config/c-compiler.m4,v 1.13 2004/10/20 02:12:07 neilc Exp $
# $PostgreSQL: pgsql/config/c-compiler.m4,v 1.14 2004/12/16 17:48:25 momjian Exp $
# PGAC_C_SIGNED
@ -26,20 +26,20 @@ AC_DEFUN([PGAC_TYPE_64BIT_INT],
define([Ac_cachevar], [translit([pgac_cv_type_$1_64], [ *], [_p])])dnl
AC_CACHE_CHECK([whether $1 is 64 bits], [Ac_cachevar],
[AC_TRY_RUN(
[typedef $1 int64;
[typedef $1 ac_int64;
/*
* These are globals to discourage the compiler from folding all the
* arithmetic tests down to compile-time constants.
*/
int64 a = 20000001;
int64 b = 40000005;
ac_int64 a = 20000001;
ac_int64 b = 40000005;
int does_int64_work()
{
int64 c,d;
ac_int64 c,d;
if (sizeof(int64) != 8)
if (sizeof(ac_int64) != 8)
return 0; /* definitely not the right size */
/* Do perfunctory checks to see if 64-bit arithmetic seems to work */

View File

@ -1,5 +1,5 @@
# Macros that test various C library quirks
# $PostgreSQL: pgsql/config/c-library.m4,v 1.28 2004/10/04 18:14:18 momjian Exp $
# $PostgreSQL: pgsql/config/c-library.m4,v 1.29 2004/12/16 17:48:26 momjian Exp $
# PGAC_VAR_INT_TIMEZONE
@ -108,7 +108,12 @@ AC_DEFUN([PGAC_FUNC_STRERROR_R_INT],
[AC_CACHE_CHECK(whether strerror_r returns int,
pgac_func_strerror_r_int,
[AC_TRY_COMPILE([#include <string.h>],
[int strerror_r(int, char *, size_t);],
[#ifndef _AIX
int strerror_r(int, char *, size_t);
#else
/* Older AIX has 'int' for the third argument so we don't test the args. */
int strerror_r();
#endif],
[pgac_func_strerror_r_int=yes],
[pgac_func_strerror_r_int=no])])
if test x"$pgac_func_strerror_r_int" = xyes ; then
@ -225,18 +230,18 @@ AC_DEFUN([PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT],
AC_CACHE_VAL(pgac_cv_snprintf_long_long_int_format,
[for pgac_format in '%lld' '%qd' '%I64d'; do
AC_TRY_RUN([#include <stdio.h>
typedef long long int int64;
typedef long long int ac_int64;
#define INT64_FORMAT "$pgac_format"
int64 a = 20000001;
int64 b = 40000005;
ac_int64 a = 20000001;
ac_int64 b = 40000005;
int does_int64_snprintf_work()
{
int64 c;
ac_int64 c;
char buf[100];
if (sizeof(int64) != 8)
if (sizeof(ac_int64) != 8)
return 0; /* doesn't look like the right size */
c = a * b;

35
configure vendored
View File

@ -14611,7 +14611,12 @@ else
int
main ()
{
#ifndef _AIX
int strerror_r(int, char *, size_t);
#else
/* Older AIX has 'int' for the third argument so we don't test the args. */
int strerror_r();
#endif
;
return 0;
}
@ -14761,20 +14766,20 @@ else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
#include "confdefs.h"
typedef long int int64;
typedef long int ac_int64;
/*
* These are globals to discourage the compiler from folding all the
* arithmetic tests down to compile-time constants.
*/
int64 a = 20000001;
int64 b = 40000005;
ac_int64 a = 20000001;
ac_int64 b = 40000005;
int does_int64_work()
{
int64 c,d;
ac_int64 c,d;
if (sizeof(int64) != 8)
if (sizeof(ac_int64) != 8)
return 0; /* definitely not the right size */
/* Do perfunctory checks to see if 64-bit arithmetic seems to work */
@ -14875,20 +14880,20 @@ else
cat >conftest.$ac_ext <<_ACEOF
#line $LINENO "configure"
#include "confdefs.h"
typedef long long int int64;
typedef long long int ac_int64;
/*
* These are globals to discourage the compiler from folding all the
* arithmetic tests down to compile-time constants.
*/
int64 a = 20000001;
int64 b = 40000005;
ac_int64 a = 20000001;
ac_int64 b = 40000005;
int does_int64_work()
{
int64 c,d;
ac_int64 c,d;
if (sizeof(int64) != 8)
if (sizeof(ac_int64) != 8)
return 0; /* definitely not the right size */
/* Do perfunctory checks to see if 64-bit arithmetic seems to work */
@ -15007,18 +15012,18 @@ else
#line $LINENO "configure"
#include "confdefs.h"
#include <stdio.h>
typedef long long int int64;
typedef long long int ac_int64;
#define INT64_FORMAT "$pgac_format"
int64 a = 20000001;
int64 b = 40000005;
ac_int64 a = 20000001;
ac_int64 b = 40000005;
int does_int64_snprintf_work()
{
int64 c;
ac_int64 c;
char buf[100];
if (sizeof(int64) != 8)
if (sizeof(ac_int64) != 8)
return 0; /* doesn't look like the right size */
c = a * b;

View File

@ -1,5 +1,5 @@
# -*-makefile-*-
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.205 2004/11/19 00:41:38 tgl Exp $
# $PostgreSQL: pgsql/src/Makefile.global.in,v 1.206 2004/12/16 17:48:29 momjian Exp $
#------------------------------------------------------------------------------
# All PostgreSQL makefiles include this file and use the variables it sets,
@ -308,6 +308,12 @@ endif
libpq = -L$(libpq_builddir) -lpq
# AIX libraries do not remember their required libs so we have to force
# thread dependent libraires in the link
ifeq ($(PORTNAME), aix)
libpq += $(PTHREAD_LIBS)
endif
submake-libpq:
$(MAKE) -C $(libpq_builddir) all
@ -346,13 +352,13 @@ ifneq ($(CUSTOM_COPT),)
endif
ifdef COPT
CFLAGS+= $(COPT)
LDFLAGS+= $(COPT)
CFLAGS += $(COPT)
LDFLAGS += $(COPT)
endif
ifdef PROFILE
CFLAGS+= $(PROFILE)
LDFLAGS+= $(PROFILE)
CFLAGS += $(PROFILE)
LDFLAGS += $(PROFILE)
endif

View File

@ -33,5 +33,3 @@ sqlmansect = 5sql
# Unixware needs threads for everything that uses libpq
CFLAGS += $(PTHREAD_CFLAGS)