Re: Host requirements to build the Tools binaries
Izumi Tsutsui <[email protected]> Thu, 15 Aug 2024 18:59:37 +0900
| Newsgroups | gmane.os.netbsd.devel.toolchain |
|---|---|
| Message-ID | <[email protected]> |
> > So this boils down to: What APIs / standards does NetBSD (while > > building `tools`) expect to be implemented? > > > > strptime is marked as XSI[1], so you'll need to add `_XOPEN_SOURCE' as the > man-page on Linux indicates (either on the cmd. line, or before any headers > are included, or in the very first header read as tsutsui@ said): > > [1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html On Linux (actually glibc2), _XOPEN_SOURCE expand declarations to add XPG4 functions etc. On NetBSD (and FreeBSD and OpenBSD), _XOPEN_SOURCE restricts declarations to disallow NetBSD or GNU extensions. Then several packages require extra -D_NETBSD_SOURCE definitions to allow such functions on NetBSD. https://github.com/NetBSD/src/commit/4be7a2dcf395bcf0739f131315b64970d74b265e It looks _GNU_SOURCE on glibc2 allows all declarations including XPG4 and POSIX etc. as our _NETBSD_SOURCE does. Note OpenBSD changed their _OPENBSD_SOURCE (like our _NETBSD_SOURCE) to _BSD_SOURCE, probably as old glibc2 did: https://github.com/openbsd/src/commit/431045e8b96f00cdfe3ad00cae059bf4e15e90fa however it looks glibc2 deprecated the _BSD_SOURCE and prefered _GNU_SOURCE (as described above): https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=59dd864187ee61b6f0bfd7abc85e2fea4b479cb7#patch4 https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=c941736c92fa3a319221f65f6755659b2a5e0a20#patch3 --- Izumi Tsutsui