Loading INSTALL +10 −9 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ Installing the software Hardware requirements ===================== PSFEx runs in (ANSI) text-mode from a shell. A window system is SExtractor runs in (ANSI) text-mode from a shell. A window system is not necessary for basic operation. When it comes to memory usage, the amount required by SExtractor depends Loading Loading @@ -75,18 +75,19 @@ locations: $ ./configure Compared to "gcc" and the librairies above, the combination of the Intel compiler ("icc") and the MKL (Math Kernel Library) libraries can give the SExtractor executable a significant boost in performance, thanks to better vectorized code, and reduced memory usage. If "icc" and the MKL (Math Kernel Library) are installed on your system [4], you can take advantage of those using instead Intel compiler ("icc" or "icx") and the MKL (Math Kernel Library) libraries can give the SExtractor executable a significant boost in performance, thanks to better vectorized code, and reduced memory usage. If "icc" (or "icx") and the MKL (Math Kernel Library) are installed on your system [4], you can take advantage of those using instead $ ./configure --enable-mkl Additionally, if the SExtractor binary is to be run on a different machine that does not have "icc" and the MKL (Math Kernel Library) installed (e.g., a cluster computing node), you must configure a partially statically linked executable using machine that does not have "icc" (or "icx") and the MKL installed (e.g., a cluster computing node), you must configure a partially statically linked executable using $ ./configure --enable-mkl --enable-auto-flags --enable-best-link Loading configure.ac +26 −17 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ # You should have received a copy of the GNU General Public License # along with SExtractor. If not, see <http://www.gnu.org/licenses/>. # # Last modified: 11/03/2022 # Last modified: 16/09/2022 # #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Loading @@ -31,8 +31,8 @@ define([AC_CACHE_LOAD],) define([AC_CACHE_SAVE],) # This is your standard AstrOmatic source code... AC_INIT(SExtractor, 2.27.0, [astromatic@astromatic.net], sextractor, [http://astromatic.net/software/sextractor]) AC_INIT([SExtractor],[2.27.0],[astromatic@astromatic.iap.fr], [sextractor],[http://astromatic.net/software/sextractor]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR(autoconf) AC_CONFIG_SRCDIR(src/makeit.c) Loading Loading @@ -80,24 +80,38 @@ AC_ARG_ENABLE(auto-flags, AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) # Provide special option for the Linux Intel C "classic" compiler AC_MSG_CHECKING([whether the classic INTEL compiler is enabled]) AC_ARG_ENABLE(icc, [AS_HELP_STRING([--enable-icc], [Use the Intel compiler (default = no)])], CC="icc" enable_iccx="yes" AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) # Provide special option for the Linux Intel OneAPI C compiler AC_MSG_CHECKING([whether the INTEL compiler is enabled]) AC_ARG_ENABLE(icx, [AS_HELP_STRING([--enable-icx], [Use the Intel compiler (default = no)])], CC="icx" enable_iccx="yes" AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) # Provide special options for INTEL MKL # We force the use of icx # We use icc if available, if not Intel OneAPI's icx # (we don't use AC_PROG_CC as it does not play nice # in a conditional block) AC_MSG_CHECKING([whether INTEL's MKL is enabled]) AC_ARG_ENABLE(mkl, [AS_HELP_STRING([--enable-mkl], [Use INTEL's MKL for solvers and FFTs (default = no)])], enable_icx="yes" CC="icx" AC_MSG_RESULT([yes]), AC_MSG_RESULT([yes]) CC="" [AC_CHECK_PROGS(CC, [icc icx cc])] enable_iccx="yes", AC_MSG_RESULT([no])) # Checks for programs. Loading @@ -116,11 +130,10 @@ AC_PROG_INSTALL AC_CHECK_LIB(m, sin) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/mman.h \ sys/types.h unistd.h]) # Checks for INTEL math header files. if test "$enable_icx" = "yes"; then if test "$enable_iccx" = "yes"; then AC_CHECK_HEADERS(mathimf.h) fi Loading @@ -136,7 +149,6 @@ AC_TYPE_UID_T # Checks for library functions. AC_FUNC_ERROR_AT_LINE AC_FUNC_MMAP AC_TYPE_SIGNAL AC_FUNC_STAT AC_FUNC_STRFTIME AC_CHECK_FUNCS([atexit getenv gettimeofday isinf isnan logf memcpy memmove \ Loading Loading @@ -241,7 +253,7 @@ use_pthreads="no" AC_MSG_CHECKING([for profiler mode]) AC_ARG_ENABLE(profiling, [AS_HELP_STRING([--enable-profiling], [Enable special mode for profiling (default = no)])] [Enable special mode for profiling (default = no)])], AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) Loading Loading @@ -275,10 +287,7 @@ if test "$enable_model_fitting" != "no"; then if test "$enable_mkl" = "yes"; then convlibs="${srcdir}/wcs/libwcs_c.a,${srcdir}/levmar/liblevmar.a" ACX_MKL($with_mkl_dir,,$enable_best_link,$convlibs) if test "$MKL_WARN" == ""; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) if test "$MKL_WARN" != ""; then AC_MSG_WARN([$MKL_WARN]) fi AM_CFLAGS="$AM_CFLAGS $MKL_CFLAGS " Loading Loading @@ -338,7 +347,7 @@ AM_CONDITIONAL(USE_MODEL, [test "$enable_model_fitting" != "no"]) # Compile with profiling option if test "$enable_profiling" = "yes"; then if test "$enable_icx" = "yes"; then if test "$enable_iccx" = "yes"; then AM_CFLAGS="$AM_CFLAGS -pq" else AM_CFLAGS="$AM_CFLAGS -pg" Loading @@ -348,7 +357,7 @@ fi # "Best" linking option if test "$enable_best_link" = "yes"; then if test "$enable_icx" = "yes"; then if test "$enable_iccx" = "yes"; then AM_LDFLAGS="-static-intel -qopenmp-link=static -shared-libgcc \ -static-libtool-libs -avoid-version $AM_LDFLAGS" else Loading doc/src/conf.py +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = 'Wed Sep 07 2022' today = 'Fri Sep 16 2022' # # Else, today_fmt is used as the format for a strftime call. # Loading m4/acx_mkl.m4 +5 −5 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl dnl This file part of: AstrOmatic software dnl dnl Copyright: (C) 2003-2016 IAP/CNRS/UPMC dnl Copyright: (C) 2003-2022 IAP/CNRS/SorbonneU dnl dnl License: GNU General Public License dnl Loading @@ -23,7 +23,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with AstrOmatic software. dnl If not, see <http://www.gnu.org/licenses/>. dnl dnl Last modified: 16/03/2016 dnl Last modified: 15/09/2022 dnl dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl Loading Loading @@ -73,11 +73,11 @@ dnl Set architecture flags dnl ---------------------- dnl check if INTEL compiler is present icc -V 2>&1 | grep -i "Intel" > /dev/null 2>&1 && flagicc=yes $CC -V 2>&1 | grep -i "Intel" > /dev/null 2>&1 && flagicc=yes dnl check if INTEL compiler uses x86_64 architecture icc -V 2>&1 | grep -i "Intel(R) 64" > /dev/null 2>&1 && flag64=yes $CC -V 2>&1 | grep -i "Intel(R) 64" > /dev/null 2>&1 && flag64=yes dnl check if the platform is OSX icc -dumpmachine 2>&1 | grep -i "darwin" > /dev/null 2>&1 && flagosx=yes $CC -dumpmachine 2>&1 | grep -i "darwin" > /dev/null 2>&1 && flagosx=yes dnl ---------------------- dnl Exit if INTEL compiler is not found Loading m4/acx_pthread.m4 +9 −9 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl dnl This file part of: AstrOmatic software dnl dnl Copyright: (C) 2002-2010 Emmanuel Bertin -- IAP/CNRS/UPMC dnl Copyright: (C) 2002-2022 Emmanuel Bertin -- IAP/CNRS/SorbonneU dnl (C) 2001 Steven G. Johnson (original version) dnl dnl Licenses: GPL (this version) Loading @@ -25,7 +25,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with AstrOmatic software. dnl If not, see <http://www.gnu.org/licenses/>. dnl dnl Last modified: 09/10/2010 dnl Last modified: 15/09/2022 dnl dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl Loading Loading @@ -88,7 +88,7 @@ if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) AC_LINK_IFELSE([AC_LANG_CALL([], pthread_join)], acx_pthread_ok=yes) AC_MSG_RESULT($acx_pthread_ok) if test x"$acx_pthread_ok" = xno; then PTHREAD_LIBS="" Loading Loading @@ -170,10 +170,10 @@ for flag in $acx_pthread_flags; do # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. AC_TRY_LINK([#include <pthread.h>], AC_LINK_IFELSE([AC_LANG_CALL([#include <pthread.h>], [pthread_t th; pthread_join(th, 0); pthread_attr_init(0); pthread_cleanup_push(0, 0); pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], pthread_create(0,0,0,0); pthread_cleanup_pop(0); ])], [acx_pthread_ok=yes]) LIBS="$save_LIBS" Loading @@ -199,12 +199,12 @@ if test "x$acx_pthread_ok" = xyes; then # Detect AIX lossage: threads are created detached by default # and the JOINABLE attribute has a nonstandard name (UNDETACHED). AC_MSG_CHECKING([for joinable pthread attribute]) AC_TRY_LINK([#include <pthread.h>], [int attr=PTHREAD_CREATE_JOINABLE;], AC_LINK_IFELSE([AC_LANG_CALL([#include <pthread.h>], [int attr=PTHREAD_CREATE_JOINABLE;])], ok=PTHREAD_CREATE_JOINABLE, ok=unknown) if test x"$ok" = xunknown; then AC_TRY_LINK([#include <pthread.h>], [int attr=PTHREAD_CREATE_UNDETACHED;], AC_LINK_IFELSE([AC_LANG_CALL([#include <pthread.h>], [int attr=PTHREAD_CREATE_UNDETACHED;])], ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) fi if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then Loading Loading
INSTALL +10 −9 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ Installing the software Hardware requirements ===================== PSFEx runs in (ANSI) text-mode from a shell. A window system is SExtractor runs in (ANSI) text-mode from a shell. A window system is not necessary for basic operation. When it comes to memory usage, the amount required by SExtractor depends Loading Loading @@ -75,18 +75,19 @@ locations: $ ./configure Compared to "gcc" and the librairies above, the combination of the Intel compiler ("icc") and the MKL (Math Kernel Library) libraries can give the SExtractor executable a significant boost in performance, thanks to better vectorized code, and reduced memory usage. If "icc" and the MKL (Math Kernel Library) are installed on your system [4], you can take advantage of those using instead Intel compiler ("icc" or "icx") and the MKL (Math Kernel Library) libraries can give the SExtractor executable a significant boost in performance, thanks to better vectorized code, and reduced memory usage. If "icc" (or "icx") and the MKL (Math Kernel Library) are installed on your system [4], you can take advantage of those using instead $ ./configure --enable-mkl Additionally, if the SExtractor binary is to be run on a different machine that does not have "icc" and the MKL (Math Kernel Library) installed (e.g., a cluster computing node), you must configure a partially statically linked executable using machine that does not have "icc" (or "icx") and the MKL installed (e.g., a cluster computing node), you must configure a partially statically linked executable using $ ./configure --enable-mkl --enable-auto-flags --enable-best-link Loading
configure.ac +26 −17 Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ # You should have received a copy of the GNU General Public License # along with SExtractor. If not, see <http://www.gnu.org/licenses/>. # # Last modified: 11/03/2022 # Last modified: 16/09/2022 # #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Loading @@ -31,8 +31,8 @@ define([AC_CACHE_LOAD],) define([AC_CACHE_SAVE],) # This is your standard AstrOmatic source code... AC_INIT(SExtractor, 2.27.0, [astromatic@astromatic.net], sextractor, [http://astromatic.net/software/sextractor]) AC_INIT([SExtractor],[2.27.0],[astromatic@astromatic.iap.fr], [sextractor],[http://astromatic.net/software/sextractor]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR(autoconf) AC_CONFIG_SRCDIR(src/makeit.c) Loading Loading @@ -80,24 +80,38 @@ AC_ARG_ENABLE(auto-flags, AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) # Provide special option for the Linux Intel C "classic" compiler AC_MSG_CHECKING([whether the classic INTEL compiler is enabled]) AC_ARG_ENABLE(icc, [AS_HELP_STRING([--enable-icc], [Use the Intel compiler (default = no)])], CC="icc" enable_iccx="yes" AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) # Provide special option for the Linux Intel OneAPI C compiler AC_MSG_CHECKING([whether the INTEL compiler is enabled]) AC_ARG_ENABLE(icx, [AS_HELP_STRING([--enable-icx], [Use the Intel compiler (default = no)])], CC="icx" enable_iccx="yes" AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) # Provide special options for INTEL MKL # We force the use of icx # We use icc if available, if not Intel OneAPI's icx # (we don't use AC_PROG_CC as it does not play nice # in a conditional block) AC_MSG_CHECKING([whether INTEL's MKL is enabled]) AC_ARG_ENABLE(mkl, [AS_HELP_STRING([--enable-mkl], [Use INTEL's MKL for solvers and FFTs (default = no)])], enable_icx="yes" CC="icx" AC_MSG_RESULT([yes]), AC_MSG_RESULT([yes]) CC="" [AC_CHECK_PROGS(CC, [icc icx cc])] enable_iccx="yes", AC_MSG_RESULT([no])) # Checks for programs. Loading @@ -116,11 +130,10 @@ AC_PROG_INSTALL AC_CHECK_LIB(m, sin) # Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/mman.h \ sys/types.h unistd.h]) # Checks for INTEL math header files. if test "$enable_icx" = "yes"; then if test "$enable_iccx" = "yes"; then AC_CHECK_HEADERS(mathimf.h) fi Loading @@ -136,7 +149,6 @@ AC_TYPE_UID_T # Checks for library functions. AC_FUNC_ERROR_AT_LINE AC_FUNC_MMAP AC_TYPE_SIGNAL AC_FUNC_STAT AC_FUNC_STRFTIME AC_CHECK_FUNCS([atexit getenv gettimeofday isinf isnan logf memcpy memmove \ Loading Loading @@ -241,7 +253,7 @@ use_pthreads="no" AC_MSG_CHECKING([for profiler mode]) AC_ARG_ENABLE(profiling, [AS_HELP_STRING([--enable-profiling], [Enable special mode for profiling (default = no)])] [Enable special mode for profiling (default = no)])], AC_MSG_RESULT([yes]), AC_MSG_RESULT([no])) Loading Loading @@ -275,10 +287,7 @@ if test "$enable_model_fitting" != "no"; then if test "$enable_mkl" = "yes"; then convlibs="${srcdir}/wcs/libwcs_c.a,${srcdir}/levmar/liblevmar.a" ACX_MKL($with_mkl_dir,,$enable_best_link,$convlibs) if test "$MKL_WARN" == ""; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) if test "$MKL_WARN" != ""; then AC_MSG_WARN([$MKL_WARN]) fi AM_CFLAGS="$AM_CFLAGS $MKL_CFLAGS " Loading Loading @@ -338,7 +347,7 @@ AM_CONDITIONAL(USE_MODEL, [test "$enable_model_fitting" != "no"]) # Compile with profiling option if test "$enable_profiling" = "yes"; then if test "$enable_icx" = "yes"; then if test "$enable_iccx" = "yes"; then AM_CFLAGS="$AM_CFLAGS -pq" else AM_CFLAGS="$AM_CFLAGS -pg" Loading @@ -348,7 +357,7 @@ fi # "Best" linking option if test "$enable_best_link" = "yes"; then if test "$enable_icx" = "yes"; then if test "$enable_iccx" = "yes"; then AM_LDFLAGS="-static-intel -qopenmp-link=static -shared-libgcc \ -static-libtool-libs -avoid-version $AM_LDFLAGS" else Loading
doc/src/conf.py +1 −1 Original line number Diff line number Diff line Loading @@ -81,7 +81,7 @@ language = None # There are two options for replacing |today|: either, you set today to some # non-false value, then it is used: # today = 'Wed Sep 07 2022' today = 'Fri Sep 16 2022' # # Else, today_fmt is used as the format for a strftime call. # Loading
m4/acx_mkl.m4 +5 −5 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl dnl This file part of: AstrOmatic software dnl dnl Copyright: (C) 2003-2016 IAP/CNRS/UPMC dnl Copyright: (C) 2003-2022 IAP/CNRS/SorbonneU dnl dnl License: GNU General Public License dnl Loading @@ -23,7 +23,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with AstrOmatic software. dnl If not, see <http://www.gnu.org/licenses/>. dnl dnl Last modified: 16/03/2016 dnl Last modified: 15/09/2022 dnl dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl Loading Loading @@ -73,11 +73,11 @@ dnl Set architecture flags dnl ---------------------- dnl check if INTEL compiler is present icc -V 2>&1 | grep -i "Intel" > /dev/null 2>&1 && flagicc=yes $CC -V 2>&1 | grep -i "Intel" > /dev/null 2>&1 && flagicc=yes dnl check if INTEL compiler uses x86_64 architecture icc -V 2>&1 | grep -i "Intel(R) 64" > /dev/null 2>&1 && flag64=yes $CC -V 2>&1 | grep -i "Intel(R) 64" > /dev/null 2>&1 && flag64=yes dnl check if the platform is OSX icc -dumpmachine 2>&1 | grep -i "darwin" > /dev/null 2>&1 && flagosx=yes $CC -dumpmachine 2>&1 | grep -i "darwin" > /dev/null 2>&1 && flagosx=yes dnl ---------------------- dnl Exit if INTEL compiler is not found Loading
m4/acx_pthread.m4 +9 −9 Original line number Diff line number Diff line Loading @@ -7,7 +7,7 @@ dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl dnl This file part of: AstrOmatic software dnl dnl Copyright: (C) 2002-2010 Emmanuel Bertin -- IAP/CNRS/UPMC dnl Copyright: (C) 2002-2022 Emmanuel Bertin -- IAP/CNRS/SorbonneU dnl (C) 2001 Steven G. Johnson (original version) dnl dnl Licenses: GPL (this version) Loading @@ -25,7 +25,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with AstrOmatic software. dnl If not, see <http://www.gnu.org/licenses/>. dnl dnl Last modified: 09/10/2010 dnl Last modified: 15/09/2022 dnl dnl %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% dnl Loading Loading @@ -88,7 +88,7 @@ if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) AC_TRY_LINK_FUNC(pthread_join, acx_pthread_ok=yes) AC_LINK_IFELSE([AC_LANG_CALL([], pthread_join)], acx_pthread_ok=yes) AC_MSG_RESULT($acx_pthread_ok) if test x"$acx_pthread_ok" = xno; then PTHREAD_LIBS="" Loading Loading @@ -170,10 +170,10 @@ for flag in $acx_pthread_flags; do # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. AC_TRY_LINK([#include <pthread.h>], AC_LINK_IFELSE([AC_LANG_CALL([#include <pthread.h>], [pthread_t th; pthread_join(th, 0); pthread_attr_init(0); pthread_cleanup_push(0, 0); pthread_create(0,0,0,0); pthread_cleanup_pop(0); ], pthread_create(0,0,0,0); pthread_cleanup_pop(0); ])], [acx_pthread_ok=yes]) LIBS="$save_LIBS" Loading @@ -199,12 +199,12 @@ if test "x$acx_pthread_ok" = xyes; then # Detect AIX lossage: threads are created detached by default # and the JOINABLE attribute has a nonstandard name (UNDETACHED). AC_MSG_CHECKING([for joinable pthread attribute]) AC_TRY_LINK([#include <pthread.h>], [int attr=PTHREAD_CREATE_JOINABLE;], AC_LINK_IFELSE([AC_LANG_CALL([#include <pthread.h>], [int attr=PTHREAD_CREATE_JOINABLE;])], ok=PTHREAD_CREATE_JOINABLE, ok=unknown) if test x"$ok" = xunknown; then AC_TRY_LINK([#include <pthread.h>], [int attr=PTHREAD_CREATE_UNDETACHED;], AC_LINK_IFELSE([AC_LANG_CALL([#include <pthread.h>], [int attr=PTHREAD_CREATE_UNDETACHED;])], ok=PTHREAD_CREATE_UNDETACHED, ok=unknown) fi if test x"$ok" != xPTHREAD_CREATE_JOINABLE; then Loading