diff --git a/config.m4 b/config.m4 index 36c25b5..d29a791 100644 --- a/config.m4 +++ b/config.m4 @@ -11,37 +11,51 @@ if test "$PHP_SYNC" != "no"; then SAVED_LIBS="$LIBS" LIBS="$LIBS -pthread -lrt" - AC_TRY_LINK([ - #include - #include - ], [ - int fp = shm_open("", O_RDWR | O_CREAT | O_EXCL, 0666); - ], [ - have_shm_open=yes - AC_MSG_RESULT([yes]) - - PHP_ADD_LIBRARY(rt,,SYNC_SHARED_LIBADD) - PHP_SUBST(SYNC_SHARED_LIBADD) - ], [ - AC_MSG_RESULT([no (attempting fallback)]) - - dnl # Fallback attempt to link without -lrt. - AC_MSG_CHECKING([for shm_open in -pthread]) - - LIBS="$SAVED_LIBS -pthread" - - AC_TRY_LINK([ - #include - #include - ], [ - int fp = shm_open("", O_RDWR | O_CREAT | O_EXCL, 0666); - ], [ + AC_LINK_IFELSE([ + AC_LANG_PROGRAM( + [[ + #include + #include + ]], + [[ + int fp = shm_open("", O_RDWR | O_CREAT | O_EXCL, 0666); + ]] + )], + [ have_shm_open=yes AC_MSG_RESULT([yes]) - ], [ - AC_MSG_ERROR([shm_open() is not available on this platform]) - ]) - ]) + + PHP_ADD_LIBRARY(rt,,SYNC_SHARED_LIBADD) + PHP_SUBST(SYNC_SHARED_LIBADD) + ], + [ + AC_MSG_RESULT([no (attempting fallback)]) + + dnl # Fallback attempt to link without -lrt. + AC_MSG_CHECKING([for shm_open in -pthread]) + + LIBS="$SAVED_LIBS -pthread" + + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ + #include + #include + ]], + [[ + int fp = shm_open("", O_RDWR | O_CREAT | O_EXCL, 0666); + ]] + )], + [ + have_shm_open=yes + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_ERROR([shm_open() is not available on this platform]) + ] + ) + ] + ) dnl # Finish defining the basic extension support. AC_DEFINE(HAVE_SYNC, 1, [Whether you have synchronization object support])