[d-kernel] q: 2.6.3 headers trouble? (nvnet)
Sergey Vlasov
vsu at altlinux.ru
Sun Mar 14 20:10:19 MSK 2004
On Sun, Mar 14, 2004 at 10:56:04AM +0200, Michael Shigorin wrote:
> PPS: да, и еще:
>
> . %_usrsrc/linux-%kversion-%flavour/gcc_version.inc
>
> -- тоже не отрабатывает, явно не хватает зависимосит на что-то --
> или схема изменилась?
Это новый вариант указания версии компилятора, который, как обычно, не
успели описать в документации :)
Теперь подход следующий:
- Макросы %kgcc и т.п. больше не используются (поскольку 2.4 и 2.6
сейчас собираются разными компиляторами, единый макрос, определённый
в kernel-build-tools, не годится).
- В пакете kernel-headers-modules-%flavour добавляется зависимость на
соответствующую версию компилятора (т.е. gcc2.96 или gcc3.3). Этот
пакет становится обязательным для сборки дополнительных модулей к
ядру (раньше некоторые пакеты kernel-modules-* собирались без него,
теперь такой вариант не пройдёт).
- В том же пакете kernel-headers-modules-%flavour добавляется файл
%_usrsrc/linux-%kversion-%flavour/gcc_version.inc, содержащий
информацию о версии компилятора:
export GCC_VERSION=%kgcc_version
(естественно, подставляется реальное значение, использованное при
сборке ядра). Кроме того, в Makefile ядра добавляется строка
include gcc_version.inc - в результате все модули, собираемые через
Makefile ядра, будут автоматически собираться нужной версией gcc.
- Из пакетов kernel-modules-* убираются все зависимости на версию
компилятора - при сборке нужная версия вытянется пакетом
kernel-headers-modules-%flavour (если ранее этого пакета не было в
BuildRequires, его нужно добавить). Если сборка выполняется через
Makefile ядра, ничего для выбора версии делать не надо. Если же
модуль использует собственный makefile, необходимо явно вписать в
spec:
. %_usrsrc/linux-%kversion-%flavour/gcc_version.inc
В простейшем случае этого достаточно. В некоторых случаях (ltmodem,
pctel) такой вариант не проходит (сборочные скрипты используют
GCC_VERSION для своих целей), тогда приходится использовать
CC="gcc-$GCC_VERSION" и убирать GCC_VERSION из окружения.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : /pipermail/devel-kernel/attachments/20040314/6799db0f/attachment.bin
More information about the devel-kernel
mailing list