Кеширование компиляции с помощью ccache: различия между версиями
Bas (обсуждение | вклад) Новая страница: «Вот она, только что установленная система. Впереди установка большого количества портов…» |
Bas (обсуждение | вклад) Нет описания правки |
||
Строка 6: | Строка 6: | ||
После установки порта необходимо добавить настройки в несколько конфигурационных файлов. Скорее всего я делаю лишнюю работу, но я хочу, чтобы у меня ccache работал всегда и везде, а так же под root'ом и моим пользователем.<br /> | После установки порта необходимо добавить настройки в несколько конфигурационных файлов. Скорее всего я делаю лишнюю работу, но я хочу, чтобы у меня ccache работал всегда и везде, а так же под root'ом и моим пользователем.<br /> | ||
Добавляем в /etc/make.conf следующий код: | Добавляем в <code>/etc/make.conf</code> следующий код: | ||
<pre lang="bash"> | <pre lang="bash"> | ||
.if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*)) | .if (!empty(.CURDIR:M/usr/src*) || !empty(.CURDIR:M/usr/obj*)) | ||
Строка 15: | Строка 15: | ||
.endif | .endif | ||
</pre> | </pre> | ||
Добавляем в /etc/csh.cshrc следующие параметры: | Добавляем в <code>/etc/csh.cshrc</code> следующие параметры: | ||
<pre lang="bash"> | <pre lang="bash"> | ||
setenv PATH /usr/local/libexec/ccache:$PATH | setenv PATH /usr/local/libexec/ccache:$PATH | ||
Строка 21: | Строка 21: | ||
setenv CCACHE_DIR "/usr/.ccache" | setenv CCACHE_DIR "/usr/.ccache" | ||
</pre> | </pre> | ||
Добавляем в /etc/profile следующие параметры: | Добавляем в <code>/etc/profile</code> следующие параметры: | ||
<pre lang="bash"> | <pre lang="bash"> | ||
export PATH=/usr/local/libexec/ccache:$PATH | export PATH=/usr/local/libexec/ccache:$PATH | ||
Строка 34: | Строка 34: | ||
После этого необходимо перелогиниться, чтобы изменения вступили в силу для всех пользователей и можно собирать порты и ядро. | После этого необходимо перелогиниться, чтобы изменения вступили в силу для всех пользователей и можно собирать порты и ядро. | ||
Для просмотра статистики пишем ccache -s, а более подробно о программе Вы можете почитать ccache -h или man ccache. | Для просмотра статистики пишем <code>ccache -s</code>, а более подробно о программе Вы можете почитать <code>ccache -h</code> или <code>man ccache</code>. |
Версия от 11:33, 9 апреля 2015
Вот она, только что установленная система. Впереди установка большого количества портов. Для того, чтобы хоть как-то сократить время на установку я использую кеширование с помощью 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
.