On Mon, 20 Feb 2012 14:17:03 -0500 Rich Felker wrote: > Doesn't 3.81 already have some important bugs you need to patch > anyway? If so you could add ar.h at the same time. This won't be > needed for musl once I get ar.h added, but it would make the resulting > build more portable anyway. It's running OK without patches, but I haven't pushed too hard. As mentioned, I just copied ar.h to /usr/include. > > By the way, I've put together a sys/cdefs.h header that gets a lot > > of stuff to compile; ~95% of it is backwards-compatability macros. > > If you want, I can submit it; I'd add > I wouldn't mind seeing it, and as long as it's clean I'll probably add > it... > > > #include'ing is semi-portable, though (NetBSD, GNU > > libc)--and the only option if you need to support some old systems > > as well as c99. > > I'm confused how it would be necessary for this. The __STDC__ and > __STDC_VERSION__ macros give you all you need to make the appropriate > definitions yourself if you really need to support pre-standardized C. > If you just need to support C89 and C99, you'd rarely have to test > anything anyway; just use the intersection of the 2 languages (which > is equivalent to C89, except that you can't use C99 keywords like > inline, restrict, _Bool, etc.). It looks like it's meant to have one header allow the same source to build with anything from K&R to C99 (in theory). > As such, I still see apps that include sys/cdefs.h as buggy. > Rich I view it like features.h: nonsense, but if it's a choice between getting it building in a minute or an hour, I'd rather get it building sooner. Once I know how broken it is, I can decide whether to clean it up, forget it, or delete it. I'd rather not waste my time on completely broken code.