|
|
On 9/10/20 2:28 PM Greg Ercolano wrote:
I know we had a long thread about all this years ago, and there were
reasons why it is the way it is.
I don't remember that particular thread, but ...
IIRC, it's best if autoconf generates these files, as it can have version
specific stuff in them. I think we hit a snag once when autoconf changed
something, and our frozen copies broke it.
It's not `autoconf', it's `automake' that creates these files. We do
this in the distrubution tarballs anyway, so IMHO we can (should!) also
do it in the snapshots.
We keep those copies around in the misc directory as a fallback, in case
it doesn't generate them.
It's why we have these targets in the Makefile:
_______________________________
config.guess config.sub:
-automake --add-missing 2> /dev/null <-- THIS SHOULD GENERATE THE TWO FILES. IF NOT, NEXT TWO LINES DO
if [ ! -e config.sub ]; then echo NOTE: Using frozen copy of config.sub; cp misc/config.sub . ; fi
if [ ! -e config.guess ]; then echo NOTE: Using frozen copy of config.guess; cp misc/config.guess . ; fi
Yep, this is well known, and most of the devs know this. However, it's a
FAQ (as you also noticed) because other users have issues with this.
The "normal" procedure with probably most distributed software is to
execute `./configure; make', but this does NOT work with our snapshots
although it works with the release tarballs. This should be "fixed".
_______________________________
..and why 'make distclean' does this:
_______________________________
$(RM) config.guess
$(RM) config.sub
$(RM) configure
_______________________________
Okay, that means: if you get to running `make' then you can also run
`make distclean' after the build or before the next build. You see also
that `make distclean' cleans *both* the configure script and the
config.* files. After that you can always run `make' *or* read the
README files. ;-)
More details: the `makesrcdist' script that creates the release tarballs
does this:
```
echo Creating configure script...
autoconf -f
echo Creating config.guess and config.sub \(ignore any other errors\)...
automake --add-missing --copy 2>/dev/null
```
So we create both the configure script and the config.* files. But we
need autoconf and automake to do this. By this we copy *arbitrary* files
(depending on the current autoconf and automake version on the build
system) into the release tarballs.
The snapshots are created on our FLTK server. The autoconf and automake
versions on the server are most likely even older than on the release
build system (typically my own Linux box because I've created most of
the latest releases).
The files misc/config.guess and misc/config.sub files can be updated
from their original sources (see links in the files and in the
update_config_files script). Hence these files should (or can, at least)
be up-to-date. They *should* always be up-to-date for release tarballs
(but this is not guaranteed, it must be done manually).
That all said, my points are:
(1) the snapshots should behave like the release tarballs
(2) the snapshots are for "normal" users that build FLTK, not for
software gurus (or devs like us)
(3) the "bundled" config.guess and config.sub files should be current
(we can update them frequently)
(4) it's a FAQ, hence we need to do "something"
--
You received this message because you are subscribed to the Google Groups "fltk.general" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkgeneral+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkgeneral/eff81065-4d67-71d8-dce9-04409a83b871%40online.de.
[ Direct Link to Message ] | |
|
| |