From: nobu.nakada@... Date: 2003-07-09T16:54:16+09:00 Subject: [ruby-dev:20576] Re: makeに失敗(PR#506) なかだです。 At Fri, 4 Jul 2003 17:13:54 +0900, WATANABE Hirofumi wrote: > > > ついでに言うと「i386-bsdi4.0」と決め打ちになっている点も問題で、 > > > 私は安易に自分の環境に合わせて「4.3.1」と書き替えてしまいましたが、 > > > 本当はtarget_osあたりの変数を参照するべきでしょう。 > > > > これは$(archdir)でいいと思います。 > > NetBSDのようにLIBPATHFLAGを使うのもありだと思います。 $LIBPATHは$(archdir)は含んでないと思います。 というか、NetBSDでは-Lも-Wl,-Rも一緒に扱ってますが、クロスコン パイルのときには$(libdir)は$LIBPATHに含まれません。これは、 libdirが通常のライブラリとは別のところになっている場合には、問 題のような気がして来ました。いや、クロスだとそもそも-Lと-Rはみ んな別じゃないといけないのかも。 逆に、-R$(topdir)(あるいは-rpath $(topdir))は、インストール後は 不要に思えます。 > 以前にもLDFLAGSについて議論がありましたが、そもそも > $(LDSHARED)を実行するときには$(LDFLAGS)はついてませんでした。 > だからDLDFLAGSにLDFLAGSを追加していること自体が間違いだと思います。 そういわれると確かに。こんなとこでしょうか。 Index: configure.in =================================================================== RCS file: /cvs/ruby/src/ruby/configure.in,v retrieving revision 1.178 diff -u -2 -p -r1.178 configure.in --- configure.in 7 Jul 2003 08:28:19 -0000 1.178 +++ configure.in 8 Jul 2003 02:15:38 -0000 @@ -807,5 +807,6 @@ if test "$with_dln_a_out" != yes; then esac ;; bsdi*) LDSHARED="ld -shared" - LDFLAGS='-rdynamic -Wl,-rpath,$(libdir)/ruby/$(MAJOR).$(MINOR)/i386-bsdi4.0' + LDFLAGS='-rdynamic' + DLDFLAGS='-rpath $(archdir)' rb_cv_dlopen=yes ;; nextstep*) LDSHARED='cc -r -nostdlib' Index: lib/mkmf.rb =================================================================== RCS file: /cvs/ruby/src/ruby/lib/mkmf.rb,v retrieving revision 1.135 diff -u -2 -p -r1.135 mkmf.rb --- lib/mkmf.rb 3 Jul 2003 11:07:55 -0000 1.135 +++ lib/mkmf.rb 8 Jul 2003 02:16:40 -0000 @@ -571,5 +571,5 @@ CFLAGS = #{CONFIG['CCDLFLAGS'] unless CPPFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir) #{$defs.join(" ")} #{$CPPFLAGS} CXXFLAGS = $(CFLAGS) #{CONFIG['CXXFLAGS']} -DLDFLAGS = #$LDFLAGS #{CONFIG['DLDFLAGS']} #$DLDFLAGS +DLDFLAGS = #{CONFIG['DLDFLAGS']} #$DLDFLAGS LDSHARED = #{CONFIG['LDSHARED']} AR = #{CONFIG['AR']} -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦