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