[devel] ccache support in gcc-common

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вт Сен 30 20:43:09 MSD 2003


On Tue, Sep 23, 2003 at 11:50:35AM +0300, Alexander Bokovoy wrote:
> On Tue, Sep 23, 2003 at 12:28:32PM +0400, Dmitry V. Levin wrote:
> > > > Если так, то это можно было бы сделать, не дожидаясь изменения макросов в
> > > > rpm-build.  Кстати, что конкретно там надо будет поменять?
> > > Знаешь, убери оттуда вообще поддержку ccache. Я положу макросы в 
> > > /etc/rpm/macros.d/ccache в пакет с ccache, так будет проще всего и,
> > > очевидно, правильнее.
> > 
> > $ fgrep -i ccache /usr/lib/rpm/i586-alt-linux/macros
> >         unset CCACHE_CC CCACHE_CXX CCACHE_DIR ||:\
> >         %{?__ccache_cc:export CCACHE_CC=\"%__ccache_cc\"}\
> >         %{?__ccache_cxx:export CCACHE_CXX=\"%__ccache_cxx\"}\
> >         %{?__ccache_dir:export CCACHE_DIR=\"%__ccache_dir\"}\
> > 
> > Это они все?
> Да, это они все.

Ok

> > Как ты их сможешь переопределить, если это все из определения макроса
> > %___build_pre?
> Добавь туда какой-нибудь %___build_pre_extender и механизм добавления в
> него строчек, тогда любой макро-файл сможет их расширять. Можно сделать
> даже просто макрос вроде
> 	%build_add_variable_expand var1 var2
> который будет разворачивать полученный список пар (var1, var2)_1, ..., (var1, var2)_n
> в последовательность
> 	unset var2_1 ... var2_n ||:\
> 	%{?var1_1:export var2_1=\"%var1_1\"}\
> 	....
> 	%{?var1_n:export var2_n=\"%var1_n\"}\
> 
> Тогда в /etc/rpm/macros.d/ccache я просто напишу
> %build_add_variable_expand __ccache_use GCC_USE_CCACHE
> %build_add_variable_expand __ccache_dir CCACHE_DIR
> 
> А пользователь сможет включать/выключать использование ccache у себя в
> .rpmmacros, например, так:
> 
> %__ccache_use 1
> %__ccache_dir $HOME/.ccache
> 
> Естественно, что в этот же механизм простановки переменных смогут
> встраиваться и другие приложения, если потребуется.

Идея красивая, осталось только её реализовать.
Желающие есть?


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20030930/7c1a1832/attachment-0001.bin>


Подробная информация о списке рассылки Devel