Files
haikuports/dev-libs/apr/apr-0.9.x-haiku.diff

186 lines
6.7 KiB
Diff

diff -urN apr-0.9.17-orig/build/apr_hints.m4 apr-0.9.17/build/apr_hints.m4
--- apr-0.9.17-orig/build/apr_hints.m4 2006-03-16 09:41:51.000000000 +0000
+++ apr-0.9.17/build/apr_hints.m4 2008-05-13 22:10:51.000000000 +0000
@@ -390,6 +390,12 @@
APR_ADDTO(CPPFLAGS, [-DCYGWIN])
APR_ADDTO(LIBS, [-lcrypt])
;;
+ *-haiku*)
+ APR_ADDTO(LIBS, [-lnetwork])
+ APR_SETIFNULL(apr_lock_method, [USE_POSIXSEM_SERIALIZE])
+ APR_SETIFNULL(apr_posixsem_is_global, [yes])
+ APR_SETIFNULL(apr_process_lock_is_global, [yes])
+ ;;
esac
fi
diff -urN apr-0.9.17-orig/configure.in apr-0.9.17/configure.in
--- apr-0.9.17-orig/configure.in 2007-11-03 14:18:38.000000000 +0000
+++ apr-0.9.17/configure.in 2008-05-13 22:10:51.000000000 +0000
@@ -219,7 +219,7 @@
dnl otherwise.
case $host in
- *os390)
+ *os390|*haiku*)
if test "$ac_test_CFLAGS" != set; then
APR_REMOVEFROM(CFLAGS,-g)
fi
@@ -434,6 +434,13 @@
OSDIR="unix"
eolstr="\\n"
;;
+ *haiku*)
+ OSDIR="unix"
+ eolstr="\\n"
+ APR_ADDTO(CPPFLAGS,-I/boot/develop/headers/bsd)
+ AC_CHECK_LIB(bsd, getpass)
+ AC_CHECK_LIB(network, socket)
+ ;;
*)
OSDIR="unix"
eolstr="\\n"
@@ -656,6 +663,10 @@
havemmapzero="0"
havemmapanon="0"
APR_BEGIN_DECISION([anonymous shared memory allocation method])
+APR_IFALLYES(header:kernel/OS.h func:create_area,
+ [havebeosshm="1"
+ APR_DECIDE(USE_SHMEM_BEOS_ANON,
+ [BeOS areas])])
APR_IFALLYES(header:sys/ipc.h header:sys/shm.h header:sys/file.h dnl
func:shmget func:shmat func:shmdt func:shmctl,
[haveshmgetanon="1"
@@ -671,10 +682,6 @@
APR_IFALLYES(header:os2.h,
[haveos2shm="1"
APR_DECIDE(USE_SHMEM_OS2_ANON, [OS/2 DosAllocSharedMem()])])
-APR_IFALLYES(header:kernel/OS.h func:create_area,
- [havebeosshm="1"
- APR_DECIDE(USE_SHMEM_BEOS_ANON,
- [BeOS areas])])
case $host in
*linux* )
# Linux has problems with MM_SHMT_MMANON even though it reports
@@ -722,6 +729,9 @@
havebeosarea="0"
haveos2shm="0"
APR_BEGIN_DECISION([namebased memory allocation method])
+APR_IFALLYES(header:kernel/OS.h func:create_area,
+ [havebeosshm="1"
+ APR_DECIDE(USE_SHMEM_BEOS, [BeOS areas])])
APR_IFALLYES(header:sys/mman.h func:mmap func:munmap,
[havemmaptmp="1"
APR_DECIDE(USE_SHMEM_MMAP_TMP,
@@ -735,9 +745,6 @@
func:shmget func:shmat func:shmdt func:shmctl,
[haveshmget="1"
APR_DECIDE(USE_SHMEM_SHMGET, [SysV IPC shmget()])])
-APR_IFALLYES(header:kernel/OS.h func:create_area,
- [havebeosshm="1"
- APR_DECIDE(USE_SHMEM_BEOS, [BeOS areas])])
APR_IFALLYES(header:os2.h,
[haveos2shm="1"
APR_DECIDE(USE_SHMEM_OS2, [OS/2 DosAllocSharedMem()])])
@@ -1270,7 +1277,7 @@
ssize_t_fmt='#define APR_SSIZE_T_FMT "ld"'
size_t_fmt='#define APR_SIZE_T_FMT "lu"'
;;
- *beos*)
+ *beos*|*haiku*)
ssize_t_fmt='#define APR_SSIZE_T_FMT "ld"'
size_t_fmt='#define APR_SIZE_T_FMT "ld"'
;;
diff -urN apr-0.9.17-orig/test/testoc.c apr-0.9.17/test/testoc.c
--- apr-0.9.17-orig/test/testoc.c 2006-09-20 16:04:09.000000000 +0000
+++ apr-0.9.17/test/testoc.c 2008-05-13 22:10:51.000000000 +0000
@@ -78,6 +78,9 @@
rv = apr_procattr_create(&procattr, p);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
+ rv = apr_procattr_cmdtype_set(procattr, APR_PROGRAM_ENV);
+ CuAssertIntEquals(tc, APR_SUCCESS, rv);
+
rv = apr_procattr_io_set(procattr, APR_FULL_BLOCK, APR_NO_PIPE,
APR_NO_PIPE);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
diff -urN apr-0.9.17-orig/test/testpipe.c apr-0.9.17/test/testpipe.c
--- apr-0.9.17-orig/test/testpipe.c 2006-09-20 16:04:09.000000000 +0000
+++ apr-0.9.17/test/testpipe.c 2008-05-13 22:10:51.000000000 +0000
@@ -152,6 +152,9 @@
rv = apr_procattr_create(&procattr, p);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
+ rv = apr_procattr_cmdtype_set(procattr, APR_PROGRAM_ENV);
+ CuAssertIntEquals(tc, APR_SUCCESS, rv);
+
rv = apr_procattr_io_set(procattr, APR_CHILD_BLOCK, APR_CHILD_BLOCK,
APR_CHILD_BLOCK);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
diff -urN apr-0.9.17-orig/test/testpoll.c apr-0.9.17/test/testpoll.c
--- apr-0.9.17-orig/test/testpoll.c 2006-09-20 16:04:09.000000000 +0000
+++ apr-0.9.17/test/testpoll.c 2008-05-13 22:10:51.000000000 +0000
@@ -197,6 +197,8 @@
send_msg(s, sa, 2, tc);
+ apr_sleep(apr_time_make(0, 10000));
+
rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
check_sockets(pollarray, s, 0, 0, tc);
@@ -212,6 +214,8 @@
recv_msg(s, 1, p, tc);
send_msg(s, sa, 0, tc);
+ apr_sleep(apr_time_make(0, 10000));
+
rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
check_sockets(pollarray, s, 0, 1, tc);
@@ -318,6 +322,7 @@
int num;
send_msg(s, sa, 0, tc);
+ apr_sleep(apr_time_make(0, 10000));
rv = apr_pollset_poll(pollset, 0, &num, &descs);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
CuAssertIntEquals(tc, 1, num);
@@ -348,6 +353,7 @@
send_msg(s, sa, 2, tc);
send_msg(s, sa, 5, tc);
+ apr_sleep(apr_time_make(0, 10000));
rv = apr_pollset_poll(pollset, 0, &num, &descs);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
CuAssertIntEquals(tc, 2, num);
@@ -380,6 +386,7 @@
int num;
send_msg(s, sa, LARGE_NUM_SOCKETS - 1, tc);
+ apr_sleep(apr_time_make(0, 10000));
rv = apr_pollset_poll(pollset, 0, &num, &descs);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
CuAssertIntEquals(tc, 1, num);
diff -urN apr-0.9.17-orig/test/testproc.c apr-0.9.17/test/testproc.c
--- apr-0.9.17-orig/test/testproc.c 2006-09-20 16:04:09.000000000 +0000
+++ apr-0.9.17/test/testproc.c 2008-05-13 22:10:51.000000000 +0000
@@ -53,7 +53,7 @@
rv = apr_procattr_dir_set(attr, "data");
CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_procattr_cmdtype_set(attr, APR_PROGRAM);
+ rv = apr_procattr_cmdtype_set(attr, APR_PROGRAM_ENV);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
args[0] = "proc_child" EXTENSION;
@@ -129,7 +129,7 @@
CuAssertIntEquals(tc, APR_SUCCESS, rv);
rv = apr_procattr_dir_set(attr, "data");
CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_procattr_cmdtype_set(attr, APR_PROGRAM);
+ rv = apr_procattr_cmdtype_set(attr, APR_PROGRAM_ENV);
CuAssertIntEquals(tc, APR_SUCCESS, rv);
args[0] = "proc_child";