| 1 | | |
| | 1 | ==== Changes ([source:BePorts/trunk/dev-libs/apr/apr-0.9.x-haiku.diff patch]) ==== |
| | 2 | {{{build/apr_hints.m4}}}: |
| | 3 | - Added -lnetwork for Haiku. |
| | 4 | - Use POSIX semaphores instead of fcntl() (performs better and is less |
| | 5 | overhead). |
| | 6 | - POSIX semaphores also lock threads. |
| | 7 | {{{configure.in}}}: |
| | 8 | - No -g on Haiku. |
| | 9 | - Use libnetwork, libbsd and bsd headers. |
| | 10 | - Reordered decision making for anonymous and name-based shared memory. |
| | 11 | BeOS areas are first now, so that they are overridden by the other |
| | 12 | mechanisms (affects Haiku only, BeOS doesn't have the others). |
| | 13 | {{{include/apr_portable.h}}}: |
| | 14 | - Avoid BeOS-specific definitions. Haiku uses the Unix implementation. |
| | 15 | {{{test/{testpipe,testoc,testproc}.c}}}: |
| | 16 | - These tests start a child process, a script which lazily builds an executable |
| | 17 | and runs it. Changed the process creation so that the environment is |
| | 18 | not cleared, since Haiku's gcc depends on several environment variables to |
| | 19 | be set to work correctly. |
| | 20 | {{{test/testpoll.c}}}: |
| | 21 | - The test incorrectly assumes that packets sent to a local socket are |
| | 22 | delivered synchronously and that the select()/poll() events are thus |
| | 23 | available immediately. Added 10 ms apr_sleep()s so that the tests has a |
| | 24 | chance to succeed on Haiku. |
| | 25 | |
| | 26 | ==== Configuring/Building ==== |
| | 27 | {{{ |
| | 28 | rm build/config.guess build/config.sub |
| | 29 | ./buildconf |
| | 30 | ./configure --prefix=/boot/home/config |
| | 31 | make |
| | 32 | }}} |
| | 33 | |
| | 34 | ==== Tests ==== |
| | 35 | {{{ |
| | 36 | 221 tests run: 218 passed, 1 failed, 2 not implemented. |
| | 37 | |
| | 38 | Failed tests in Socket Options: |
| | 39 | 1) corkable: expected <0> but was <-2147483643> |
| | 40 | |
| | 41 | Not Implemented tests in Socket Creation: |
| | 42 | 1) tcp6_socket: IPv6 not implemented on this platform |
| | 43 | 2) udp6_socket: IPv6 not implemented on this platform |
| | 44 | }}} |
| | 45 | |
| | 46 | The {{{Socket Options}}} test fails, since Haiku doesn't implement TCP_NODELAY yet (!r25483). |
| | 47 | |