diff options
Diffstat (limited to 'configure.in')
-rw-r--r-- | configure.in | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/configure.in b/configure.in index 1c3874c204..6f5b89166b 100644 --- a/configure.in +++ b/configure.in @@ -376,9 +376,11 @@ if test "$with_dln_a_out" != yes; then linux*) LDSHARED="gcc -shared" rb_cv_dlopen=yes ;; freebsd*) LDSHARED="gcc -shared" - if test -x /usr/bin/objformat -a \ - `/usr/bin/objformat` = "elf" ; then + if test -x /usr/bin/objformat && \ + test `/usr/bin/objformat` = "elf" ; then LDFLAGS="-rdynamic" + else + test "$GCC" = yes && `$CC --print-prog-name=ld` -v 2>&1 | grep "GNU ld" > /dev/null || LDSHARED="ld -Bshareable" fi rb_cv_dlopen=yes ;; netbsd*) LDSHARED="ld -Bshareable" @@ -409,11 +411,15 @@ if test "$with_dln_a_out" != yes; then human*) DLDFLAGS='' LDSHARED='' LDFLAGS='' ;; - beos*) LDSHARED="ld -xms" - case "$host_cpu" in + beos*) case "$host_cpu" in powerpc*) + LDSHARED="ld -xms" DLDFLAGS="-f ruby.exp -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o" ;; + i586*) + LDSHARED="ld -shared" + DLDFLAGS="-L/boot/develop/lib/x86 -lbe -lroot" + ;; *) DLDFLAGS="ruby.def -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o" ;; @@ -576,7 +582,6 @@ LIBRUBY='libruby.a' LIBRUBYARG='libruby.a' SOLIBS= if test "$host_os" = "beos"; then - CFLAGS="$CFLAGS -relax_pointers" LIBRUBY='libruby.so' LIBRUBYARG='-lruby' SOLIBS='-lnet' @@ -584,6 +589,10 @@ if test "$host_os" = "beos"; then case "$host_cpu" in powerpc*) cp beos/ruby.def.in ruby.exp + CFLAGS="$CFLAGS -relax_pointers" + ;; + i586*) + LDFLAGS="$LDFLAGS -L." ;; *) echo EXPORTS > ruby.def @@ -612,6 +621,7 @@ case "$host_os" in esac +AC_SUBST(RUBY_INSTALL_NAME) AC_SUBST(LIBRUBY) AC_SUBST(LIBRUBYARG) AC_SUBST(SOLIBS) |