Кеширование компиляции с помощью ccache

Материал из Bas Wiki
Перейти к навигации Перейти к поиску

Вот она, только что установленная система. Впереди установка большого количества портов. Для того, чтобы хоть как-то сократить время на установку я использую кеширование с помощью ccache. Будем считать, что система у нас вообще не содержит никаких портов, поэтому используем в качестве текстового редактора ee.

# cd /usr/ports/devel/ccache
# make install

После установки порта необходимо добавить настройки в несколько конфигурационных файлов. Скорее всего я делаю лишнюю работу, но я хочу, чтобы у меня ccache работал всегда и везде, а так же под root'ом и моим пользователем.

Добавляем в /etc/make.conf следующий код:

.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*))
.if !defined(NOCCACHE)
CC:=${CC:C,^cc,/usr/local/libexec/ccache/world/cc,1}
CXX:=${CXX:C,^c\+\+,/usr/local/libexec/ccache/world/c++,1}
.endif
.endif

Добавляем в /etc/csh.cshrc следующие параметры:

setenv PATH /usr/local/libexec/ccache:$PATH
setenv CCACHE_PATH /usr/bin:/usr/local/bin
setenv CCACHE_DIR "/usr/.ccache"

Добавляем в /etc/profile следующие параметры:

export PATH=/usr/local/libexec/ccache:$PATH
export CCACHE_PATH=/usr/bin:/usr/local/bin
export CCACHE_DIR=/usr/.ccache

Создаём каталог .ccache и делаем его доступным для всех и вся:

# mkdir /usr/.ccache
# chmod 777 /usr/.ccache

После этого необходимо перелогиниться, чтобы изменения вступили в силу для всех пользователей и можно собирать порты и ядро.

Для просмотра статистики пишем ccache -s, а более подробно о программе Вы можете почитать ccache -h или man ccache.