summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-05-05 00:03:29 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-05-05 00:03:29 +0000
commit72a3902a664c7fbceb2034e28e444b28f96fa717 (patch)
treeff42e4494af6ea1c1cdf524f3feb5fc670217f0c /configure.in
parent91fc10fdacfcbadc123fd9d8ee16a4568f8c636b (diff)
downloadpostgresql-72a3902a664c7fbceb2034e28e444b28f96fa717.tar.gz
Create an internal semaphore API that is not tied to SysV semaphores.
As proof of concept, provide an alternate implementation based on POSIX semaphores. Also push the SysV shared-memory implementation into a separate file so that it can be replaced conveniently.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in24
1 files changed, 23 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index e0b4ca4fc6..342bf851e7 100644
--- a/configure.in
+++ b/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.183 2002/04/26 19:47:35 tgl Exp $
+dnl $Header: /cvsroot/pgsql/configure.in,v 1.184 2002/05/05 00:03:28 tgl Exp $
dnl Developers, please strive to achieve this order:
dnl
@@ -1168,6 +1168,26 @@ AC_CHECK_TYPES([sig_atomic_t], [], [], [#include <signal.h>])
PGAC_FUNC_POSIX_SIGNALS
+# Select semaphore implementation type.
+if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then
+ AC_DEFINE(USE_NAMED_POSIX_SEMAPHORES, 1, [Define to select named POSIX semaphores])
+ SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
+else
+ if test x"$USE_UNNAMED_POSIX_SEMAPHORES" = x"1" ; then
+ AC_DEFINE(USE_UNNAMED_POSIX_SEMAPHORES, 1, [Define to select unnamed POSIX semaphores])
+ SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
+ else
+ AC_DEFINE(USE_SYSV_SEMAPHORES, 1, [Define to select SysV-style semaphores])
+ SEMA_IMPLEMENTATION="src/backend/port/sysv_sema.c"
+ fi
+fi
+
+
+# Select shared-memory implementation type.
+AC_DEFINE(USE_SYSV_SHARED_MEMORY, 1, [Define to select SysV-style shared memory])
+SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c"
+
+
if test "$enable_nls" = yes ; then
PGAC_CHECK_GETTEXT
fi
@@ -1222,6 +1242,8 @@ AC_CONFIG_FILES([GNUmakefile src/Makefile.global])
AC_CONFIG_LINKS([
src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c
+ src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION}
+ src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION}
src/include/dynloader.h:src/backend/port/dynloader/${template}.h
src/include/pg_config_os.h:src/include/port/${template}.h
src/Makefile.port:src/makefiles/Makefile.${template}