Top/Prog/分散ビルド/distcc

目次

distcc

setup

前提

setup (master, slave 共通)

setup (master)

環境変数 DISTCC_HOSTS の設定

optiondescriptionremark
--randomizejob を投げる対象ホストのオーダーをランダムにする指定しない場合、jpb を投げられるホストは環境変数 DISTCC_HOSTS で先に指定された順に偏重する
+zeroconfdistcc のビルド時に avahi support が有効になっているときのみ使える

setup (slave)

monitor

ccache と併用する

  1. ccache パッケージを master ホストにインストールする
  2. コンパイラコマンドを置換する
    • 方法1:Makefile の記載を変える
      (変更前) CC := gcc
      (変更後) CC := ccache distcc gcc
    • 方法2:コマンドを置き換える で設定する置き換えコマンドの中身を下記のようにする(ccache を追記):
      #!/bin/bash
      ccache distcc gcc ${@}
    • 方法3:configure で設定する場合
      CC="ccache distcc gcc" CXX="ccache distcc g++" ./configure

gcc wrapper

#!/bin/bash
IS_MONITOR_EXISTS=$(pgrep distccmon-gnome | wc -l);
if [ ${IS_MONITOR_EXISTS} -eq 0 ]; then
    DISPLAY=${DISPLAY} distccmon-gnome &
fi
unset IS_MONITOR_EXISTS;

CMD_CCHACHE=
IS_CCACHE_EXISTS=$(which ccache | wc -l);
if [ ${IS_CCACHE_EXISTS} -ne 0 ]; then
    CMD_CCHACHE=ccache
fi
${CMD_CCACHE} distcc gcc ${@}

参考リンク


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-05-04 (水) 00:19:12