あおきです。 In mail "[ruby-list:20535] Re: lib/subdirectory" gotoken / math.sci.hokudai.ac.jp (GOTO Kentaro) wrote: > ごとけんです > そうそう、それです。適当な場所探しが面倒かと。あと、README に > 書くべき install の手順も楽になるはずです。 これは重要です ^^;; ぼくも日本語と英語の両方で全部のライブラリにインストール方法を 書くのが面倒になってスクリプト書いちゃいました。 > >今月の半ばまではちょっとかかれそうにないですね。 > > うーん、じゃぁやっちゃいます。だれかやってくれると嬉しいなぁ。 Racc とか TMail で使っている setup.rb というスクリプトは site_ruby/racc とかにインストールできます。 setup.rb 自体は添付のようになっていて、amstd/inst などがコアです。 拡張モジュールも make にはコンパイルだけやらせておいて、あとから *.so を探してインストールしています。 インストール先はデフォルトでは Package/xxx/*.rb -> RUBYLIB/site_ruby/xxx/*.rb Package/xxx/yyy/*.so -> RUBYLIB/site_ruby/ARCH/xxx/*.so のようにディレクトリを対応させて決まり、これを変えたいときには $ ruby setup.rb config --rb-dir=~aamine/rubylib # コンフィグ $ ruby setup.rb setup # make とか # ruby setup.rb install # インストール のようにオプションを与えます。 まだオプションは少ないですが、増やすのは簡単なので必要なら --prifix とかも足せます。 ------------------------------------------------------------------- あおきみねろう
# tmail installer $LOAD_PATH.unshift '.' require 'amstd/inst' class TMAILinstaller < Installer def com_setup setup_library 'tmail' setup_library 'racc' into_dir( 'strscan' ) do extconf make end end def com_install %w( amstd tmail racc ).each do |lib| install_library lib end into_dir( 'strscan' ) do make_install end end end TMAILinstaller.execute
よく考えると setup.rb はすごく型があるので eval 系を使って もっと簡単にできるかも。