mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
Preliminary patch for building apr-1.3.3 on Haiku. There's still an issue to be figured out, it gives an error near the end of configure about rm not finding libtoolT, the work around for now is to create a temp symlink for libtool to /libtool
This commit is contained in:
201
dev-libs/apr/apr-1.3.3-haiku.diff
Normal file
201
dev-libs/apr/apr-1.3.3-haiku.diff
Normal file
@@ -0,0 +1,201 @@
|
||||
diff -urN apr-1.3.3/build/apr_hints.m4 apr-1.3.3-haiku/build/apr_hints.m4
|
||||
--- apr-1.3.3/build/apr_hints.m4 2009-04-27 05:57:37.000000000 +0000
|
||||
+++ apr-1.3.3-haiku/build/apr_hints.m4 2009-04-28 02:01:57.000000000 +0000
|
||||
@@ -35,7 +35,7 @@
|
||||
dnl Generally, we force the setting of CC, and add flags
|
||||
dnl to CFLAGS, CPPFLAGS, LIBS and LDFLAGS.
|
||||
dnl
|
||||
-AC_DEFUN(APR_PRELOAD, [
|
||||
+AC_DEFUN([APR_PRELOAD], [
|
||||
if test "x$apr_preload_done" != "xyes" ; then
|
||||
|
||||
apr_preload_done="yes"
|
||||
@@ -453,6 +453,12 @@
|
||||
APR_SETIFNULL(have_proc_invoked, [1])
|
||||
APR_SETIFNULL(apr_cv_use_lfs64, [yes])
|
||||
;;
|
||||
+ *-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
|
||||
@@ -463,7 +469,7 @@
|
||||
dnl
|
||||
dnl Allows us to provide a default choice of compiler which
|
||||
dnl the user can override.
|
||||
-AC_DEFUN(APR_CC_HINTS, [
|
||||
+AC_DEFUN([APR_CC_HINTS], [
|
||||
case "$host" in
|
||||
*-apple-aux3*)
|
||||
APR_SETIFNULL(CC, [gcc])
|
||||
diff -urN apr-1.3.3/build/apr_network.m4 apr-1.3.3-haiku/build/apr_network.m4
|
||||
--- apr-1.3.3/build/apr_network.m4 2009-04-27 05:57:37.000000000 +0000
|
||||
+++ apr-1.3.3-haiku/build/apr_network.m4 2009-04-27 06:00:26.000000000 +0000
|
||||
@@ -21,7 +21,7 @@
|
||||
dnl
|
||||
dnl check for type in_addr
|
||||
dnl
|
||||
-AC_DEFUN(APR_TYPE_IN_ADDR,[
|
||||
+AC_DEFUN([APR_TYPE_IN_ADDR],[
|
||||
AC_CACHE_CHECK(for type in_addr, ac_cv_type_in_addr,[
|
||||
AC_TRY_COMPILE([
|
||||
#ifdef HAVE_SYS_TYPES_H
|
||||
diff -urN apr-1.3.3/build/apr_threads.m4 apr-1.3.3-haiku/build/apr_threads.m4
|
||||
--- apr-1.3.3/build/apr_threads.m4 2009-04-27 05:57:37.000000000 +0000
|
||||
+++ apr-1.3.3-haiku/build/apr_threads.m4 2009-04-27 05:51:44.000000000 +0000
|
||||
@@ -26,7 +26,7 @@
|
||||
dnl pthreads is not available.
|
||||
dnl Turn off warnings if we're using gcc.
|
||||
dnl
|
||||
-AC_DEFUN(APR_CHECK_PTHREADS_H, [
|
||||
+AC_DEFUN([APR_CHECK_PTHREADS_H], [
|
||||
if test "$GCC" = "yes"; then
|
||||
SAVE_FL="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -w"
|
||||
@@ -41,7 +41,7 @@
|
||||
dnl
|
||||
dnl APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS
|
||||
dnl
|
||||
-AC_DEFUN(APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS, [
|
||||
+AC_DEFUN([APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS], [
|
||||
AC_CACHE_CHECK(whether pthread_getspecific takes two arguments, ac_cv_pthread_getspecific_two_args,[
|
||||
AC_TRY_COMPILE([
|
||||
#include <pthread.h>
|
||||
@@ -65,7 +65,7 @@
|
||||
dnl
|
||||
dnl APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG
|
||||
dnl
|
||||
-AC_DEFUN(APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG, [
|
||||
+AC_DEFUN([APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG], [
|
||||
AC_CACHE_CHECK(whether pthread_attr_getdetachstate takes one argument, ac_cv_pthread_attr_getdetachstate_one_arg,[
|
||||
AC_TRY_COMPILE([
|
||||
#include <pthread.h>
|
||||
@@ -91,7 +91,7 @@
|
||||
dnl Try running a program which uses pthreads, executing the
|
||||
dnl actions-if-success commands on success.
|
||||
dnl
|
||||
-AC_DEFUN(APR_PTHREADS_TRY_RUN, [
|
||||
+AC_DEFUN([APR_PTHREADS_TRY_RUN], [
|
||||
AC_TRY_RUN( [
|
||||
#include <pthread.h>
|
||||
#include <stddef.h>
|
||||
@@ -182,12 +182,12 @@
|
||||
dnl the checks for threading support so that they can restored if the
|
||||
dnl result is not what the caller wanted.
|
||||
dnl
|
||||
-AC_DEFUN(APR_PTHREADS_CHECK_SAVE, [
|
||||
+AC_DEFUN([APR_PTHREADS_CHECK_SAVE], [
|
||||
apr_pthsv_CFLAGS="$CFLAGS"
|
||||
apr_pthsv_LIBS="$LIBS"
|
||||
])dnl
|
||||
|
||||
-AC_DEFUN(APR_PTHREADS_CHECK_RESTORE, [
|
||||
+AC_DEFUN([APR_PTHREADS_CHECK_RESTORE], [
|
||||
CFLAGS="$apr_pthsv_CFLAGS"
|
||||
LIBS="$apr_pthsv_LIBS"
|
||||
])dnl
|
||||
diff -urN apr-1.3.3/configure.in apr-1.3.3-haiku/configure.in
|
||||
--- apr-1.3.3/configure.in 2009-04-27 05:57:37.000000000 +0000
|
||||
+++ apr-1.3.3-haiku/configure.in 2009-04-28 02:02:02.000000000 +0000
|
||||
@@ -244,7 +244,7 @@
|
||||
dnl otherwise.
|
||||
|
||||
case $host in
|
||||
- *os390)
|
||||
+ *os390|*haiku*)
|
||||
if test "$ac_test_CFLAGS" != set; then
|
||||
APR_REMOVEFROM(CFLAGS,-g)
|
||||
fi
|
||||
@@ -479,6 +479,12 @@
|
||||
OSDIR="unix"
|
||||
eolstr="\\n"
|
||||
;;
|
||||
+ *haiku*)
|
||||
+ OSDIR="unix"
|
||||
+ eolstr="\\n"
|
||||
+ AC_CHECK_LIB(bsd, getpass)
|
||||
+ AC_CHECK_LIB(network, socket)
|
||||
+ ;;
|
||||
*)
|
||||
OSDIR="unix"
|
||||
eolstr="\\n"
|
||||
@@ -833,6 +840,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"
|
||||
@@ -904,6 +915,9 @@
|
||||
haveos2shm="0"
|
||||
havewin32shm="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,
|
||||
@@ -917,9 +931,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()])])
|
||||
diff -urN apr-1.3.3/test/testpoll.c apr-1.3.3-haiku/test/testpoll.c
|
||||
--- apr-1.3.3/test/testpoll.c 2009-04-27 05:57:37.000000000 +0000
|
||||
+++ apr-1.3.3-haiku/test/testpoll.c 2009-04-28 02:02:28.000000000 +0000
|
||||
@@ -193,6 +193,8 @@
|
||||
recv_msg(s, 2, p, tc);
|
||||
send_msg(s, sa, 1, tc);
|
||||
|
||||
+ apr_sleep(apr_time_make(0, 10000));
|
||||
+
|
||||
rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
|
||||
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
|
||||
check_sockets(pollarray, s, 0, 0, tc);
|
||||
@@ -207,6 +209,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);
|
||||
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
|
||||
check_sockets(pollarray, s, 0, 0, tc);
|
||||
@@ -381,6 +385,7 @@
|
||||
int num;
|
||||
|
||||
send_msg(s, sa, 0, tc);
|
||||
+ apr_sleep(apr_time_make(0, 10000));
|
||||
rv = apr_pollset_poll(pollset, 0, &num, &descs);
|
||||
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
|
||||
ABTS_INT_EQUAL(tc, 1, num);
|
||||
@@ -411,6 +416,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);
|
||||
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
|
||||
ABTS_INT_EQUAL(tc, 2, num);
|
||||
@@ -443,6 +449,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);
|
||||
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
|
||||
ABTS_INT_EQUAL(tc, 1, num);
|
||||
Reference in New Issue
Block a user