diff options
author | Bruce Momjian | 2004-12-16 17:48:29 +0000 |
---|---|---|
committer | Bruce Momjian | 2004-12-16 17:48:29 +0000 |
commit | d4be0563e7b7c60eafa4cba7c2afd6f963eaa60e (patch) | |
tree | 030f51c454795aa45e7ed7537ee44f3dc3f3bcef | |
parent | 0b33dbce883d9ceedb9bf93920e28d330e4e3148 (diff) |
Allow AIX to use --enable-thread-safety by passing PTHREAD_LIBS to
binary compiles, and adjust configure tests for AIX.
-rw-r--r-- | config/c-compiler.m4 | 10 | ||||
-rw-r--r-- | config/c-library.m4 | 17 | ||||
-rwxr-xr-x | configure | 35 | ||||
-rw-r--r-- | src/Makefile.global.in | 14 | ||||
-rw-r--r-- | src/makefiles/Makefile.unixware | 2 |
5 files changed, 46 insertions, 32 deletions
diff --git a/config/c-compiler.m4 b/config/c-compiler.m4 index 67d783594d..2b60d8dcd9 100644 --- a/config/c-compiler.m4 +++ b/config/c-compiler.m4 @@ -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 */ diff --git a/config/c-library.m4 b/config/c-library.m4 index 50dc16ab31..9b856cc349 100644 --- a/config/c-library.m4 +++ b/config/c-library.m4 @@ -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; @@ -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; diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 24c2296c72..2cb6f59f46 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -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 diff --git a/src/makefiles/Makefile.unixware b/src/makefiles/Makefile.unixware index e8953756a6..7120601f68 100644 --- a/src/makefiles/Makefile.unixware +++ b/src/makefiles/Makefile.unixware @@ -33,5 +33,3 @@ sqlmansect = 5sql # Unixware needs threads for everything that uses libpq CFLAGS += $(PTHREAD_CFLAGS) - - |