On Tue, 2007-03-13 at 08:09 -0600, Richard Megginson wrote:
Andrew Bartlett wrote:
> <snip>
> It was this bit in Makefile.am that seems odd to me:
>
> # these are for the config files and scripts that we need to generate
> and replace
> # the paths and other tokens with the real values set during
> configure/make
> # note that we cannot just use AC_OUTPUT to do this for us, since it
> will do things like this:
> # LD_LIBRARY_PATH = ${prefix}/lib/fedora-ds
> # i.e. it literally copies in '${prefix}' rather than expanding it out -
> we want this instead:
> # LD_LIBRARY_PATH = /usr/lib/fedora-ds
> if BUNDLE
> fixupcmd = sed \
> -e 's,@bindir\@,$(bindir),g' \
> -e 's,@sbindir\@,$(sbindir),g' \
>
>
It seems odd because it is odd - but there is no other way to replace
things like @localstatedir@, @sysconfdir@, @sbindir@, etc. in .in files
that we use during the build. I don't know how other projects do this -
perhaps they ignore the "mandated GNU coding standards" and just have
${prefix} and ${exec_prefix} expanded during configure, and just let
AC_CONFIG_FILES and AC_OUTPUT create all of the real files from their
corresponding .in file.
I think so. The coding standard seems to imply that you must be able to
change the $prefix and $exec_prefix in the install, but that all
internal references must be as if they had *not* been changed. Perhaps
that's the clue?
Andrew Bartlett
--
Andrew Bartlett
http://samba.org/~abartlet/
Authentication Developer, Samba Team
http://samba.org
Samba Developer, Red Hat Inc.
http://redhat.com