On 2022-08-31 00:42, Alan Coopersmith wrote: > Thomas Klausner & I have been having an off-list discussion about a problem > he had building some X.Org packages for NetBSD. > > For historical reasons, the NetBSD headers hide the prototype for > reallocarray() > behind #ifdef _OPENBSD_SOURCE - while the question has been asked if > this is > still necessary now that it's widely adopted, including in the next > version of > POSIX, that's the way it is in the existing releases. (It's not the only > platform to do something like this - the lack of _GNU_SOURCE was > reported in > https://gitlab.freedesktop.org/xorg/lib/libxext/-/issues/4 .) > > The easy solution is to use autoconf 2.70 or newer, since that release > added > _OPENBSD_SOURCE to the defines added by AC_USE_SYSTEM_EXTENSIONS: > https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=c467efab94cd2d0331655 > > > But currently we leave it mostly up to whoever builds the tarballs for > release > to decide what version of autoconf to use (though they in turn mostly > rely on > what their distro builder packages in the version they run), and even > the latest > xorg-server-21.1.4 tarball was built with autoconf 2.69. > > We document autoconf 2.62 as the minimum release required in: > https://www.x.org/wiki/Building_the_X_Window_System/ > and most modules have AC_PREREQ([2.60]). If I recall correctly, a > decade ago > we didn't want to force use of autoconf 2.65 or later since some vendors > were > still uncertain at that time about those newer version being under GPLv3 > - is > that still a problem for anyone? > > If not, we could start bumping the AC_PREREQ to 2.70 in just the repos that > use reallocarray, to ensure we don't accidentally ship versions that can't > build on NetBSD - that's still a small subset of the modules we ship - only > 11 out of 265 so far: > > app/fslsfonts > app/xauth > app/xmodmap > app/xrdb > lib/libfontenc > lib/libFS > lib/libX11 > lib/libXext > lib/libXfont > lib/libXmu > xserver > > (And as much as I'd love to believe that meson will solve this for us, that > seems unlikely in this case: > https://github.com/mesonbuild/meson/search?q=_OPENBSD_SOURCE > so it seems we'll have to reinvent the wheel there.) Just a note, xserver master branch no longer contains autotools support and we can't bump AC_PREREQ on xorg-server-21.1.x so we will need to implement the workaround for meson anyway.
Cheers, Povilas