LINUX.ORG.RU

Проблема с autoconf и config.h


0

0

Я задаю каталог данных моей программы ($prefix/share/progname) таким образом:

В configure.in:

MY_EXPAND_DIR(progname_datadir, "$datadir/$PACKAGE/data")
AC_DEFINE_UNQUOTED(PROGNAME_DATADIR, "$progname_datadir", "Program data install path.")

В acinclude.m4:

AC_DEFUN(MY_EXPAND_DIR, [
$1=$2
$1=`(
test "x$prefix" = xNONE && prefix="$ac_default_prefix"
test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
eval echo \""[$]$1"\"
)`
])

В config.h в результате (после отработки aclocal, autoheader, autoconf и automake)
прописывается что-то вроде

#define PROGNAME_DATADIR "/usr/local/share/progname/data"

С какого-то момента, судя по всему после обновления autoconf/automake
(сейчас у меня 2.61/1.10 соответственно), в config.h стало попадать

#define PROGNAME_DATADIR "${prefix}/share/progname/data"

то есть $prefix не раскрывается :-( Кто-нибудь знает как это можно
обойти без отката на предыдущие версии autotools?

anonymous

вообще-то, такие вещи лучше определять через -D

прописать в Makefile.am что-то вроде

INCLUDES = -DPROGNAME_DATADIR=\""$(datadir)/$(PACKAGE)/data"\" ...

ananas ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.