summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in20
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)