Укажите расположение make-файла для связи библиотек - PullRequest
0 голосов
/ 21 декабря 2010

Я недавно наткнулся на это в проекте, над которым я работаю. В пакете A есть обязательный параметр конфигурации --package-B-makefile-location, из которого make-файл A заимствует значения переменных.

Это общий шаблон дизайна, который имеет свои достоинства? Мне кажется, что источник пакета B так же важен, как и его двоичный файл для компиляции A. Могут ли быть причины, по которым я не хотел бы вмешиваться?

Спасибо

Andrew

Ответы [ 2 ]

0 голосов
/ 21 декабря 2010

Для одного пакета совершенно не нужно предварительно устанавливать другие пакеты, и вы должны указать эти местоположения.

Например, при сборке GCC (4.5.2) вам нужно указать расположение библиотек GMP, MPFR и MPC, если они не будут найдены по умолчанию.

Сложные системы, которые являются расширяемыми - Perl, Apache, Tcl / Tk, PHP - предоставляют данные конфигурации своим пользователям различными способами (Config.pm для Perl, apxs для Apache и т. Д.), Но эти данные конфигурации крайне важны для модули.

Я подозреваю, что вашему Пакету A требуются некоторые данные конфигурации, связанные с Пакетом B, но нет полноценной системы для его предоставления. В качестве обходного пути, пакет A должен видеть данные конфигурации, инкапсулированные в make-файле.

Редко нужен make-файл; весьма часто требуется некоторая информация о других пакетах.

0 голосов
/ 21 декабря 2010

Это обычный и полезный шаблон проектирования, но его можно злоупотреблять, как и любого другого.

Я не уверен, что понимаю вторую часть вашего вопроса, но если make-файлыхорошо продуманный, тогда любое изменение, которое вы вносите в make-файлы B, которые не ломаются, B тоже не сломают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...