2011-12-18 8 views
0

Я точно не знаю, что мой вопрос, так как я серьезно обернулся autoconf/automake/libtoolize и т. Д. Некоторые из нас пытаются автосохранять mbsystem. Я бросил вверх репо работы на сегодняшний день здесь:Как правильно создать настройку autoconf netcdf 4.x?

https://bitbucket.org/schwehr/mbsystem

Я пытаюсь улучшить настройки NetCDF использовать NC-конфигурацию, но не уверен, как сделать это правильно. Я работаю над configure.in. Кажется невозможным найти заголовок с AC_CHECK_HEADER («netcdfcpp.h») после INCLUDES="$INCLUDES ``$nc_config --cflags``" (простить неправильные обратные тики), взятые из проверки gdl netcdf. Каков правильный способ обновления пути от nc-config --cflags?

http://gnudatalanguage.cvs.sourceforge.net/viewvc/gnudatalanguage/gdl/configure.in?revision=1.121

Затем я попытался использовать AX_PATH_GENERIC и застревают на этой ошибке с m4_include([m4/ax_path_generic.m4])

Running autoconf ... 
configure.in:29: error: possibly undefined macro: AC_SUBST 
     If this token and others are legitimate, please use m4_pattern_allow. 
    See the Autoconf documentation. 
configure:12992: error: possibly undefined macro: AC_MSG_RESULT 

Любая помощь в получении лучше создать чек NetCDF, что на самом деле будет работать с фанки нестандартности установки местоположения через nc-config и выяснение того, как правильно поместить макрос в каталог m4, будет огромной помощью.

Указатель на пакет, выполняющий это действительно чисто, был бы суперпомощью. Для примера я смотрел источники netcdf, gdal, geos и gdl. А такие вещи, как осьминог NetCDF проверить, не используйте NC-конфиг ... http://www.tddft.org/trac/octopus/browser/trunk/m4/netcdf.m4

В настоящее время установки с Fink для NetCDF 4.x:

nc-config --cflags --libs 
-I/sw/opt/netcdf7/include -I/sw/include 
-L/sw/opt/netcdf7/lib -lnetcdf 

Спасибо!

ответ

0

"Правильный" способ использовать третий участник m4 макрос будет использовать ACLOCAL (обычно через Automake) для генерации aclocal.m4. Если вы используете Automake, просто добавьте

 
ACLOCAL_AMFLAGS = -I m4 

в Makefile.am и положить

 
AC_CONFIG_MACRO_DIR([m4]) 

в configure.ac (после переименования configure.in).

Если вы не используете automake, добавьте '-I m4', когда вы вызываете aclocal. Если вы не используете aclocal, вам придется добавить определение макроса в конец aclocal.m4 (и будьте осторожны, чтобы никогда не запускать aclocal, так как это перезапишет файл.)

Нет хороший пример чистого способа использования скриптов conf для сборки, потому что использование таких скриптов является по своей сути ошибочным подходом. Несколько более чистый подход состоит в том, чтобы прекратить использование пользовательских сценариев и использовать pkg-config через PKG_CHECK_MODULES, но самый чистый способ сделать это - обучить ваших пользователей. Если пользователь хочет установить библиотеку в нештатных нестандартных местах, то они должны быть достаточно образованы, чтобы правильно установить LDFLAGS и CPPFLAGS.

 Смежные вопросы

  • Нет связанных вопросов^_^