summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--bcc32/Makefile.sub1
-rw-r--r--configure.in5
-rw-r--r--lib/mkmf.rb5
-rw-r--r--win32/Makefile.sub1
-rw-r--r--wince/Makefile.sub1
6 files changed, 18 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 6343a87f57..4472a13431 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri Oct 31 12:55:24 2003 WATANABE Hirofumi <eban@ruby-lang.org>
+
+ * configure.in, lib/mkmf.rb: add RPATHFLAG for NetBSD.
+ [ruby-dev:21791]
+
+ * bcc32/Makefile.sub, win32/Makefile.sub, win32/Makefile.sub: ditto.
+
Fri Oct 31 01:38:14 2003 NAKAMURA Usaku <usa@ruby-lang.org>
* wince/Makefile.sub, win32/Makefile.sub (.y.c): allow white spaces
diff --git a/bcc32/Makefile.sub b/bcc32/Makefile.sub
index f3f36f7fdb..04942ca891 100644
--- a/bcc32/Makefile.sub
+++ b/bcc32/Makefile.sub
@@ -378,6 +378,7 @@ s,@ENABLE_SHARED@,yes,;t t
s,@OUTFLAG@,-o,;t t
s,@CPPOUTFILE@,,;t t
s,@LIBPATHFLAG@, -L%s,;t t
+s,@RPATHFLAG@,,;t t
s,@LIBARG@,%s.lib,;t t
s,@LINK_SO@,$$(LDSHARED) $$(DLDFLAGS) $$(LIBPATH) $$(OBJS), $$@, nul, $$(LIBS) $$(LOCAL_LIBS), $$(DEFFILE), $$(RESFILE),;t t
s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c $$(<:/=\),;t t
diff --git a/configure.in b/configure.in
index e4356d9a65..e1380f9b3b 100644
--- a/configure.in
+++ b/configure.in
@@ -742,6 +742,7 @@ AC_SUBST(LIBEXT)dnl
STATIC=
LIBPATHFLAG=' -L%s'
+PATHFLAG=''
if test "$with_dln_a_out" != yes; then
rb_cv_dlopen=unknown
@@ -814,7 +815,8 @@ if test "$with_dln_a_out" != yes; then
netbsd*) LDSHARED='${CC} -shared'
if test "$rb_cv_binary_elf" = yes; then
LDFLAGS="-Wl,-export-dynamic"
- LIBPATHFLAG=' -L%1$-s -Wl,-R%1$-s'
+ LIBPATHFLAG=' -L%1$-s'
+ RPATHFLAG=' -Wl,-R%1$-s'
fi
rb_cv_dlopen=yes ;;
openbsd*) LDSHARED="\$(CC) -shared ${CCDLFLAGS}"
@@ -887,6 +889,7 @@ if test "$with_dln_a_out" != yes; then
fi
AC_SUBST(LINK_SO)
AC_SUBST(LIBPATHFLAG)
+AC_SUBST(RPATHFLAG)
dln_a_out_works=no
if test "$ac_cv_header_a_out_h" = yes; then
diff --git a/lib/mkmf.rb b/lib/mkmf.rb
index b0a719e86e..4628cb51c0 100644
--- a/lib/mkmf.rb
+++ b/lib/mkmf.rb
@@ -232,7 +232,9 @@ def cpp_command(outfile, opt="")
end
def libpathflag(libpath=$LIBPATH)
- libpath.map{|x| LIBPATHFLAG % %["#{x}"]}.join
+ libpath.map{|x|
+ (x == "$(topdir)" ? LIBPATHFLAG : LIBPATHFLAG+RPATHFLAG) % %["#{x}"]
+ }.join
end
def try_link0(src, opt="", &b)
@@ -1020,6 +1022,7 @@ LINK_SO = config_string('LINK_SO') ||
"$(OBJS) $(LOCAL_LIBS) $(LIBS)"
end
LIBPATHFLAG = config_string('LIBPATHFLAG') || ' -L%s'
+RPATHFLAG = config_string('RPATHFLAG') || ''
LIBARG = config_string('LIBARG') || '-l%s'
CLEANINGS = "
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 0922ee2e19..83b8f394a1 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -375,6 +375,7 @@ s,@ENABLE_SHARED@,yes,;t t
s,@OUTFLAG@,-Fe,;t t
s,@CPPOUTFILE@,-P,;t t
s,@LIBPATHFLAG@, -libpath:%s,;t t
+s,@RPATHFLAG@,,;t t
s,@LIBARG@,%s.lib,;t t
s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),;t t
s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t
diff --git a/wince/Makefile.sub b/wince/Makefile.sub
index 5a7178fcba..f77e31cc6f 100644
--- a/wince/Makefile.sub
+++ b/wince/Makefile.sub
@@ -409,6 +409,7 @@ s,@ENABLE_SHARED@,yes,;t t
s,@OUTFLAG@,-Fe,;t t
s,@CPPOUTFILE@,-P,;t t
s,@LIBPATHFLAG@, -libpath:%s,;t t
+s,@RPATHFLAG@,,;t t
s,@LIBARG@,%s.lib,;t t
s,@LINK_SO@,$$(LDSHARED) -Fe$$(@) $$(OBJS) $$(LIBS) $$(LOCAL_LIBS) $$(DLDFLAGS),;t t
s,@COMPILE_C@,$$(CC) $$(CFLAGS) $$(CPPFLAGS) -c -Tc$$(<:\=/),;t t