summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorTom Lane2002-05-05 00:03:29 +0000
committerTom Lane2002-05-05 00:03:29 +0000
commit72a3902a664c7fbceb2034e28e444b28f96fa717 (patch)
treeff42e4494af6ea1c1cdf524f3feb5fc670217f0c /configure
parent91fc10fdacfcbadc123fd9d8ee16a4568f8c636b (diff)
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')
-rwxr-xr-xconfigure40
1 files changed, 39 insertions, 1 deletions
diff --git a/configure b/configure
index bf8518d5c42..9389f7c8a59 100755
--- a/configure
+++ b/configure
@@ -15664,6 +15664,42 @@ HAVE_POSIX_SIGNALS=$pgac_cv_func_posix_signals
+# Select semaphore implementation type.
+if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_NAMED_POSIX_SEMAPHORES 1
+_ACEOF
+
+ SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
+else
+ if test x"$USE_UNNAMED_POSIX_SEMAPHORES" = x"1" ; then
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_UNNAMED_POSIX_SEMAPHORES 1
+_ACEOF
+
+ SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
+ else
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_SYSV_SEMAPHORES 1
+_ACEOF
+
+ SEMA_IMPLEMENTATION="src/backend/port/sysv_sema.c"
+ fi
+fi
+
+
+# Select shared-memory implementation type.
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_SYSV_SHARED_MEMORY 1
+_ACEOF
+
+SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c"
+
+
if test "$enable_nls" = yes ; then
echo "$as_me:$LINENO: checking for library containing gettext" >&5
@@ -16724,7 +16760,7 @@ fi
ac_config_files="$ac_config_files GNUmakefile src/Makefile.global"
-ac_config_links="$ac_config_links src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c 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}"
+ac_config_links="$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}"
ac_config_headers="$ac_config_headers src/include/pg_config.h"
@@ -17207,6 +17243,8 @@ do
"src/Makefile.global" ) CONFIG_FILES="$CONFIG_FILES src/Makefile.global" ;;
"src/backend/port/tas.s" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/tas.s:src/backend/port/tas/${tas_file}" ;;
"src/backend/port/dynloader.c" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c" ;;
+ "src/backend/port/pg_sema.c" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION}" ;;
+ "src/backend/port/pg_shmem.c" ) CONFIG_LINKS="$CONFIG_LINKS src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION}" ;;
"src/include/dynloader.h" ) CONFIG_LINKS="$CONFIG_LINKS src/include/dynloader.h:src/backend/port/dynloader/${template}.h" ;;
"src/include/pg_config_os.h" ) CONFIG_LINKS="$CONFIG_LINKS src/include/pg_config_os.h:src/include/port/${template}.h" ;;
"src/Makefile.port" ) CONFIG_LINKS="$CONFIG_LINKS src/Makefile.port:src/makefiles/Makefile.${template}" ;;