From: Alan W. I. <ir...@be...> - 2003-01-27 23:08:44
|
On Mon, 27 Jan 2003, Rafael Laboissiere wrote: > I have plunged more deeply into the header configuration problem. I seems > that that are several small independent problems and the conjunction of some > of them may have been triggering the bug observed by Joao. Let us see which > are those problems: > > 1) AC_CONFIG_HEADERS should be used in place of AM_CONFIG_HEADER in > configure.ac. I guess that the use of the deprecated AM_CONFIG_HEADER is > harmful with the present version of autoconf/automake, but who nows. Can you give a reference for the "deprecated". I have the impression you are correct, but when I looked for it last night I got two stories, (from info automake) AM_CONFIG_HEADER required and AM_CONFIG_HEADER optional. I am sure I have also seen the story "deprecated", but can you remind me where? > > 2) The file include/plDevs.h is totally useless since all of its definitions > are already duplicated in include/plConfig.h. I would recommend to > delete taht file from the repository (or actually include/plDevs.h.in) > and replace all inclusions of plDevs.h by plConfig.h. The files > concerned by this change are drivers/*.c, > bindings/tk/{plserver.h,tcpip.c}, include/plcore.h, and src/plfreetype.c. > Also, remove include/plDevs.h from the call to AC_CONFIG_HEADERS in > configure.ac and from the list pkginclude_HEADERS in include/Makefile.am. Agreed. That's a lot of work but straightforward. > > 3) Autoheader is being called in bootstrap.sh unnecessarily. Autoheader is > only needed when there is no config.h.in source file (in our case > include/plConfig.h.in), since it is created automatically from the > AC_DEFINE macros seen in configure.ac. I don't understand AC_DEFINE, but I will take your word this makes autoheader unnecessary. > > 4) There is a deprecated file acconfig.h from the top-level directory. We > can happily remove it from the CVS repository. I think there is a bit of value in that file (isinf, for example). Where/how should we do the same thing without that file? > Another unrelated bizarre thing is the command "touch include/plConfig.h.in" > in bootstrap.sh. From the CVS log, this was introduced in the AM-LT branch, > as a workround for problems that I found with autoheader (see > http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/plplot/plplot/bootstrap.sh?rev=1.1.2.4&content-type=text/vnd.viewcvs-markup) > If autoheader is not called any more in bootstrap.sh, I think that that > touch command should be also removed. Agreed. I had forgotten it was even in bootstrap.sh. (Out of order) > > I have no time to do extensive tests, but implementing the suggestions above > should fix the problem, or at least make a step forward in having a more > sane headers configuration. I will have a bit of time this next weekend (and realistically probably the next as well) to try and implement and test your suggestions if you have run out of further time yourself. I will probably need extra help with (4), but the rest seem straightforward. Of course if Maurice got to it first, that would be great. A lot of this "dog's breakfast" is my fault. I don't understand autoconf so I left a lot of cruft in without much understanding of what was going on. I was just thankful it worked at all. Pulling it apart and removing the duplicate/unneeded bits is probably going to be painful, but I think such an exercise is worthwhile for 5.2.1 and will make us much less sensitive to changes in autotools versions. Rafael, thanks very much for your guidance on what you think is necessary to do (at least as a first step). Maurice, do you concur with these suggested steps? Before Christmas, I believe you had a whole shopping list of autoconf-related changes you wanted to do. Does this work fall in line with that shopping list? I don't want to work against what you wanted to do, but on the other hand, I would like to bring out 5.2.1 fairly soon (this weekend or next depending on how hard it is to implement/test Rafael's suggestions, and how much help I have for doing that). Meanwhile, I need some input from Maurice and/or Geoffrey on what to do with the "touch" workaround. It seems that does work for Joao so I expect my tests (and Maurice's tests) of it tonight will also confirm that. Assuming that, should I overwrite the plplot-5.2.0 tarball and source rpm with the changed date on include/plDevs.h.in? Remember, those files are going to get downloaded a lot before we can bring out 5.2.1. Of course I will be informing plplot-general of the status of the SF file release (if I update those SF files) as well as the workaround. 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 __________________________ |