2007年4月15日日曜日

pentium-builder

http://debian.fam.cx/?AptGet
から引用
Debian では i586 や i686 などに最適化されたパッケージは提供されないの? † Edit
kernel-image や glibc などの一部を除いて本家では提供される予定はありません。自分で rebuild しましょう。 pentium-builder をインストールして

$ export DEBIAN_BUILDARCH=i586

などとしておけばパッケージングするときに -mcpu=i586 -march=i586 でコンパイルしてくれます。こうしてできあがったパッケージは hogehoge_i386.deb ですが、ちゃんと i586 に最適化されています。また ix86 だけでなく DEBIAN_BUILDARCH=athlon なども指定できます。大量に rebuild したい場合は apt-build や apt-src などを使うと便利です。ソースをダウンロード、パッケージング、インストールという一連の作業を自動でやってくれます。また ccache や distcc などをうまく使えばコンパイル時間も短縮できます。

参考
http://julien.danjou.info/article-apt-build.html


/usr/bin/gcc が builder-ccにリンクされる。
もとの gccが gcc.realにリンクされ直す。
builder-ccは DEBIAN_BUILDGCCVERが指定されていなければ、gcc.real を呼び出すので、ccacheやccontrolを使用しているときは
gcc.realのリンクをccontrolやccacheにする。
$ export DEBIAN_BUILDARCH=i586
$ sudo apt-build update
$ sudo apt-get build-dep util-linux
$ sudo apt-build --build-only --noupdate install util-linux

再実行するときは
$ sudo apt-build --build-only --noupdate --rebuild --no-source install util-linux

だが、builder-ccはperlスクリプトでcc実行時に -mcpuや -mtuneを追加しているだけでもともと指定されているオプションを変更するわけではないので本当に大丈夫なのかわからない。
gcc が最初に指定された方を優先するのであればOKだが、どうなんだろうか。

0 件のコメント: