On Tue, 21 Aug 2012, Philip Hazel wrote:

Right! That is exactly what ./PrepareRelease does! And having done it,
it might as well just create config.h.generic in situ rather than having
"make dist" do it, at least, that's my opinion.

Here's the real problem:

$ ./configure
[...]
$ rm config.h.generic    (let's pretend it doesn't exist yet)
$ make dist
make: *** No rule to make target `config.h.generic', needed by `distdir'. Stop.

It's not going to be obvious to a user that they need to run ./PrepareRelease in order to get past this error. And even if they knew about the script, they might want to just generate that one file, and not do all the other things the script does.

The same issue exists with other files (e.g. doc/pcre.txt), but the patch is meant to be just a step in the right direction, not a complete overhaul. The immediate motivation was to eliminate the inconsistency with how pcre.h.generic is built.

All the instructions for making config.h.generic are then together in one place. Otherwise people might imagine that "make config.h.generic" will work without having done ./configure first.

The advantage of specifying it as a makefile rule is that this is the most obvious way of doing things. That's where users are going to look first. If I were new to the project, I might find that the file is built by the PrepareRelease script only by examining the output of "fgrep -R config.h.generic". (And then I'd wonder why they didn't just put that in the makefile... :-)

As for running "make config.h.generic" before ./configure, anyone but a beginner will know that you don't have a usable makefile prior to configuring the tree.

It's likely that your tree was already configured with everything turned on for development purposes.

Indeed it was, but I didn't check to see whether the config.h.generic that I got was my development version or the version that "make dist" made.

It's actually both---config.h.generic was generated inside your development tree, at the time that you invoked "make dist" (presuming the file didn't already exist). But there should not have been a second instance of the file generated by "make dist" after that.


--Daniel


--
Daniel Richard G. || [email protected] || Software Developer
Teragram Linguistic Technologies (a division of SAS)
http://www.teragram.com/


--
## List details at https://lists.exim.org/mailman/listinfo/pcre-dev

Reply via email to