From: Akinori MUSHA Date: 2001-04-24T03:02:28+09:00 Subject: [ruby-dev:13025] enhancing dir_config()  dir_config() をちょっと改良してみました。 1. include ディレクトリの指定がすでに $CPPFLAGS に含まれている ときは追加しない。(現状、 lib ディレクトリの方はそうなっている) 2. 返り値として [includedir, libdir] を返す。(現状、返り値は 有効に使われていない) 3. --with-opt-dir, --with-opt-include, --with-opt-lib を見ている 部分は、 dir_config("opt") で置換可能なので置き換える。 4. X11 ツリーの場所は環境依存であり、多くの拡張ライブラリで必要に なっているので、 dir_config("x11") をいつも実行する。 1 と 2 により、何度も dir_config() を使って値を得て利用することが できるようになります。例えば: dir_config("foo") foo_includedir = dir_config("foo")[0] とか rgb_txt = dir_config("x11", "/usr/X11R6")[1] + "/X11/rgb.txt" などとでき、 CPPFLAGS や LIBS にゴミが入ることもないというわけです。  特に問題がなければ commit したいと思いますが、いかがでしょうか。 -- / /__ __ Akinori.org / MUSHA.org / ) ) ) ) / FreeBSD.org / Ruby-lang.org Akinori MUSHA aka / (_ / ( (__( @ iDaemons.org / and.or.jp "Freeze this moment a little bit longer, make each impression a little bit stronger.. Experience slips away -- Time stand still" Index: lib/mkmf.rb =================================================================== RCS file: /mirror/ruby/src/ruby/lib/mkmf.rb,v retrieving revision 1.47 diff -u -r1.47 mkmf.rb --- lib/mkmf.rb 2001/04/03 01:16:14 1.47 +++ lib/mkmf.rb 2001/04/23 17:43:25 @@ -338,19 +338,21 @@ end dir = with_config("%s-dir"%target, default) if dir - idir = " -I"+dir+"/include" + idir = "-I"+dir+"/include" ldir = dir+"/lib" end unless idir dir = with_config("%s-include"%target, idefault) - idir = " -I"+dir if dir + idir = "-I"+dir if dir end unless ldir ldir = with_config("%s-lib"%target, ldefault) end - $CPPFLAGS += idir if idir + $CPPFLAGS += " "+idir if idir && !$CPPFLAGS.split.include?(idir) $LIBPATH |= [ldir] if ldir + + [idir, ldir] end def create_makefile(target, srcdir = File.dirname($0)) @@ -581,20 +583,11 @@ $defs = [] $make = with_config("make-prog", ENV["MAKE"] || "make") -dir = with_config("opt-dir") -if dir - idir = "-I"+dir+"/include" - ldir = dir+"/lib" -end -unless idir - dir = with_config("opt-include") - idir = "-I"+dir if dir -end -unless ldir - ldir = with_config("opt-lib") -end $CFLAGS = with_config("cflags", "") -$CPPFLAGS = [with_config("cppflags", ""), idir].compact.join(" ") +$CPPFLAGS = with_config("cppflags", "") $LDFLAGS = with_config("ldflags", "") -$LIBPATH = [ldir].compact +$LIBPATH = [] + +dir_config("opt") +dir_config("x11") Index: ext/extmk.rb.in =================================================================== RCS file: /mirror/ruby/src/ruby/ext/extmk.rb.in,v retrieving revision 1.41 diff -u -r1.41 extmk.rb.in --- ext/extmk.rb.in 2001/04/03 01:16:14 1.41 +++ ext/extmk.rb.in 2001/04/23 17:43:13 @@ -340,19 +340,21 @@ end dir = with_config("%s-dir"%target, default) if dir - idir = " -I"+dir+"/include" + idir = "-I"+dir+"/include" ldir = dir+"/lib" end unless idir dir = with_config("%s-include"%target, idefault) - idir = " -I"+dir if dir + idir = "-I"+dir if dir end unless ldir ldir = with_config("%s-lib"%target, ldefault) end - $CPPFLAGS += idir if idir + $CPPFLAGS += " "+idir if idir && !$CPPFLAGS.split.include?(idir) $LIBPATH |= [ldir] if ldir + + [idir, ldir] end def create_makefile(target) @@ -609,23 +611,13 @@ $local_flags = "-link /INCREMENTAL:no /EXPORT:Init_$(TARGET)" end $LOCAL_LIBS = "" # to be assigned in extconf.rb - dir = with_config("opt-dir") - if dir - idir = "-I"+dir+"/include" - ldir = dir+"/lib" - end - unless idir - dir = with_config("opt-include") - idir = "-I"+dir if dir - end - unless ldir - ldir = with_config("opt-lib") - end - $CFLAGS = "" - $CPPFLAGS = idir || "" + $CPPFLAGS = "" $LDFLAGS = "" - $LIBPATH = [ldir].compact + $LIBPATH = [] + + dir_config("opt") + dir_config("x11") begin Dir.mkdir target unless File.directory?(target)