Hi Eric, thanks for pursuing this. * Eric Blake wrote on Wed, May 13, 2009 at 02:51:34PM CEST: > @@ -156,7 +158,25 @@ Installation Names > In addition, if you use an unusual directory layout you can give options > like @option{--bindir=@var{dir}} to specify different values for > particular kinds of files. Run @samp{configure --help} for a list of > -the directories you can set and what kinds of files go in them. > +the directories you can set and what kinds of files go in them. In > +general, the default for these options is expressed in terms of > +@samp{$@{prefix@}}, so that specifying just @option{--prefix} will > +affect all of the other directory specifications. > + > +Depending on the package, the default directory layout chosen during > +@command{configure} can be altered during subsequent execution of > +@command{make}. For example, the command @samp{make > +prefix=/path/to/alternate} will choose an alternate prefix, and > +additionally impact all configuration variables that were expressed in > +terms of @samp{$@{prefix@}}. This has a couple of issues: - it fails to take into account that many packages that provide INSTALL do not provide this flexibility (e.g., all of those that use libtool don't currently provide it in full flexibility). - it sounds as if developers are expected to check whether "prefix" has been changed, an in that case, rebuild files that need its definition. However, the GCS states that upon "make install prefix=...", no files are to be changed to reflect the changed prefix. The above fails to make this clear. As a consequence, it is not very useful to use "make all prefix=..." after a plain "make all", because typically that would not change any files either. > However, some programs need to know at > +compile time where files will be installed, so the user should ensure > +that the same directory choice is made for both @samp{make all} and > +@samp{make install}. Some packages also support installation into a > +staging area, via @samp{make DESTDIR=@var{dir} install}. If your > +@command{make} does not understand arguments containing variable > +assignments, you can try @samp{env DESTDIR=@var{dir} make -e install}, > +although you must then be careful of any other environment variables > +affecting @command{make} behavior. The last sentence can be omitted; packages that support DESTDIR installs typically do not set DESTDIR in their makefiles. All make implementations understand arguments containing variable assignments, and they override the settings in a toplevel makefile too, it's only that they don't transport them to sub-makes if variables are also set in the sub makefile. (Yes, this is complicated, and applies to non-GNU make only; see autoconf.texi.) > +Some packages offer the ability to configure how verbose the execution > +of @command{make} will be. For these packages, running > +@samp{./configure --enable-silent-rules} sets the default to minimal > +output, which can be overridden with @code{make V=1}; while running > +@samp{./configure --disable-silent-rules} sets the default to verbose, > +which can be overridden with @code{make V=0}. Cheers, Ralf _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf