Алексей Махоткин

домашняя страница

Autoconf

Go to the first, previous, next, last section, table of contents.


Файлы библиотек

@anchor{Libraries}

Нижеописанные макросы проверяют наличие определенных библиотек C, C++ или Fortran 77.

Macro: AC_CHECK_LIB (library, function [, action-if-found [, action-if-not-found [, other-libraries]]])
В зависимости от текущего языка (see section Выбор языка), макрос пытается убедиться, что функция C, C++ или Fortran 77 с именем function доступна (путем проверки, что тестовая программа компонуется с библиотекой library для получения доступа к функции). library является базовым именем библиотеки; например, для `-lmp’, используйте `mp’ в качестве аргумента library.

action-if-found является списком команд командного процессора, которые запускаются в случае, если процесс компоновки прошел удачно; action-if-not-found является списком команд, которые запускаются, если процесс компоновки потерпел неудачу. Если аргумент action-if-found не указан, то действие по умолчанию добавит `-llibrary в переменную LIBS и определит переменную `HAVE_LIBlibrary (все буквы заглавные).

Если при компоновке с library выдаются сообщения о ненайденных символах, которые могут быть найдены, компонуя программы с дополнительными библиотеками, то вы должны передать список этих библиотек через пробелы в аргументе other-libraries: `-lXt -lX11’. В противном случае этот макрос не сможет определить, что библиотека library присутствует, поскольку компоновка тестовой программы всегда будет аварийно завершаться с сообщениями о ненайденных символах.

Macro: AC_HAVE_LIBRARY (library, [, action-if-found [, action-if-not-found [, other-libraries]]])
Этот макрос аналогичен вызову AC_CHECK_LIB с аргументом function, равным main. Вдобавок, library может быть указана как `foo’, `-lfoo’ или `libfoo.a’. Во всех этих случаях компилятору передается строка `-lfoo’. Однако library не может быть переменной командного процессора; ее значение должно быть символьным именем. Этот макрос считается устаревшим.

Macro: AC_SEARCH_LIBS (function, search-libs [, action-if-found [, action-if-not-found [, other-libraries]]])
Производит поиск библиотеки, определяющей функцию function, если она еще не доступна. Это подобно вызову макроса AC_TRY_LINK_FUNC сначала без указания библиотек, а затем для каждой из библиотек, перечисленных в списке search-libs.

Если функция найдена, то выполняются команды action-if-found, в противном случае выполняются action-if-not-found.

Если при компоновке с library выдаются сообщения о ненайденных символах, которые могут быть найдены, компонуя программы с дополнительными библиотеками, то вы должны передать список этих библиотек через пробел, используя аргумент other-libraries: `-lXt -lX11’. В противном случае этот макрос не сможет определить, что библиотека library присутствует, поскольку компоновка тестовой программы всегда будет аварийно завершаться с сообщениями о ненайденных символах.

Macro: AC_SEARCH_LIBS (function, search-libs[, action-if-found [, action-if-not-found]])
Этот макрос эквивалентен вызову AC_TRY_LINK_FUNC для каждой из библиотек, перечисленных в списке search-libs. Макрос добавляет `-llibrary к содержимому переменной LIBS для первой библиотеки, которая содержит function и выполняет action-if-found. В противном случае выполняется action-if-not-found.


Go to the first, previous, next, last section, table of contents.

Comments