* 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/trunk@1297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
knu 2001-04-01 16:53:41 +00:00
Родитель 2ed9c79bbb
Коммит 286cddd445
3 изменённых файлов: 43 добавлений и 2 удалений

Просмотреть файл

@ -1,3 +1,15 @@
Mon Apr 2 01:32:38 2001 Akinori MUSHA <knu@iDaemons.org>
* 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.
Mon Apr 2 01:16:24 2001 WATANABE Hirofumi <eban@ruby-lang.org> Mon Apr 2 01:16:24 2001 WATANABE Hirofumi <eban@ruby-lang.org>
* win32/win32.c: use ruby's opendir on mingw32. * win32/win32.c: use ruby's opendir on mingw32.

Просмотреть файл

@ -22,6 +22,7 @@ MISSING = @LIBOBJS@ @ALLOCA@
LDSHARED = @LIBRUBY_LDSHARED@ LDSHARED = @LIBRUBY_LDSHARED@
DLDFLAGS = @LIBRUBY_DLDFLAGS@ DLDFLAGS = @LIBRUBY_DLDFLAGS@
SOLIBS = @SOLIBS@ SOLIBS = @SOLIBS@
MAINLIBS = @MAINLIBS@
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@ RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
RUBY_SO_NAME=@RUBY_SO_NAME@ RUBY_SO_NAME=@RUBY_SO_NAME@
@ -91,7 +92,7 @@ miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) dmyext.@OBJEXT@
$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(EXTOBJS) $(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(EXTOBJS)
@rm -f $@ @rm -f $@
$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@ $(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@
$(LIBRUBY_A): $(OBJS) dmyext.@OBJEXT@ $(LIBRUBY_A): $(OBJS) dmyext.@OBJEXT@
@AR@ rcu $@ $(OBJS) dmyext.@OBJEXT@ @AR@ rcu $@ $(OBJS) dmyext.@OBJEXT@

Просмотреть файл

@ -184,6 +184,14 @@ done])
AC_DEFINE_UNQUOTED([NORETURN(x)], $rb_cv_noreturn) AC_DEFINE_UNQUOTED([NORETURN(x)], $rb_cv_noreturn)
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. dnl Checks for libraries.
case "$target_os" in case "$target_os" in
nextstep*) ;; nextstep*) ;;
@ -223,6 +231,25 @@ freebsd*) LIBS="-lm $LIBS"
if test "$rb_cv_lib_xpg4_needed" = yes; then if test "$rb_cv_lib_xpg4_needed" = yes; then
AC_CHECK_LIB(xpg4, setlocale) AC_CHECK_LIB(xpg4, setlocale)
fi 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";; *) LIBS="-lm $LIBS";;
esac esac
@ -442,7 +469,7 @@ AC_ARG_WITH(default-kcode,
esac]) esac])
AC_DEFINE_UNQUOTED(DEFAULT_KCODE, $DEFAULT_KCODE) 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, AC_ARG_WITH(dln-a-out,
[--with-dln-a-out use dln_a_out if possible], [ [--with-dln-a-out use dln_a_out if possible], [
case $withval in case $withval in
@ -963,6 +990,7 @@ AC_SUBST(LIBRUBYARG)
AC_SUBST(SOLIBS) AC_SUBST(SOLIBS)
AC_SUBST(DLDLIBS) AC_SUBST(DLDLIBS)
AC_SUBST(ENABLE_SHARED) AC_SUBST(ENABLE_SHARED)
AC_SUBST(MAINLIBS)
ri_prefix= ri_prefix=
test "$program_prefix" != NONE && test "$program_prefix" != NONE &&