]
)
if test "$guile_cv_header_libc_with_unistd" = yes; then
- AC_DEFINE(LIBC_H_WITH_UNISTD_H, 1,
+ AC_DEFINE([LIBC_H_WITH_UNISTD_H], 1,
[Define this if we should include <libc.h> when we've already
included <unistd.h>. On some systems, they conflict, and libc.h
should be omitted. See GUILE_HEADER_LIBC_WITH_UNISTD in
done
AC_MSG_RESULT($attr_name)
if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then
- AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name,
+ AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], $attr_name,
[Define to necessary symbol if this constant
uses a non-standard name on your system.])
fi
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
if test x"$acx_pthread_ok" = xyes; then
- ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
+ ifelse([$1],,AC_DEFINE([HAVE_PTHREAD],1,[Define if you have POSIX threads libraries and header files.]),[$1])
:
else
acx_pthread_ok=no
AC_DEFUN([GUILE_THREAD_LOCAL_STORAGE], [
AC_CACHE_CHECK([whether the `__thread' storage class is available],
[ac_cv_have_thread_storage_class],
- [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([__thread int tls_integer;],
+ [dnl On some systems, e.g., NetBSD 5.0 with GCC 4.1, `__thread' is
+ dnl properly compiled but fails to link due to the lack of TLS
+ dnl support in the C library. Thus we try to link, not just
+ dnl compile. Unfortunately, this test is not enough, so we
+ dnl explicitly check for known-broken systems. See
+ dnl http://lists.gnu.org/archive/html/guile-devel/2009-10/msg00138.html
+ dnl for details.
+ dnl
+ dnl Known broken systems includes:
+ dnl - x86_64-unknown-netbsd5.0.
+ dnl - sparc-sun-solaris2.8
+ case "x$enable_shared--$host" in
+ xyes--*netbsd[0-5].[0-9].|xyes--*solaris2.8)
+ ac_cv_have_thread_storage_class="no"
+ ;;
+ *)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([__thread int tls_integer;],
[tls_integer = 123;])],
- [ac_cv_have_thread_storage_class="yes"],
- [ac_cv_have_thread_storage_class="no"])])
+ [ac_cv_have_thread_storage_class="yes"],
+ [ac_cv_have_thread_storage_class="no"])
+ ;;
+ esac])
if test "x$ac_cv_have_thread_storage_class" = "xyes"; then
SCM_I_GSC_HAVE_THREAD_STORAGE_CLASS=1