mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* 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:
parent
2ed9c79bbb
commit
286cddd445
3 changed files with 43 additions and 2 deletions
12
ChangeLog
12
ChangeLog
|
@ -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>
|
||||
|
||||
* win32/win32.c: use ruby's opendir on mingw32.
|
||||
|
|
|
@ -22,6 +22,7 @@ MISSING = @LIBOBJS@ @ALLOCA@
|
|||
LDSHARED = @LIBRUBY_LDSHARED@
|
||||
DLDFLAGS = @LIBRUBY_DLDFLAGS@
|
||||
SOLIBS = @SOLIBS@
|
||||
MAINLIBS = @MAINLIBS@
|
||||
|
||||
RUBY_INSTALL_NAME=@RUBY_INSTALL_NAME@
|
||||
RUBY_SO_NAME=@RUBY_SO_NAME@
|
||||
|
@ -91,7 +92,7 @@ miniruby$(EXEEXT): config.status $(LIBRUBY_A) $(MAINOBJ) dmyext.@OBJEXT@
|
|||
|
||||
$(PROGRAM): $(LIBRUBY) $(MAINOBJ) $(EXTOBJS)
|
||||
@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@
|
||||
@AR@ rcu $@ $(OBJS) dmyext.@OBJEXT@
|
||||
|
|
30
configure.in
30
configure.in
|
@ -184,6 +184,14 @@ done])
|
|||
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.
|
||||
case "$target_os" in
|
||||
nextstep*) ;;
|
||||
|
@ -223,6 +231,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
|
||||
|
@ -442,7 +469,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
|
||||
|
@ -963,6 +990,7 @@ AC_SUBST(LIBRUBYARG)
|
|||
AC_SUBST(SOLIBS)
|
||||
AC_SUBST(DLDLIBS)
|
||||
AC_SUBST(ENABLE_SHARED)
|
||||
AC_SUBST(MAINLIBS)
|
||||
|
||||
ri_prefix=
|
||||
test "$program_prefix" != NONE &&
|
||||
|
|
Loading…
Reference in a new issue