Re: ${prefix} expansion in configure.ac ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Stepan Kasal wrote:

Hi,

On Mon, Feb 07, 2005 at 03:40:02PM +0200, Philippe Trottier wrote:


here is something I have noticed, exec_prefix is set to NONE until the end of the config script... now I am thinking to see if it is set at NONE and if it is then set exec_prefix to ${prefix}, and put it back to NONE afterward ... does that make any sense ?



if it's set to NONE, it means it hasn't been given on the command line. Perhaps a macro below will execute

test $exec_prefix = NONE


Yes that I noticed...

to see whether a value was given or not.  I don't want to destroy this
information, so I restore the previous state.

It would be also possible to do something like:

test "x$prefix" = xNONE &&  prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
eval eval ac_define_dir="\"\\\"$1\\\"\""
test -d "$ac_define_dir" dnl

or even:

test "x$prefix" = xNONE &&  prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
eval eval test -d "\"\\\"$1\\\"\"" dnl

But please note that I had to change the value assigned to exec_prefix,
and I had to add one more `eval' on that account.


But why is it not set at the beginning just like ${prefix} is a good question ...

The reason is that in the generated Makefiles, you should see:

	exec_prefix = ${prefix}

not the value of $prefix.  This subtle difference enables the following:

	make prefix=...

which should change both prefix and exec_prefix variables.

To sum up, I think the solution with restoring NONEs is the cleanest way.


setting the exec_prefix in the beginning of configure.ac would still allow the exec_prefix to be set at make stage (I think ?) any other reasons why it should be left to NONE till the end ? non- Unix platforms maybe ?

The other solution is not to touch it at all, but I do not know if with my clumsy use of sed is dangerous or not... then I have been trying to understand the disable and enable trouble in this case, it does seem to work very nicely, at least for me ...

AC_MSG_CHECKING([Library directory at])
if test "${exec_prefix}" = "NONE" ; then
eval test -d `echo $libdir | sed 's,exec_prefix,prefix,'` &&
eval LDFLAGS="-L`echo $libdir | sed 's,exec_prefix,prefix,'` $LDFLAGS" &&
else
eval test -d $libdir &&
eval LDFLAGS="-L$libdir $LDFLAGS" &&
fi
AC_MSG_RESULT($libdir)



I know I should rebraket everything to make it clean again ... I know I am not the only one trying to do the same thing, so I'll keep it complete ...


Phil


_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux