From: "akira yamada / やまだあきら" Date: 2001-01-12T23:55:18+09:00 Subject: [ruby-list:27096] too large extension library (Re: Ruby/Python with ruby 1.6.2) Tue, 9 Jan 2001 15:09:34 +0900 頃の Mail-Count: 27062 Subject: [ruby-list:27062] Re: Ruby/Python with ruby 1.6.2 についてのお話にて WATANABE Hirofumi さん曰く… (W == WATANABE Hirofumi さん) In article 27062, <4518-Tue09Jan2001150932+0900-eban@os.rim.or.jp> W> static にリンクされちゃう云々は別として, W> [ruby-talk:8877][ruby-talk:8889] で解決しているようです. この話, また Debian の方で bug としてもらっちゃいました. で, ちょっとだけ調べてみました. $configure_args['--enable-shared'] or CONFIG['LIBRUBY'] != CONFIG['LIBRUBY_A'] という条件で $DLDFLAGS に "$(topdir)" が入っちゃうのが 問題のように思うんですが, これはなんでこうなっているのでしょうか. CONFIG["ENABLE_SHARED"] == "yes" なときは "$(topdir)" はいらないんでないかな? なんて思うのですが. よくわかってないのですが --- mkmf.rb 2001/01/09 07:31:27 1.37.2.1 +++ mkmf.rb 2001/01/12 14:52:11 @@ -370,9 +370,11 @@ end $DLDFLAGS = CONFIG["DLDFLAGS"] - if $configure_args['--enable-shared'] or CONFIG['LIBRUBY'] != CONFIG['LIBRUBY_A'] - $libs = CONFIG["LIBRUBYARG"] + " " + $libs - $LIBPATH |= ["$(topdir)", CONFIG["libdir"]] + $libs = CONFIG["LIBRUBYARG"] + " " + $libs + if !$configure_args['--enable-shared'] or CONFIG['LIBRUBY'] == CONFIG['LIBRUBY_A'] + $LIBPATH |= ["$(topdir)"] + else + $LIBPATH |= [CONFIG["libdir"]] end defflag = '' なんてことをやると, たしかに拡張ライブラリのサイズが小さくなるようです. -- やまだ あきら (akira@arika.org, akira@ruby-lang.org or akira@ad-hoc.org)