[haiku-commits] Re: haiku: hrev44516 - headers/build/host/darwin src/build/libroot headers/build/host/darwin/sys

  • From: "Ingo Weinhold" <ingo_weinhold@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 12 Aug 2012 17:50:49 +0200

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

Other related posts: