Date: Thu, 12 Sep 2024 00:05:24 +0900
From: Ryo ONODERA <ryo%tetera.org@localhost>
"Taylor R Campbell" <riastradh%netbsd.org@localhost> writes:
> sys/endian.h: Hide le32enc/be32enc/... under _NETBSD_SOURCE.
>
> These are non-standard extensions, so they should not be exposed by,
> e.g., _XOPEN_SOURCE=700.
>
> PR standards/57807: #include <arpa/inet.h> spuriously defines
> le32enc/be32enc/... under _XOPEN_SOURCE=700
After this change, -current build on -current is broken,
because tools/libctf defines _NETBSD_SOURCE and le32dec and so on
cause conflicts.
I think HAVE_NBTOOLS_CONFIG_H part in
external/cddl/osnet/sys/sys/types.h
may be problematic. However it is not clear how to fix properly.
Could you take a look at this problem?
christos was looking at this yesterday -- christos, did you make
progress after our discussion?
P.S.
I feel that HAVE_NBTOOLS_CONFIG_H should be HAVE_NBTOOL_CONFIG_H.
Yes, except I think that whole stanza under HAVE_NBTOOL[S]_CONFIG_H is
wrong and should be replaced by an _unconditional_
#include_next <sys/types.h>
#include_next <sys/ccompile.h>
without any _NETBSD_SOURCE games (which the tools build should never
play; we go out of our way to use _XOPEN_SOURCE=600 in compat_defs.h
so that _NETBSD_SOURCE does not get used everywhere else in the tools
build, in order to keep the tools build clean and portable).