John Scipione wrote: > >> So the question here is how to solve this. > > > > I would rename the Darwin specific functions and use conditionally use > > those in fs.cpp. There's already a block at the beginning that does > > something similar for FreeBSD specific implementations. The alternative is > > to wait and see how Matt's branch turns out. > > 2 questions... > > First, why isn't the headers/builld/host/freebsd/sys/stat.h surrounded > by extern "C" guards, oversight or intent? It actually is. That's what __BEGIN_DECLS and __END_DECLS resolve to. > Second, does rm_attrs_tmp really require a static libroot? It seems to > compile fine here without it. It isn't so much about whether it builds, but rather about it being self-contained. rm_attrs is used by several rules and also for the "clean" target. It checks whether rm_attrs_tmp exists and falls back to rm otherwise. If rm_attrs_tmp required the shared libroot_build, the check would have to be extended. That being said, the static libroot_build is broken anyway, since the function remapping simply doesn't work in this case. rm_attrs_tmp may not need any function that has been remapped, so it does probably work nonetheless. Well, I wouldn't recommend building without extended attribute support anyway (which is the case where rm_attrs is needed). CU, Ingo