From: Alan W. I. <ir...@be...> - 2003-01-31 00:52:05
|
On Thu, 30 Jan 2003, Rafael Laboissiere wrote: > The promised patch is attached below. It is not yet fully test, but at > least bootstrap.sh works (both autoconf and autoheader). I am also > attaching the new include/plConfig.h.in file, but its contents may change. > acconfig.h must be deleted from and include/plConfig.h.in must be added to > the CVS repository. > > Here is a summary of the changes: > > * In configure.ac, AM_CONFIG_HEADER is replaced by AC_CONFIG_HEADERS. > config.h is now the first element in the arguments list. > > * All AC_DEFINE and AC_DEFINE_UNQUOTED macros in configure.ac and > sysloc.in have now three arguments, as mandated by the autoheader docs. > > * Added at the top of plConfig.h: > > #if HAVE_CONFIG_H > # include <config.h> > #endif > > * The strange call touch plDevs.h in bootstrap.sh has been removed. > > > Could you please check if this patch is okay? The patch applies cleanly on top of my recent changes to sysloc.in and configure.ac. I do get one error message, however, from bootstrap.sh. configure.ac:770: required file ./config.h.in' not found Also, no config.h.in (or config.h) is produced. The workaround was to put touch config.h.in in bootstrap.sh. Once that was done, there were absolutely no messages from bootstrap.sh which is a first for me, and quite encouraging. I then went on with configure; make; make install, and all was well with plplot-test.sh (produced identical postscript to 5.2.0). So I am committing it because it is no worse than before, and I like the fact that all those stupid warnings are gone. BTW, have a look at Rafael's extensive comments in the include/plConfig.in.h log for the AM-LT branch. (That file existed on that branch for a while before it was deleted for that branch. Apparently when I used cvs add on the current file, the state information is okay since I can retrieve it from CVS without problems.) Rafael's cvs log comments are very similar to recent threads explaining why the bizarre touch command has to be used in ./bootstrap.sh, etc. Now for the bad news. The current commit does not solve the fundamental problem that started all this thread: Right in the middle of my initial make: cd .. && /bin/sh /home/software/plplot_cvs/HEAD/plplot/missing --run autoheader touch ./plDevs.h.in UGH! Part of what is going on is the CVS date of ./plDevs.h.in is fixed in December. So this touch occurs when you first make, and you are okay until the next time you do a CVS update (which I believe restores the old date). plConfig.h.in is currently okay because the CVS date is today. But if configure.ac is updated again, then make will assume plConfig.h.in is out of date and will run autoheader on it as well. Note, I am no longer using the Debian autotools which have been patched extensively by the Debian packager to allow a combination of old and new autoconf stuff. Instead, in the interests of making sure we all have the same autotools versions, I have been using the latest stable releases of everything, (autoconf-2.57, automake-1.7.2, and libtool-1.4.3) which I downloaded from FSF and built from scratch. I think we have clearly run up against a bug in autoconf since autoheader is not supposed to be run on those files at all. (It is only supposed to be used to generate files from scratch such as config.h.in, not modify existing files, and besides these are the second and third files in the list for AC_CONFIG_HEADERS, and the documentation says autoheader should only be invoked for the first file.) Rafael, in your first post you had a suggestion for supressing autoheader altogether. Perhaps it is time to try that as a workaround for the bug. But I am amazed (a) this problem hasn't bitten most of the many projects that are using autoconf and cvs together, and (b) the resulting outcry didn't generate strong motivation for a quick fix. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the Canadian Centre for Climate Modelling and Analysis (www.cccma.bc.ec.gc.ca) and the PLplot scientific plotting software package (plplot.org). __________________________ Linux-powered Science __________________________ |