From: Katsuyuki Komatsu Date: 1999-06-16T12:53:27+09:00 Subject: [ruby-dev:7124] Re: --enable-shared support 小松です。 In the message of [ruby-dev:7119] Re: --enable-shared support on 1999/6/15 19:09:21 Katsuyuki Komatsu wrote: |拡張ライブラリの方は……ext/extmk.rb.inとlib/mkmf.rbに | INSTALL_DLLIB = $(INSTALL) -m 0555 |とかを足してそちらを使うか、configure.inに追加して、 |@INSTALL_DLLIB@を参照する形かな。 定義する位置が適当かどうかわかりませんが、configure.inから 変更してみました。 [ruby-dev:7110]のconfigure.inの変更分も入っています。 Index: configure.in =================================================================== RCS file: /home/cvs/ruby/configure.in,v retrieving revision 1.1.1.2.2.21 diff -u -r1.1.1.2.2.21 configure.in --- configure.in 1999/06/09 09:21:05 1.1.1.2.2.21 +++ configure.in 1999/06/16 00:38:23 @@ -86,6 +86,9 @@ AC_PROG_LN_S AC_PROG_MAKE_SET +INSTALL_DLLIB='${INSTALL} -m 0555' +AC_SUBST(INSTALL_DLLIB) + # checks for UNIX variants that set C preprocessor variables AC_MINIX @@ -667,7 +670,7 @@ [enable_shared=$enableval]) if test "$enable_shared" = 'yes'; then LIBRUBY='$(LIBRUBY_SO)' - LIBRUBYARG='-L./ -l$(RUBY_INSTALL_NAME)' + LIBRUBYARG='-L. -l$(RUBY_INSTALL_NAME)' CFLAGS="$CFLAGS $CCDLFLAGS" case "$host_os" in sunos4*|linux*) @@ -688,7 +691,11 @@ *) LIBRUBY_ALIASES= ;; # a.out platforms esac ;; + solaris*) + XLDFLAGS='-R${prefix}/lib' + ;; hpux*) + XLDFLAGS='-Wl,+s,+b,$(prefix)/lib' LIBRUBY_SO='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR).$(TEENY)' LIBRUBY_ALIASES='lib$(RUBY_INSTALL_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_INSTALL_NAME).sl' ;; @@ -700,7 +707,7 @@ LIBRUBY_LDSHARED='/usr/ccs/bin/ld' LIBRUBY_DLDFLAGS='-bE:ruby.imp -bM:SRE -bnoentry' fi - LIBRUBYARG='-L./ -Wl,lib$(RUBY_INSTALL_NAME).so' + LIBRUBYARG='-L${prefix}/lib -Wl,lib$(RUBY_INSTALL_NAME).so' SOLIBS='-lm -lc' ;; cygwin*) Index: ext/extmk.rb.in =================================================================== RCS file: /home/cvs/ruby/ext/extmk.rb.in,v retrieving revision 1.1.1.3.2.21 diff -u -r1.1.1.3.2.21 extmk.rb.in --- ext/extmk.rb.in 1999/06/09 09:21:34 1.1.1.3.2.21 +++ ext/extmk.rb.in 1999/06/16 00:38:23 @@ -392,6 +392,7 @@ DLLIB = $(TARGET).#{$static ? "a" : "@DLEXT@"} INSTALL = #{$dots}@INSTALL@ +INSTALL_DLLIB = @INSTALL_DLLIB@ INSTALL_DATA = @INSTALL_DATA@ binsuffix = @binsuffix@ @@ -414,7 +415,7 @@ EOS if !$static mfile.printf "\ - $(INSTALL) $(DLLIB) $(DESTDIR)$(archdir)/$(DLLIB) + $(INSTALL_DLLIB) $(DLLIB) $(DESTDIR)$(archdir)/$(DLLIB) " end install_rb(mfile) Index: lib/mkmf.rb =================================================================== RCS file: /home/cvs/ruby/lib/mkmf.rb,v retrieving revision 1.1.1.2.2.17 diff -u -r1.1.1.2.2.17 mkmf.rb --- lib/mkmf.rb 1999/05/25 08:26:20 1.1.1.2.2.17 +++ lib/mkmf.rb 1999/06/16 00:38:24 @@ -34,9 +34,11 @@ $libdir = CONFIG["libdir"]+"/ruby/"+CONFIG["MAJOR"]+"."+CONFIG["MINOR"] $archdir = $libdir+"/"+CONFIG["arch"] $install = CONFIG["INSTALL_PROGRAM"] +$install_dllib = CONFIG["INSTALL_DLLIB"] $install_data = CONFIG["INSTALL_DATA"] if $install =~ %r!^[^\s/]+/! then $install = CONFIG["compile_dir"]+"/"+$install + $install_dllib = CONFIG["compile_dir"]+"/"+$install_dllib $install_data = CONFIG["compile_dir"]+"/"+$install_data end @@ -371,6 +373,7 @@ DLLIB = $(TARGET).#{CONFIG["DLEXT"]} INSTALL = #{$install} +INSTALL_DLLIB = #{$install_dllib} INSTALL_DATA = #{$install_data} binsuffix = #{CONFIG["binsuffix"]} @@ -388,7 +391,7 @@ $(archdir)/$(DLLIB): $(DLLIB) @test -d $(libdir) || mkdir $(libdir) @test -d $(archdir) || mkdir $(archdir) - $(INSTALL) $(DLLIB) $(archdir)/$(DLLIB) + $(INSTALL_DLLIB) $(DLLIB) $(archdir)/$(DLLIB) EOMF install_rb(mfile) mfile.printf "\n" -- 小松克行 / Katsuyuki Komatsu