diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | configure.in | 16 | ||||
-rw-r--r-- | dln.c | 3 |
3 files changed, 18 insertions, 7 deletions
@@ -1,3 +1,9 @@ +Mon Feb 2 19:33:49 2004 WATANABE Hirofumi <eban@ruby-lang.org> + + * configure.in: backport from 1.9 for Interix. + + * dln.c (dln_load): ditto. + Mon Feb 2 13:31:51 2004 NAKAMURA Usaku <usa@ruby-lang.org> * lib/net/http.rb (canonical_each): fix merge miss. diff --git a/configure.in b/configure.in index 9a2416c75c..be32dca473 100644 --- a/configure.in +++ b/configure.in @@ -811,13 +811,7 @@ if test "$with_dln_a_out" != yes; then openstep*) CCDLFLAGS="$CCDLFLAGS -fno-common";; rhapsody*) CCDLFLAGS="$CCDLFLAGS -fno-common";; darwin*) CCDLFLAGS="$CCDLFLAGS -fno-common";; - human*) ;; - bsdi*) ;; - beos*) ;; - cygwin*) ;; - mingw*) ;; - aix*) ;; - netbsd*) CCDLFLAGS="$CCDLFLAGS -fPIC";; + human*|bsdi*|beos*|cygwin*|mingw*|aix*|interix*) ;; *) CCDLFLAGS="$CCDLFLAGS -fPIC";; esac else @@ -859,6 +853,11 @@ if test "$with_dln_a_out" != yes; then rb_cv_dlopen=yes ;; linux*) : ${LDSHARED="$CC -shared"} rb_cv_dlopen=yes ;; + interix*) : ${LDSHARED="$CC -shared"} + XLDFLAGS="$XLDFLAGS -Wl,-E" + LIBPATHFLAG=" -L'%1\$-s'" + RPATHFLAG=" -Wl,-R'%1\$-s'" + rb_cv_dlopen=yes ;; gnu*) : ${LDSHARED="$CC -shared"} rb_cv_dlopen=yes LDFLAGS="$LDFLAGS -rdynamic" ;; @@ -1216,6 +1215,9 @@ if test "$enable_shared" = 'yes'; then LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)' LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so' ;; + interix*) + LIBRUBYARG_SHARED='-Wl,-R -Wl,${libdir} -L${libdir} -L. -l$(RUBY_SO_NAME)' + ;; *) ;; esac @@ -1318,6 +1318,9 @@ dln_load(file) #ifndef RTLD_LAZY # define RTLD_LAZY 1 #endif +#ifdef __INTERIX +# undef RTLD_GLOBAL +#endif #ifndef RTLD_GLOBAL # define RTLD_GLOBAL 0 #endif |