summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-04-03 06:30:33 +0000
committerknu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2001-04-03 06:30:33 +0000
commit2c29a1c0e9ab81f993e2391a80c2c12cdca458dd (patch)
tree0d557b12eac41b2c45fad5c136ff8defa958b337 /configure.in
parent2b1863a18b66b2bbfdfad5ec3b6fc12bc9d1cdca (diff)
* Makefile.in: Introduce MAINLIBS.
* configure.in: Link libc_r against the ruby executable on FreeBSD, which is the first attempt to work around a certain problem regarding pthread on FreeBSD. It should make ruby/libruby happy when it loads an extention to a library compiled and linked with -pthread. Note, however, that libruby is _not_ linked with libc_r so as not to mess up pthread unfriendly stuff including apache+mod_ruby and vim6+ruby_interp. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@1306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in30
1 files changed, 29 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index a63ee72fd4..094098861d 100644
--- a/configure.in
+++ b/configure.in
@@ -169,6 +169,14 @@ if test "$rb_cv_have_attr_noreturn" = yes; then
AC_DEFINE(HAVE_ATTR_NORETURN)
fi
+dnl wheather link libc_r or not
+AC_ARG_WITH(libc_r,
+ [--with-libc_r link libc_r if possible (FreeBSD only)], [
+ case $withval in
+ yes) with_libc_r=yes;;
+ *) with_libc_r=no;;
+ esac], [with_libc_r=yes])
+
dnl Checks for libraries.
case "$target_os" in
nextstep*) ;;
@@ -208,6 +216,25 @@ freebsd*) LIBS="-lm $LIBS"
if test "$rb_cv_lib_xpg4_needed" = yes; then
AC_CHECK_LIB(xpg4, setlocale)
fi
+ if test "$with_libc_r" = yes; then
+ AC_CACHE_CHECK([whether libc_r is supplementary to libc],
+ rb_cv_supplementary_lib_c_r,
+ [AC_TRY_CPP([
+#include <osreldate.h>
+#if 500016 <= __FreeBSD_version
+#error libc_r is supplementary to libc
+#endif
+ ],
+ rb_cv_supplementary_lib_c_r=no,
+ rb_cv_supplementary_lib_c_r=yes,
+ rb_cv_supplementary_lib_c_r=yes)])
+ if test "$rb_cv_supplementary_lib_c_r" = yes; then
+ MAINLIBS="-lc_r $MAINLIBS"
+ else
+ MAINLIBS="-pthread $MAINLIBS"
+ CFLAGS="-D_THREAD_SAFE $CFLAGS"
+ fi
+ fi
;;
*) LIBS="-lm $LIBS";;
esac
@@ -389,7 +416,7 @@ AC_ARG_WITH(default-kcode,
esac])
AC_DEFINE_UNQUOTED(DEFAULT_KCODE, $DEFAULT_KCODE)
-dnl wheather use dln_a_out ot not
+dnl wheather use dln_a_out or not
AC_ARG_WITH(dln-a-out,
[--with-dln-a-out use dln_a_out if possible], [
case $withval in
@@ -910,6 +937,7 @@ AC_SUBST(LIBRUBYARG)
AC_SUBST(SOLIBS)
AC_SUBST(DLDLIBS)
AC_SUBST(ENABLE_SHARED)
+AC_SUBST(MAINLIBS)
ri_prefix=
test "$program_prefix" != NONE &&