Поиск настраиваемых подключаемых каталогов с помощью autoconf

StackOverflow https://stackoverflow.com/questions/6379104

Вопрос

Я пытаюсь скомпилировать программу, использующую фестивальную библиотеку.

По сути, требования состоят в том, чтобы вы включили каталоги заголовков Festival и estools в путь включения, а также оба пути к их библиотекам.

При обычной установке они просто остаются в своих папках, поэтому у вас

родовое слово

в качестве необходимого пути поиска и

родовое слово

как путь к библиотеке.

Я думаю, что правильный способ справиться с этим - использовать параметры конфигурации "--with-estools" и "--with-festival".

Однако при установке в системе debian / ubuntu существует другая настройка. Я хотел бы иметь возможность справиться с этой настройкой, где пути поиска

родовое слово

и путь поиска просто

родовое слово

Я хотел бы обнаружить второй случай и обработать его автоматически, при этом по-прежнему требуя от пользователя указания первых двух каталогов, если второй случай не удовлетворяет.Как мне это сделать?

Это было полезно?

Решение

Есть ли что-то, что помешало бы такой настройке?

  1. --festival-includes со значением по умолчанию (если не задано) в / usr / include / festival

  2. --festival-libs со значением по умолчанию (если не установлено) /usr/lib/libfestival.XXX

То же самое и с эстулами.

Другие советы

Сопровождающему пакета вообще не нужно беспокоиться об этих деталях;это ответственность пользователя.Если пользователь установил библиотеку в нестандартном месте, то ему необходимо добавить LDFLAGS= -L / path / to / lib в файл CONFIG_SITE или при каждом вызове configure или поместить этот путь в путь поиска компилятора черезкакой-то системно-зависимый механизм.Точно так же пользователь должен добавить -I / path / to / include к CPPFLAGS.

Другими словами, debian поступает правильно, просто устанавливая библиотеки и заголовки в стандартном месте.Любой, кто решил установить библиотеки в нестандартном месте, дает себе больше работы.Вы не обязаны исправлять их ошибки.

Добавление таких параметров, как --with-festival или --with-festival-headers, бесполезно;пользователь может так же легко назначить LDFLAGS и CPPFLAGS, и эти переменные стандартизированы.

Некоторые платформы приняли Стандарт иерархии файловой системы - http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard.

Это действительно должно быть отражено в autoconf, вместо того чтобы настаивать на том, чтобы пользователь разобрался с этим, установив CFLAGS, потому что / opt / openssl / lib больше не является "нестандартным" местом.

FHS также указывает, что / usr / local представляет собой «третичную иерархию локальных данных, специфичную для этого хоста».Так что, возможно, сначала действительно нужно проверить / opt.

Подробнее о FHS / opt -> http://www.pathname.com / fhs / pub / fhs-2.3.html # OPTADDONAPPLICATIONSOFTWAREPACKAGES

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top