[Momonga-devel.ja:01587] Re: OmoiKondara の distcc 対応について
- From: Kenta MURATA <muraken2@xxxxxxxxx>
- Date: Wed, 23 Apr 2003 17:35:52 +0900
むらけんです.
In message <m3of2x6a4s.wl@xxxxxxxxxx> at Wed, 23 Apr 2003 14:44:19 +0900,
Kazuhiko <kazuhiko@xxxxxxxxxx> wrote:
> リモート1台で分散コンパイルしてみましたがうまく動いています。リモート2台
> 以上のときは、~/.OmoiKondara で
> DISTCC_HOST host1 host2 ...
> みたいな感じでいいのかな (distcc --help を見た感じでは)。
いえ,
DISTCC_HOST host1
DISTCC_HOST host2
のように,ホストの数分だけ行を増やしてください.
> > なお,まだクロスコンパイル等には対応してなく,distcc にも限界
> > があるため,使用するホストにインストールされている gcc のバー
> > ジョンは同じにしなければなりません.ただし,ライブラリやヘッダ
> > ファイル等は,OmoiKondara を実行するホストにインストールされて
> > いるだけで大丈夫です.
>
> spec の変更なしで使えるようになると素敵ですね。でもかたっぱしから distcc
> を使うとなると、gcc だけでなく、gcc2.96 とか gcc2.95.3 パッケージも入れ
> ておいた方がよさそうですね。
そうですね.OmoiKondara が書き出す rpmmacros で %configure を
%configure \
CC="%{?_distcc} ${CC:-gcc}" ; export CC ; \
CXX="%{?_distcc} ${CXX:-gcc}" ; export CXX ; \
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
%{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force ;} \
./configure %{_target_platform} \\\
--prefix=%{_prefix} \\\
--exec-prefix=%{_exec_prefix} \\\
--bindir=%{_bindir} \\\
--sbindir=%{_sbindir} \\\
--sysconfdir=%{_sysconfdir} \\\
--datadir=%{_datadir} \\\
--includedir=%{_includedir} \\\
--libdir=%{_libdir} \\\
--libexecdir=%{_libexecdir} \\\
--localstatedir=%{_localstatedir} \\\
--sharedstatedir=%{_sharedstatedir} \\\
--mandir=%{_mandir} \\\
--infodir=%{_infodir}
こんな感じに上書きして spec ファイルで %configure を使う,とい
うのが一番簡単かと思います.もちろん,distcc を使う場合だけ
%_distcc を /usr/bin/distcc に定義します.
%configure を使っていない spec ファイルの場合は個別に対応する
しかないかもしれません.
> あと、手元では ccache も併用していますが、dictcc 先では ccache は関係な
> いのかな。
distcc は /usr/lib/gcc-lib/i586-redhat-linux/3.2.2/cc1 を直接
起動しているみたいなんで,ccache を使うには何かトリックを使わ
ないとダメでしょう.
--
1024D/2A3FDBE6 2001-08-26 Kenta MURATA (muraken) <muraken2@xxxxxxxxx>
Key fingerprint = 622A 61D3 280F 4991 4833 5724 8E2D C5E1 2A3F DBE6