2013-08-24 3 views
5

У меня есть переменный, объявленные в configure.ac:Automake: переменный не расширено на Solaris

MY_VERSION="0:0:0" 
AC_SUBST(MY_VERSION) 
AC_MSG_NOTICE([$MY_VERSION]) 

Значение переменного распечатываются правильно во время ./configure фазы.

В Makefile.am там следующие строки:

libmylib_la_LDFLAGS = -version-info @[email protected] 

В командной строке компоновщика это правильно расширяется до "-version-инфо 0: 0: 0" во всех системах, кроме Solaris. В Solaris (SunOS 5.10 Generic_141414-10 sun4u sparc SUNW, Sun-Blade-100) Я получаю «-version-info» без номера версии.

Любая идея, что могло произойти не так?

+1

версию Autoconf в системе Solaris? – Maquefel

+0

Как строится версия Solaris? Вы строите tarball для Solaris на другом хосте, разве он построен на самой Solaris? – ldav1s

+1

Сначала я должен убедиться, что ваш скрипт configure действительно правильно устанавливает эту переменную. Легкий способ сделать это - взломать «set + x» и «set -x» вокруг кода в «configure». Затем я проверил сгенерированный файл config.status, чтобы убедиться, что там верна настройка. Иногда autoconf путешествует по ошибке поставщика в sed или awk или что-то в этом роде ... –

ответ

1

(Немного выстрел в темноте здесь, но ...)

Мое предположение было бы, что либо MY или VERSION получить определенные на Solaris по какой-либо причине. Попробуйте использовать вместо этого так, что вы указываете M4, чтобы это явно определить.

Кроме того, как сказал Игорь, используйте $(MY_VERSION) (хотя это не имеет никакого отношения к этому.)

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

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