Ruby1.9が欲しかったのでビルドした。Cygwinでビルドすると恐ろしく時間かかってオーバーナイトなので飽きる。
LinuxでCygwin向けにコンパイルしてみました
必要なファイル・ディレクトリを準備
cd ~ wget ftp://ftp.iij.ad.jp/pub/lang/ruby/1.9/ruby-1.9.2-p180.tar.gz tar zxvf ruby-1.9.2-p180.tar.gz mkdir /home/takuya/ruby-1.9.2-p180/build/ruby mkdir /home/takuya/ruby-1.9.2-p180/build/
cd ~/ruby-1.9.2-p180/build ../configure CC=i686-pc-cygwin-gcc\ --prefix=/home/takuya/ruby-1.9.2-p180/build/ruby\ --host=i686-pc-cygwin\ --build=i686-pc-linux\ ac_cv_func_setpgrp_void=yes\ --enable-shared --disable-install-doc
makeする
make -j3 make install
DLLを追加してWindowsに持っていく
cygwin/bin/cyggcc_s-sjlj-1.dll ruby/bin/cyggcc_s-sjlj-1.dll #クロスコンパイル環境のDLL tar cvzf ruby.tgz ruby
Windowから使ってみる
scp 192.168.2.5:~/ruby-1.9.2-p180/build/ruby.tgz . tar xvzf ruby.tgz cd ruby/bin
実行結果:出来た。ちょっと感動。
takuya@letsnote:~/ruby/bin$ ./ruby -v ruby 1.9.2p180 (2011-02-18) [i386-cygwin]
できあがった。binファイルはこんな感じ
ls -l 合計 7937 -rwxr-xr-x+ 1 takuya None 373782 3月 15 16:09 cyggcc_s-sjlj-1.dll -rwxr-xr-x+ 1 takuya None 1970176 3月 15 14:31 cygruby191.dll -rwxr-xr-x+ 1 takuya None 45381 3月 15 16:09 cygssp-0.dll -rwxr-xr-x+ 1 takuya None 5662670 3月 15 16:09 cygstdc++-6.dll -rwxr-xr-x+ 1 takuya None 4428 3月 15 14:24 erb -rwxr-xr-x+ 1 takuya None 577 3月 15 14:24 gem -rwxr-xr-x+ 1 takuya None 349 3月 15 14:24 irb -rwxr-xr-x+ 1 takuya None 1279 3月 15 14:24 rake -rwxr-xr-x+ 1 takuya None 728 3月 15 14:24 rdoc -rwxr-xr-x+ 1 takuya None 104 3月 15 14:24 ri -rwxr-xr-x+ 1 takuya None 24026 3月 15 14:36 ruby.exe -rwxr-xr-x+ 1 takuya None 24026 3月 15 14:36 rubyw.exe -rwxr-xr-x+ 1 takuya None 278 3月 15 14:24 testrb
cygwinでビルドするのと比べるとなにか安定感がある。
参考
rubyのようにconfigure で指定できないときは環境変数に入れておけばいい。
export CROSS_COMPILE=i686-pc-cygwin- export CC=${CROSS_COMPILE}"gcc" export CXX=${CROSS_COMPILE}"g++"http://cboard.cprogramming.com/c-programming/127796-cross-compile-php.html
2011-09-13 補足
PATHは通ってる前提.
私の場合.以前のコンパイルで、次の場所にクロスコンパイル環境を作って居る
export PREFIX=/home/takuya/build/cygwin #prefix を決める export PATH=${PREFIX}/bin:${PATH} #クロスコンパイルのインストール先へパスを通す
クロスコンパイル環境の作成はこっち
http://d.hatena.ne.jp/takuya_1st/20110314/1300132009