From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 23 Sep 2003 11:50:35 +0300 From: Alexander Bokovoy To: ALT Devel discussion list Subject: Re: [devel] ccache support in gcc-common Message-ID: <20030923085035.GD29029@sam-solutions.net> Mail-Followup-To: ALT Devel discussion list References: <20030917161332.GB15174@sam-solutions.net> <20030917182345.GA11890@basalt.office.altlinux.org> <20030918082900.GA15841@sam-solutions.net> <20030923081226.GA6859@basalt.office.altlinux.org> <20030923082158.GC29029@sam-solutions.net> <20030923082832.GB7186@basalt.office.altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20030923082832.GB7186@basalt.office.altlinux.org> X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.1.2 Precedence: list Reply-To: ALT Devel discussion list List-Id: ALT Devel discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Sep 2003 08:48:13 -0000 Archived-At: List-Archive: List-Post: 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\"}\ > > Это они все? Да, это они все. > Как ты их сможешь переопределить, если это все из определения макроса > %___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 Естественно, что в этот же механизм простановки переменных смогут встраиваться и другие приложения, если потребуется. -- / Alexander Bokovoy --- taxidermist, n.: A man who mounts animals.