--- rpl/Attic/configure.in 2011/09/16 14:42:02 1.84 +++ rpl/Attic/configure.in 2011/09/16 16:37:07 1.85 @@ -205,13 +205,48 @@ fi],[ ) AC_ARG_ENABLE(sysv-semaphores, -[ --enable-sysv-ipcs use SystemV IPC functions [[default=no]]], [ +[ --enable-sysv-ipcs use SystemV IPC functions [[default=guessed]]], [ if test "$enableval" = "no"; then IPCS_SYSV=no else IPCS_SYSV=yes fi], -IPCS_SYSV=no) +[AC_MSG_CHECKING([for POSIX semaphores]) +AC_COMPILE_IFELSE( +[AC_LANG_PROGRAM([#include +#include +#include ], +[ int fd; char *sem = "/sem.test"; +fd = shm_open(sem , O_CREAT | O_RDWR, S_IRUSR | S_IWUSR); + close(fd); + shm_unlink(sem); + return(0); +])], +[IPCS_SYSV=-UIPCS_SYSV; AC_MSG_RESULT(yes)], +[IPCS_SYSV=-DIPCS_SYSV; AC_MSG_RESULT(no)] + )] +) + +if test "$IPCS_SYSV" = "-UIPCS_SYSV"; then +REG=$LDFLAGS +LDFLAGS=-pthread +AC_MSG_CHECKING([for POSIX anonymous semaphores]) +AC_RUN_IFELSE( +[AC_LANG_PROGRAM([#include + ], +[ sem_t sem; + if (sem_init(&sem, 1, 0) != 0) return(1); + sem_destroy(&sem); + return(0); +])], +[SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES; AC_MSG_RESULT(yes)], +[SEMAPHORES_NOMMES=-DSEMAPHORES_NOMMES; AC_MSG_RESULT(no)], + )] +LDFLAGS=$REG +REG="" +else + SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES +fi AC_ARG_ENABLE(full-static, [ --enable-full-static build static RPL/2 engine [[default=shared]]], [ @@ -1026,8 +1061,6 @@ case $OS in Darwin) EXPORT_DYNAMIC=-Wl,-flat_namespace NESTED_FUNCTIONS=-fnested-functions - SEMAPHORES_NOMMES=-DSEMAPHORES_NOMMES - IPCS_SYSV=-UIPCS_SYSV CXXFLAGS="$CXXFLAGS -D_GLIBCXX_FULLY_DYNAMIC_STRING" ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \ @@ -1041,8 +1074,6 @@ case $OS in Cygwin) EXPORT_DYNAMIC=-Wl,--export-all-symbols NESTED_FUNCTIONS= - SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES - IPCS_SYSV=-UIPCS_SYSV ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \ CFLAGS=\"$CFLAGS\" CXXFLAGS=\"$CXXFLAGS\" \ @@ -1055,8 +1086,6 @@ case $OS in Interix) EXPORT_DYNAMIC=-Wl,--export-all-symbols NESTED_FUNCTIONS= - SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES - IPCS_SYSV=-UIPCS_SYSV ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \ CFLAGS=\"$CFLAGS\" CXXFLAGS=\"$CXXFLAGS\" \ @@ -1069,8 +1098,6 @@ case $OS in AIX) EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= - SEMAPHORES_NOMMES=-DSEMAPHORES_NOMMES - IPCS_SYSV=-UIPCS_SYSV ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \ CFLAGS=\"$CFLAGS\" CXXFLAGS=\"$CXXFLAGS\" \ @@ -1087,8 +1114,6 @@ case $OS in OS=OS2 NESTED_FUNCTIONS= EXPORT_DYNAMIC=-Zmap - SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES - IPCS_SYSV=-DIPCS_SYSV ac_configure_args="$ac_configure_args --without-readline \ --without-cairo --disable-shared --enable-static \ --enable-threads \ @@ -1105,8 +1130,6 @@ case $OS in fi; EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= - SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES - IPCS_SYSV=-DIPCS_SYSV ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \ CFLAGS=\"$CFLAGS\" CXXFLAGS=\"$CXXFLAGS\" \ @@ -1119,13 +1142,6 @@ case $OS in SunOS) EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= - SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES - - if test $IPCS_SYSV = no; then - IPCS_SYSV=-UIPCS_SYSV - else - IPCS_SYSV=-DIPCS_SYSV - fi ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \ @@ -1140,13 +1156,6 @@ case $OS in NetBSD) EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= - SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES - - if test $IPCS_SYSV = no; then - IPCS_SYSV=-UIPCS_SYSV - else - IPCS_SYSV=-DIPCS_SYSV - fi ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \ @@ -1162,13 +1171,6 @@ case $OS in *) EXPORT_DYNAMIC=-Wl,--export-dynamic NESTED_FUNCTIONS= - SEMAPHORES_NOMMES=-USEMAPHORES_NOMMES - - if test $IPCS_SYSV = no; then - IPCS_SYSV=-UIPCS_SYSV - else - IPCS_SYSV=-DIPCS_SYSV - fi ac_configure_args="$ac_configure_args --with-readline=builtin \ --disable-shared --enable-static --enable-threads \