New here, maybe this is a rookie mistake, so misc it is.

I wanted to cross-compile (to a different OS and arch)
a certain nontrivial program using ports llvm.
During make it complained that stddef.h is missing.

Investigations led me to two discoveries:

1. The following headers are missing man pages:

float.h
inttypes.h
iso646.h
limits.h
stdarg.h
stdbool.h
stddef.h
sdtint.h
varargs.h

(For our homegrown versions in /usr/include).
I guess this is a bug?
Ports man-pages-posix documents most of these.
Our versions differ.
And varargs is a gnu extension.

2. They are commented out in ports llvm PLIST.
I guess because they conflict with our homegrowns?
Various ports compilers have them:

*-gcc-* cross architectures.
Smaller compilers like tcc and sdcc.
Most notably zig, being based off llvm-20.

What would be the correct way to bring them back?
A separate package similar to libcxx?
Or a change in clang built-in includes is neccessary?
Or there is some other reasoning behind this?

Reply via email to