On Wed, Sep 10, 2008 at 09:22:12PM +0200, Alan Barrett wrote:
| On Wed, 10 Sep 2008, Joerg Sonnenberger wrote:
| > Not included is configure itself as it is 300KB by itself due to the
| > different version.
|
| Are you using the nbautoconf that gets built with MKMAINTAINERTOOLS=YES ?
I suspect not; the AC_TYPE_INT8_T (et al) macros appear to have
been introduced in autoconf 2.60 and some fixed in 2.60b,
and gnu/dist/autoconf is 2.52.
A while ago I considered updating gnu/dist/autoconf from 2.52 to 2.60 +,
and updating tools/compat/configure.ac to suit. However, the newer
version is even more stringent about requiring features in GNU m4 1.4.11+.
I see that autoconf 2.63 is now available, and has used GPLv3 since 2.62.
There's no entry in the NEWS file stating when the license changed;
I had to trawl through the git repository to determine this.
| > The patch does three things:
| > (a) It uses the normal autoconf macros to find or define if needed
| > the various fixed size types, [u]intmax_t and [u]intptr_t.
| > (b) It defines u_int{8,16,32,64}_t to uint{8,16,32,64}_t if the former
| > don't exist.
| > (c) Include strtoull, strtoimax and strtoumax if needed.
|
| (a) and (c) look reasonable, in principle but I haven't dona a build
| with your patch. Why do you want (b)?
|
| > -/* Define if you have uint16_t, but not u_int16_t. */
| > +/* Define u_int16 in terms of uint16_t. */
| > #undef u_int16_t
|
| Do we have tools that rely on u_intNNT? If so, I think we should fix
| them to use uintNN_t instead, and rip these definitions out of the
| compat headers.
I agree with Alan; let's remove the u_intNN_t stuff from tools
to reduce the amount of portability foo we need to deal with
in tools/compat.
Comments:
* Joerg's proposal requires a newer version of autoconf (2.60+)
than we have in gnu/dist/autoconf as a MKMAINTAINERTOOLS item.
(for AC_TYPE_INT8_T, etc)
* New autoconf has improved tests for other issues that may
help improve the portability of src/tools.
* autoconf 2.60+ needs GNU m4 1.4.5 and prefers 1.4.11.
We don't have GNU m4 in-tree.
* autoconf 2.62+ and m4 1.4.10+ is licensed under GPLv3.
* The general directive has been to avoid GPLv3 in-tree
before NetBSD 5.0.
However, these two programs are "maintainer tools" not built
by default and only necessary to ensure that
tools/compat/configure.ac can be locally modified and
built to tools/compat/configure, without requiring other
third-party tools.
In light of this, we need to decide whether the costs of
importing a newer autoconf & GNU m4 into the tree
(under src/external/gpl3/ ) this close the the 5.0 branch
are outweighed by the benefits of building tools/compat/configure
with a more modern autoconf.
The answer to this may need direction from core%NetBSD.org.@localhost
cheers,
Luke.
Attachment:
pgpWvuGDvec66.pgp
Description: PGP signature