On Tue, 2007-03-13 at 16:14 -0600, Richard Megginson wrote: > Andrew Bartlett wrote: > > 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. > So, let me see if I understand what you're saying. Let's say I have > some .in files which have references to @prefix@ and @bindir@ (which is > ${prefix}/bin). I run configure which creates realfile from realfile.in > - I don't pass in --prefix to configure, which means @prefix@ will > expand to "/usr" and @bindir@ to "/usr/bin" in realfile. Next, I run > make prefix=/myprefix install. realfile will still refer to "/usr" even > though I've told make to use "/myprefix" instead. Hmm, I was reading the case about 'make install' and not 'make'. I think the GNU standards are insane at this point, and I don't know of any packages or users who need this functionality. Re-running ./configure isn't a very high price... > Where does it say or imply that? Isn't that what "make DESTDIR=/path > install" for? DESTDIR helps, because you don't have to specify a global prefix, which makes creating RPMs sane. Andrew Bartlett -- Andrew Bartlett http://samba.org/~abartlet/ Authentication Developer, Samba Team http://samba.org Samba Developer, Red Hat Inc. http://redhat.com
Attachment:
signature.asc
Description: This is a digitally signed message part
-- Fedora-directory-devel mailing list Fedora-directory-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-directory-devel