Возможна ли зависимость во время выполнения путем включения файла заголовка?

Дело в том, что есть ipk с именем A и еще один с именем B.
B имеет зависимость времени выполнения от A (согласно рецепту битового теста A)
Тем не менее, исходный файл в B имеет #include <some_header_in_A>
Для меня это похоже на зависимость сборки, но тогда я не могу объяснить себе, почему рецепт битбейка функционирует с зависимостью времени выполнения.
Любая помощь приветствуется, а также ссылка на некоторый пояснительный учебник.

2

Решение

Напомним мой ответ на другой вопрос.

  • Если T Зависит от п затем T«s do_configure задача зависит
    на п«s do_populate_sysroot задача.

  • Если T Зависит от п затем T«s do_build Задача Ia зависит от п«s
    do_package_write задача.

Так что тот факт, что ваш В RDEPENDS на ваше Значит это имеет уже
прошел все этапы do_package_write когда B построен, в том числе
do_populate_sysroot, Поэтому любые заголовки, которые экспорт в sysroot
уже будет там, когда В построен, и зависимость времени сборки будет удовлетворена.

Если В включает заголовки, экспортируемые , этот является это зависимость во время сборки. Но это
не исключает В также имеющий зависимость во время выполнения от . На самом деле это обычно
случай, если В зависит от времени выполнения тогда это также зависит от времени сборки
на , именно потому, что (для пакетов C / C ++) зависимость времени выполнения обычно
означает, что здание В нужны заголовки из .

Если ваш рецепт только определяет В RDEPENDS на , тогда нужно чуть чуть
удачи, чтобы преуспеть. Если так получилось, что В«s do_configure
включена проверка на наличие заголовки, а также Все
зависимости в игре сделали возможным В«s do_configure
бежать раньше «s do_populate_sysroot было закончено, то что то
проверить на Заголовки могут потерпеть неудачу.

Чтобы рецепт был полностью правильным и безопасным, в нем должны быть указаны
тот В RDEPENDS на а также тот В DEPENDS на .

1

Другие решения


По вопросам рекламы [email protected]