From 18afa51bd2d75201d0f31a01f3a525e9acbbc6a7 Mon Sep 17 00:00:00 2001 From: eban Date: Mon, 2 Feb 2004 10:37:09 +0000 Subject: * configure.in: backport from 1.9 for Interix. * dln.c (dln_load): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ configure.in | 16 +++++++++------- dln.c | 3 +++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 61c5eaeee4..0eb00b3ba7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Feb 2 19:33:49 2004 WATANABE Hirofumi + + * configure.in: backport from 1.9 for Interix. + + * dln.c (dln_load): ditto. + Mon Feb 2 13:31:51 2004 NAKAMURA Usaku * 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 diff --git a/dln.c b/dln.c index 1dd80c2fe6..8660e9a5ee 100644 --- a/dln.c +++ b/dln.c @@ -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 -- cgit v1.2.3