[devel] pkg-config Requires.private - полчища саранчи и враги народа

Dmitry V. Levin ldv на altlinux.org
Ср Мар 2 23:49:50 UTC 2011


On Thu, Mar 03, 2011 at 02:29:38AM +0300, Alexey Tourbin wrote:
[...]
> Обнаружил интересную особенность: если файл уже включен, то он может
> не появиться на первом фрейме стека (в выводе cpp).  Напр.
> 
> /usr/lib64/R/library/Matrix/include/Matrix.h
>      3  #include <Rdefines.h>
>      4  #include <Rconfig.h>
>      5  #include "cholmod.h"
> 
> cpp.req обнаружит только зависимость на Rdefines.h, т.к. Rdefines.h
> в свою очередь включает Rconfig.h.  При повторном включении Rconfig.h
> даёт пустой вывод, и препроцессор его не аннотирует.
> 
> Что в принципе не очень хорошо.  Но я не знаю другого способа вклиниться
> в cpp, и судя по cpp(1) такого способа скорее всего просто нет.  Проверил
> cpp -H, он обладает таким же дефектом.
> 
> $ cpp -I/usr/include/R -H /usr/lib64/R/library/Matrix/include/Matrix.h 2>&1 >/dev/null |grep /R/
> . /usr/include/R/Rdefines.h
> .. /usr/include/R/R_ext/Memory.h
> .. /usr/include/R/R_ext/RS.h
> ... /usr/include/R/Rconfig.h

Можно сделать вывод, что ограничиваться первым фреймом недостаточно.
Видимо, надежнее будет останавливаться на первых файлах за пределами
%buildroot.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20110303/abae301e/attachment.bin>


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