LINUX.ORG.RU

autoconf и подстановка путей

 ,


0

2

реально ли как-то научить ./configure подставлять полные пути вместо использования переменных?

а то, если задан только --prefix=/usr, всякие @libdir@ или @datadir@ заменяются на ${exec_prefix}/lib и ${prefix}/share. в результате приходится в скриптах держать кучу лишних переменных, что несколько раздражает

★★★★★

Без примера не очень ясно, что именно не работает. Есть минимальный неработающий пример?

sf ★★★
()
Ответ на: комментарий от sf

я не сказал - не работает. я просто хочу изменить поведение.

кусок скрипта перед AC_OUTPUT

# Path set by configure
prefix=@prefix@
exec_prefix=@exec_prefix@
moddir=@libdir@/ipkg/modules

кусок скрипта после AC_OUTPUT

prefix=/usr
exec_prefix=${prefix}
moddir=${exec_prefix}/lib/ipkg/modules

две лишние переменные $prefix и $exec_prefix, нужные лишь для того, чтобы @libdir@ таки в нормальный путь развернулся

я хочу, чтобы @libdir@ заменился сразу на /usr/lib, без этих дополнительных переменных

ananas ★★★★★
() автор топика
Ответ на: комментарий от Harald

ничего правильного в этом не вижу

ananas ★★★★★
() автор топика
Ответ на: комментарий от ananas

m4 magick

Есть такое (похоже, что работает):

dnl adl_RECURSIVE_EVAL(VALUE, RESULT)
dnl =================================
dnl Interpolate the VALUE in loop until it doesn't change,
dnl and set the result to $RESULT.
dnl WARNING: It's easy to get an infinite loop with some unsane input.
AC_DEFUN([adl_RECURSIVE_EVAL],
[_lcl_receval="$1"
$2=`(test "x$prefix" = xNONE && prefix="$ac_default_prefix"
     test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
     _lcl_receval_old=''
     while test "[$]_lcl_receval_old" != "[$]_lcl_receval"; do
       _lcl_receval_old="[$]_lcl_receval"
       eval _lcl_receval="\"[$]_lcl_receval\""
     done
     echo "[$]_lcl_receval")`])

adl_RECURSIVE_EVAL($datadir, datadir)

По документации полная подстановка не тру, так как make install должен быть конфигурируемым, но если хочется, то почему бы и нет.

xaizek ★★★★★
()
Ответ на: комментарий от xaizek

о, дякую, опробую.

а make install достаточно конфигурируем через переопределение переменных в комстроке, если уж так хочется странного

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