On 2008-05-06 at 13:33:04 [+0200], Andreas Färber <andreas.faerber@xxxxxx> wrote: > > Since you've just subscribed, could you please take a look at the list > archive; I've posted a patch for review against gnulib (same as > currently in our SVN and linked from the Wiki), disabling two BeOS > #ifdef sections in stdbool.in.h. If there are no objections until > tomorrow (when Scott should be back), I'll post it to the gnulib list. Having looked only at the patch, not the original file, I guess it's fine. I'm more and more convinced that we should drop the __BEOS__ macro for Haiku's gcc, though. From what I've seen so far there are probably less BeOS specific patches one wants to keep for Haiku than those one wants to avoid. > Concerning your POSIX quest, one question: I had the impression that > Haiku's native threading mechanism is the Be one and that pthreads > were only a wrapper around the Be implementation, added later for > POSIX compatibility. Is this impression wrong, i.e. is it "safe" and > just as performant to switch native Be code to generic Unix code where > both exist? > I thought I heard Axel saying the Be threads were superior to > pthreads... (if that were the case, you couldn't dump APR's beos > directories completely but would need to extend my approach of > #include'ing the generic Unix files from within the BeOS directories) There is of course a bit of overhead involved in using pthreads instead of BeOS native threads, but that's not really relevant. Most pthread functions are just small wrappers calling the respective native thread function. For APR the point is totally moot, since the APR thread API closely resembles the pthread API. So the only difference that using the native vs. pthread API in APR makes is where the used wrapper code lives -- in libapr or in libroot. The obvious advantages in using pthreads are thus, that libapr will be smaller and the wrapper code we use in libroot is potentially more efficient, since we can use private API where we consider it beneficial. > In some place in APR I already have disabled some more BeOS network > code from within the beos dir. While perhaps inferior to your approach > (which does require knowledge of Haiku's inner workings!), mine has > the advantage of making it work at all today: Not all tests pass, but > all my patches have been uploaded via my patched Subversion on Haiku, > and virtually all repositories used for the various ports have been > checked out under Haiku using the ported tools. That's nice, of course, though the R5 net server svn should also work. At least there have been reports that it is possible to crash Haiku using it for bigger checkouts. :-P > But thanks for notifying us of your plans, then I assume I should not > post APR/neon/Subversion patches upstream for now? Yes, that would nice. > Or did you already > spot some things that can be shared between the two porting > approaches? Not yet at least. I've looked through your current patch, but besides some lines from the configure.in or build/apr_hints.m4 there's little that would apply, since I don't intend to define BEOS or use the BeOS specific code at all. > (Not sure what you refer to as smooth, it did take some > time for some simply, undisputable BeOS patches to be committed, as > posted recently.) Well, my original patch was > 100 KB, which caused it to be bounced by the mailing list. Zipping it didn't work either, since the list would accept text attachments only. In the end I sent it to David Reid, who said he would review and commit it. He started to commit a few parts, but later asked me to split the patch up, which I didn't bother to do. > I certainly welcome any POSIX work of yours on Haiku, I guess I'm > gonna need it for Mono! Yeah, that's a big plus -- better POSIX compliance will definitely make ports easier. I'm quite pleased about how well that worked for OpenSSH. The current patch is only a few lines telling the build system what libs and header directories to use. François' patch for BONE is about 25 KB and doesn't even enable all features. > Please keep us up-to-date on your progress, Will do. > I'll add an entry to the > APR Wiki page later on and would like to link to your patches, > assuming you'll post them in Haiku SVN. I can move the patches here just as well. I put them in Haiku's repository only because that was easiest for me at that time. I'm totally fine with helping to further HaikuPorts as *the* official place for porting stuff to Haiku. > Your APR 1.0.1 patch we could > either link to or archive in our SVN. OK, I'll have a look where I can put it. CU, Ingo -- BePorts homepage - http://tools.assembla.com/BePorts List archives: //www.freelists.org/archives/beports Administrative contact: brecht@xxxxxxxxxxx