UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

144 lines (89 loc) 4.96 kB
Artigos relacionados * [Makepkg](/index.php/Makepkg_(Portugu%C3%AAs) "Makepkg (Português)") * [Distcc](/index.php/Distcc "Distcc") [ccache](http://ccache.samba.org/) é uma ferramenta para o compilador gcc usada para compilar o mesmo programa repetidas vezes com pouco tempo de inatividade. Enquanto pode levar alguns segundos mais para compilar um programa na primeira vez com o `ccache`, compilações subsequentes serão muito, muito mais rápidos. ## Contents * [1 Instalação](#Instala.C3.A7.C3.A3o) * [2 Configuração](#Configura.C3.A7.C3.A3o) * [2.1 Habilitar ccache para makepkg](#Habilitar_ccache_para_makepkg) * [2.2 Habilitar para linha de comando](#Habilitar_para_linha_de_comando) * [2.3 Habilitar com colorgcc](#Habilitar_com_colorgcc) * [3 Diversos](#Diversos) * [3.1 Alterar o diretório do cache](#Alterar_o_diret.C3.B3rio_do_cache) * [3.2 Configurar o tamanho máximo do cache](#Configurar_o_tamanho_m.C3.A1ximo_do_cache) * [3.3 Desabilitar o cacho via ambiente](#Desabilitar_o_cacho_via_ambiente) * [3.4 CLI](#CLI) * [3.5 makechrootpkg](#makechrootpkg) * [4 Veja também](#Veja_tamb.C3.A9m) ## Instalação [Instale](/index.php/Instale "Instale") o pacote [ccache](https://www.archlinux.org/packages/?name=ccache). ## Configuração O comportamento padrão pode ser sobrescrito pelos arquivos de configuração. Prioridade das configurações é a seguinte (sendo 1 o mais alto): 1. Variáveis de ambiente 2. Arquivo de configuração específico do cache (`$HOME/.ccache/ccache.conf`) 3. Arquivo de configuração para todo sistema (`/etc/ccache.conf`) ### Habilitar ccache para makepkg Para habilitar o ccache ao usar [makepkg](/index.php/Makepkg_(Portugu%C3%AAs) "Makepkg (Português)"), edite `/etc/makepkg.conf`. Em `BUILDENV`, descomente `ccache` (remova a marca de exclamação) para habilitar cache. Por exemplo: `/etc/makepkg.conf` `BUILDENV=(fakeroot !distcc color **ccache** check !sign)` ### Habilitar para linha de comando Se você está compilando seu código a partir da linha de comando, e não compilando pacotes, então você ainda desejará usar `ccache` para ajudar a acelerar as coisas. Para isso, você precisará alterar seu `$PATH` para incluir os binários do `ccache` antes do caminho de seu compilador: ``` $ export PATH="/usr/lib/ccache/bin/:$PATH" ``` Você pode querer adicionar essa linha ao seu arquivo `~/.bashrc` para uso regular. **Nota:** Isso inevitavelmente habilitará ccache para makepkg assim como se fosse chamado com esse PATH. ### Habilitar com colorgcc Já que colorgcc também um *wrapper* de compilador, precisa-se ter alguns cuidados para garantir que cada wrapper é chamado na sequência correta. ``` export PATH="/usr/lib/colorgcc/bin/:$PATH" # De acordo com a instalação usual de colorgcc, deixe inalterado (não adicione ccache) export CCACHE_PATH="/usr/bin" # Fale para o ccache usar apenas compiladores aqui ``` Então, o colorgcc precisa ser informado para chamar ccache em vez do compilador real. Edite `/etc/colorgcc/colorgccrc` e altere os caminhos de `/usr/bin` para `/usr/lib/ccache/bin` para todos os compiladores em `/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/cc g77:/usr/bin/g77 f77:/usr/bin/g77 gcj:/usr/bin/gcj ``` ## Diversos ### Alterar o diretório do cache Você pode querer mover o diretório cache para uma localização mais rápida do que o diretório `~/.ccache` padrão, como um SSD ou um [ramdisk](/index.php/Ramdisk "Ramdisk"). Para alterar a localização do cacho apenas no shell atual: ``` $ export CCACHE_DIR=/ramdisk/ccache ``` Ou para alterar a localização por padrão: `/home/*user*/.ccache/ccache.conf` `cache_dir = /ramdisk/ccache` ### Configurar o tamanho máximo do cache O valor padrão é 5 gigabyte, porém é possível usar um valor menor ou até mesmo mais alto: ``` $ ccache --set-config=max_size=2.0G ``` ### Desabilitar o cacho via ambiente Se você deseja desabilitar o CCache apenas no shell atual: ``` $ export CCACHE_DISABLE=1 ``` ### CLI Você pode usar o utilitário de linha de comando `ccache` para mostrar um resumo de estatística: ``` $ ccache -s ``` ou limpar o cache completamente: ``` $ ccache -C ``` ### makechrootpkg Também é possível usar o ccache com makechrootpkg. Para reter o cache quando o chroot é limpado pelo makechrootpkg, a opção `-d` pode ser usada para vincular o diretório do cache do sistema regular para o chroot, ex.: ``` $ mkdir /path/of/chroot/ccache $ makechrootpkg -d /caminho/para/cache/:/ccache -r /caminho/do/chroot -- CCACHE_DIR=/ccache ``` Então, ccache pode ser configurado para o chroot na mesma forma como explicado acima para o sistema comum. ## Veja também * [manual do ccache](http://ccache.samba.org/manual.html)