diff options
author | Bruce Momjian | 2003-09-27 16:24:45 +0000 |
---|---|---|
committer | Bruce Momjian | 2003-09-27 16:24:45 +0000 |
commit | d58edfd6015c50c2b97bc52a2285ba9168ab4d4f (patch) | |
tree | 4b6bcb2c98781cfbdd54aa8eaa6af26b1aa2cac1 | |
parent | c3978120c64cd2e6722f3ec5c3cea032dbbd62d6 (diff) |
Finalize configuration of thread_test program.
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | configure.in | 5 | ||||
-rw-r--r-- | src/Makefile.global.in | 1 | ||||
-rw-r--r-- | src/template/bsdi | 2 | ||||
-rw-r--r-- | src/template/freebsd | 5 | ||||
-rw-r--r-- | src/template/linux | 4 | ||||
-rw-r--r-- | src/template/netbsd | 2 | ||||
-rw-r--r-- | src/template/osf | 2 | ||||
-rw-r--r-- | src/template/solaris | 2 | ||||
-rw-r--r-- | src/template/unixware | 2 | ||||
-rw-r--r-- | src/tools/thread/Makefile | 7 | ||||
-rw-r--r-- | src/tools/thread/README | 9 | ||||
-rw-r--r-- | src/tools/thread/thread_test.c | 16 |
13 files changed, 35 insertions, 26 deletions
@@ -13273,7 +13273,7 @@ fi -if test "$SUPPORTS_THREADS" != yes; then +if test "$THREAD_SUPPORT" != yes; then { { echo "$as_me:$LINENO: error: Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists @@ -13299,6 +13299,7 @@ fi + # # Check for re-entrant versions of certain functions # @@ -18211,6 +18212,7 @@ s,@python_includespec@,$python_includespec,;t t s,@python_libspec@,$python_libspec,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@HAVE_IPV6@,$HAVE_IPV6,;t t +s,@THREAD_SUPPORT@,$THREAD_SUPPORT,;t t s,@THREAD_CPPFLAGS@,$THREAD_CPPFLAGS,;t t s,@THREAD_LIBS@,$THREAD_LIBS,;t t s,@HAVE_POSIX_SIGNALS@,$HAVE_POSIX_SIGNALS,;t t diff --git a/configure.in b/configure.in index a3b67addc3..aedfeced7f 100644 --- a/configure.in +++ b/configure.in @@ -1,4 +1,4 @@ -\dnl Process this file with autoconf to produce a configure script. +dnl Process this file with autoconf to produce a configure script. dnl $Header$ dnl dnl Developers, please strive to achieve this order: @@ -1002,7 +1002,7 @@ AC_FUNC_FSEEKO if test "$enable_thread_safety" = yes; then AC_CHECK_HEADER(pthread.h, [], [AC_MSG_ERROR([pthread.h not found, required for --enable-thread-safetys])]) -if test "$SUPPORTS_THREADS" != yes; then +if test "$THREAD_SUPPORT" != yes; then AC_MSG_ERROR([ Cannot enable threads on your platform. Please report your platform threading info to the PostgreSQL mailing lists @@ -1016,6 +1016,7 @@ else THREAD_CPPFLAGS= THREAD_LIBS= fi +AC_SUBST(THREAD_SUPPORT) AC_SUBST(THREAD_CPPFLAGS) AC_SUBST(THREAD_LIBS) diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 42395a29d0..80a4153a13 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -150,6 +150,7 @@ TK_LIBS = @TK_LIBS@ TK_LIB_SPEC = @TK_LIB_SPEC@ TK_XINCLUDES = @TK_XINCLUDES@ +THREAD_SUPPORT = @THREAD_SUPPORT@ THREAD_CPPFLAGS = @THREAD_CPPFLAGS@ THREAD_LIBS = @THREAD_LIBS@ diff --git a/src/template/bsdi b/src/template/bsdi index a5996a5402..acb2c42d3c 100644 --- a/src/template/bsdi +++ b/src/template/bsdi @@ -10,5 +10,5 @@ case $host_os in ;; esac -SUPPORTS_THREADS=yes +THREAD_SUPPORT=yes NEED_REENTRANT_FUNCS=no # verified 4.3 2003-09-26 diff --git a/src/template/freebsd b/src/template/freebsd index 0711a83212..082afc077b 100644 --- a/src/template/freebsd +++ b/src/template/freebsd @@ -4,9 +4,8 @@ case $host_cpu in alpha*) CFLAGS="$CFLAGS -O" ;; esac -SUPPORTS_THREADS=yes -NEED_REENTRANT_FUNCS=yes # 4.8, 5.1 2003-09-12 - +THREAD_SUPPORT=yes +NEED_REENTRANT_FUNCS=yes THREAD_CPPFLAGS="-D_THREAD_SAFE" case $host_os in freebsd2*|freebsd3*|freebsd4*) diff --git a/src/template/linux b/src/template/linux index a690b44968..2a3209ccb0 100644 --- a/src/template/linux +++ b/src/template/linux @@ -2,8 +2,8 @@ CFLAGS=-O2 # Force _GNU_SOURCE on; plperl is broken with Perl 5.8.0 otherwise CPPFLAGS="-D_GNU_SOURCE" -SUPPORTS_THREADS=yes -NEED_REENTRANT_FUNCS=yes # verified glibc 2.1 2003-09-03 +THREAD_SUPPORT=yes +NEED_REENTRANT_FUNCS=yes THREAD_CPPFLAGS="-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS" THREAD_LIBS="-lpthread" diff --git a/src/template/netbsd b/src/template/netbsd index 0fd61a70b2..f510dc9ef0 100644 --- a/src/template/netbsd +++ b/src/template/netbsd @@ -1,4 +1,4 @@ CFLAGS='-O2 -pipe' -SUPPORTS_THREADS=yes +THREAD_SUPPORT=yes NEED_REENTRANT_FUNCS=yes # 1.6 2003-09-14 diff --git a/src/template/osf b/src/template/osf index 0856f5c898..b5c60413de 100644 --- a/src/template/osf +++ b/src/template/osf @@ -5,6 +5,6 @@ else CFLAGS='-O4 -Olimit 2000' fi -SUPPORTS_THREADS=yes +THREAD_SUPPORT=yes NEED_REENTRANT_FUNCS=no # 4.0 2003-09-13 THREAD_LIBS="-pthread" diff --git a/src/template/solaris b/src/template/solaris index b333f00660..083b1d3659 100644 --- a/src/template/solaris +++ b/src/template/solaris @@ -5,7 +5,7 @@ else CFLAGS=-v # -v is like gcc -Wall fi -SUPPORTS_THREADS=yes +THREAD_SUPPORT=yes NEED_REENTRANT_FUNCS=yes # 5.6 2003-09-13 THREAD_LIBS="-pthread" diff --git a/src/template/unixware b/src/template/unixware index a228fa56ef..e1991bcc9c 100644 --- a/src/template/unixware +++ b/src/template/unixware @@ -9,6 +9,6 @@ else THREAD_CPPFLAGS="-K pthread" fi -SUPPORTS_THREADS=yes +THREAD_SUPPORT=yes NEED_REENTRANT_FUNCS=no # verified 7.1.3 2003-09-03 THREAD_CPPFLAGS="$THREAD_CPPFLAGS -D_REENTRANT" diff --git a/src/tools/thread/Makefile b/src/tools/thread/Makefile index 61665ae0e9..ac253e680c 100644 --- a/src/tools/thread/Makefile +++ b/src/tools/thread/Makefile @@ -12,6 +12,13 @@ subdir = tools/thread top_builddir = ../../.. include $(top_builddir)/src/Makefile.global +ifeq ($(THREAD_SUPPORT), no) +$(error Your platform does not support threads) +endif +ifeq ($(THREAD_SUPPORT), ) +$(error You have not configured your template/$$port file. See the README) +endif + override CFLAGS += $(THREAD_CPPFLAGS) LDFLAGS += $(THREAD_LIBS) diff --git a/src/tools/thread/README b/src/tools/thread/README index f17e59248f..ac8133c108 100644 --- a/src/tools/thread/README +++ b/src/tools/thread/README @@ -4,5 +4,10 @@ new platforms. Run thread_test program to determine if your native libc functions are thread-safe, or if we should use *_r functions or thread locking. -Make sure you have added any needed 'THREAD_CPPFLAGS' and 'THREAD_LIBS' -defines to your template/${port} file before compiling this program. +To use this program, you must: + + o add "THREAD_SUPPORT=yes" to your template/${port} file + o add any THREAD_CPPFLAGS and THREAD_LIBS defines to your + template/${port} file + o run "configure --enable-thread-safety" + o compile and run this program diff --git a/src/tools/thread/thread_test.c b/src/tools/thread/thread_test.c index b152162fd4..455eecc539 100644 --- a/src/tools/thread/thread_test.c +++ b/src/tools/thread/thread_test.c @@ -58,7 +58,7 @@ int main(int argc, char *argv[]) printf("\ Make sure you have added any needed 'THREAD_CPPFLAGS' and 'THREAD_LIBS'\n\ -defines to your template/${port} file before compiling this program.\n\n" +defines to your template/$port file before compiling this program.\n\n" ); pthread_create(&thread1, NULL, (void * (*)(void *)) func_call_1, NULL); pthread_create(&thread2, NULL, (void * (*)(void *)) func_call_2, NULL); @@ -82,20 +82,14 @@ defines to your template/${port} file before compiling this program.\n\n" strerror_p1 != strerror_p2) { printf("All your non-*_r functions are thread-safe.\n"); - printf("Add this to your template/${port} file:\n\n"); - printf("\ -SUPPORTS_THREADS=yes\n\ -NEED_REENTRANT_FUNCS=no\n" - ); + printf("Add this to your template/$port file:\n\n"); + printf("NEED_REENTRANT_FUNCS=no\n"); } else { printf("Not all non-*_r functions are thread-safe.\n"); - printf("Add this to your template/${port} file:\n\n"); - printf("\ -SUPPORTS_THREADS=yes\n\ -NEED_REENTRANT_FUNCS=yes\n" - ); + printf("Add this to your template/$port file:\n\n"); + printf("NEED_REENTRANT_FUNCS=yes\n"); } return 0; |