From: Keith M. <kei...@to...> - 2006-12-20 14:29:13
|
Earnie Boyd wrote, quoting Brian Dessent: >> You say DESTDIR is broken, I say overloading "prefix" by having it >> take on two conceptually different and unrelated values is broken. It has nothing whatsoever to do with *overloading*; it is *overriding*, plain and simple. Ok. So, I've configured for a *native* Win32 build, with a correctly specified `--prefix=c:/mingw'. Now you would have me relocate, after the initial build, by saying: make DESTDIR=/foo/ install which results in trying to install binaries into `/foo/c:/mingw/bin'. Perhaps you, Brian, would care to explain how that could possibly be considered to be anything *other* than broken. Then again, perhaps you wouldn't, for there is clearly no other way to describe it. > I read the same document you are viz > http://www.gnu.org/prep/standards/standards.html#Directory-Variables > which says that make install prefix=/any/other/prefix isn't allowed > to rebuild the package. > > <quote> > Running ?make install? with a different value of prefix from the one > used to build the program should not recompile the program. > </quote> And this is as it has been, for as long as I can remember; this is in section 7.2.5, accessed via the above URI, and that statement alone means that, if GCC will force a rebuild as Danny (Smith) has suggested, when using a different prefix at install time from that specified at configuration time, then GCC itself is in breach of the GNU Coding Standards :-( Furthermore... > I will have to revise my statements toward DESTDIR with the > addition of it in the standards document however packages that > rebuild by supplying a different value of prefix or any other > destination variable is, by described coding standards > definition, broken. I must respectfully disagree with this statement; in the very same section 7.2.5 of the standards, just a paragraph or two *before* the previous quote, I see: <quote> Installers are expected to override these values when calling make (e.g., make prefix=/usr install) or configure (e.g., configure --prefix=/usr). </quote> and reading that in context with the preceding quote, IMO it remains *mandatory* to support overriding prefix at install time, and this is the *only* mandatory mechanism for relocation at install time; (do note that, while to their eternal shame, the GNU Standards Committee have now, as recently as 15-Nov-2006, adopted the DESTDIR horror into the standards, supporting it remains *optional*). Thus, IMO there is no way that continuing to follow the mandatorily supported practice of overriding prefix at install time could *ever* be described as broken. For entirely practical reasons, I shall continue to employ this mechanism, and consider the use of DESTDIR to be broken. Regards, Keith. |