# Ccache (日本語)

`gcc` のための素敵なツール、それが `ccache` です。ccache の説明は ホームページ にあります。

同じプログラムを何度もコンパイルするような場合 (複数のカーネルパッチを試してみたり、ソフトウェアの開発でテストしたりするような場合など) に、`ccache` はうってつけです。`ccache` でプログラムをコンパイルすると最初は数秒だけ長く時間がかかりますが、それ以降のコンパイルはずっと早くなります。

## インストール

公式リポジトリから ccache をインストールしてください。

### makepkg で ccache を有効にする

makepkg の使用時に ccache を有効にするには `/etc/makepkg.conf` を編集して下さい。`BUILDENV` の中の ccache の前のエクスクラメーションマークを除去すれば有効になります。例:

     BUILDENV=(fakeroot !distcc color ccache !xdelta)

Note: KDE などをコンパイルする場合は CPP や CXX の export を無効にする必要があります、それでいくつかのエラーを止めることができます。

### コマンドラインで有効にする

パッケージを作成するのではなく、コマンドラインからコードをコンパイルするとき、`ccache` を使うことでコンパイル速度を向上させることができます。

そのためには、`$PATH` に `ccache` のバイナリを（コンパイラのパスの前に）含むようにする必要があります。

    export PATH="/usr/lib/ccache/bin/:$PATH"

定期的に使う場合は `~/.bashrc` ファイルにこの行を加えると良いでしょう。

### colorgcc で有効にする

colorgcc もコンパイララッパーなので、正しい順番でラッパーが呼ばれるように注意する必要があります。

    export PATH="/usr/lib/colorgcc/bin/:$PATH"    # As per usual colorgcc installation, leave unchanged (don't add ccache)
    export CCACHE_PATH="/usr/bin"                 # Tell ccache to only use compilers here

そして本当のコンパイラの代わりに ccache を呼び出すように colorgcc を設定してください。`/etc/colorgcc/colorgccrc` を編集し `/usr/bin` のパスを `/usr/lib/ccache/bin` にある全てのコンパイラに対応するように `/usr/lib/ccache/bin` のパスに変更します:

    /etc/colorgcc/colorgccrc

    g++: /usr/lib/ccache/bin/g++
    gcc: /usr/lib/ccache/bin/gcc
    c++: /usr/lib/ccache/bin/g++
    cc: /usr/lib/ccache/bin/gcc
    g77:/usr/bin/g77
    f77:/usr/bin/g77
    gcj:/usr/bin/gcj

## その他

### キャッシュディレクトリを変更する

デフォルトの "~/.ccache" ディレクトリから、SSD や RAM ディスクなどの高速にアクセス可能な場所にキャッシュディレクトリを移動することができます。

キャッシュの位置を変更するには:

    export CCACHE_DIR=/ramdisk/ccache             # Tell ccache to use this path to store its cache

### CLI

ccache のコマンドラインユーティリティを使うことで以下の操作ができます。

統計を表示する:

    $ ccache -s

キャッシュを完全に削除する:

    $ ccache -C

## 参照

- ccache ホームページ
- ccache マニュアル

Category:

- Package development (日本語)