Merge all changes from trunk

This commit is contained in:
Oliver Tappe
2013-03-29 14:04:07 +00:00
parent 888e133171
commit 94cc6aaf85
1052 changed files with 65053 additions and 2541 deletions

View File

@@ -0,0 +1,49 @@
DESCRIPTION="apr-util - Apache Portable Runtime Utility Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="http://archive.apache.org/dist/apr/apr-util-1.3.11.tar.gz"
CHECKSUM_MD5="bfc16065a784785dd356dc4067fe2504"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/apr >= 1.3.9"
BUILD {
cd apr-util-1.3.11
rm -rf aclocal.m4
mkdir -p m4
haikuporter -b apr-1.4.2
libtoolize -fci
aclocal --install -I m4
autoconf -f
cd xml/expat
mkdir -p m4
echo `AM_INIT_AUTOMAKE` >> configure.in
libtoolize -fci
aclocal --install -I m4
autoconf --force
autoheader
touch libtool.m4
cd ../..
sed -i 's/\/usr\/bin\/env/\/bin\/env/' `haikuporter -t`/dev-libs/apr/work/apr-1.4.2/build/gen-build.py
buildconf --with-apr=`haikuporter -t`/dev-libs/apr/work/apr-1.4.2 \
--prefix=`finddir B_COMMON_DIRECTORY`
ln -sf `finddir B_COMMON_BIN_DIRECTORY`/libtool ./libtool
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--bindir=`finddir B_COMMON_BIN_DIRECTORY` \
--sbindir=`finddir B_COMMON_BIN_DIRECTORY` \
--libexecdir=`finddir B_COMMON_BIN_DIRECTORY` \
--sysconfdir=`finddir B_COMMON_SETTINGS_DIRECTORY` \
--localstatedir=`finddir B_COMMON_VAR_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \
--with-apr=`finddir B_COMMON_BIN_DIRECTORY`/apr-1-config
make
}
INSTALL {
cd apr-util-1.3.11
make install
}
LICENSE="Apache v2"
COPYRIGHT="2010 The Apache Software Foundation."

View File

@@ -0,0 +1,49 @@
DESCRIPTION="apr-util - Apache Portable Runtime Utility Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz"
CHECKSUM_MD5="d1977289889592ef998e3f777f68efe4"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/apr >= 1.3.9"
BUILD {
cd apr-util-1.3.12
rm -rf aclocal.m4
mkdir -p m4
haikuporter -b apr-1.4.5
libtoolize -fci
aclocal --install -I m4
autoconf -f
cd xml/expat
mkdir -p m4
echo `AM_INIT_AUTOMAKE` >> configure.in
libtoolize -fci
aclocal --install -I m4
autoconf --force
autoheader
touch libtool.m4
cd ../..
sed -i 's/\/usr\/bin\/env/\/bin\/env/' `haikuporter -t`/dev-libs/apr/work/apr-1.4.5/build/gen-build.py
buildconf --with-apr=`haikuporter -t`/dev-libs/apr/work/apr-1.4.5 \
--prefix=`finddir B_COMMON_DIRECTORY`
ln -sf `finddir B_COMMON_BIN_DIRECTORY`/libtool ./libtool
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--bindir=`finddir B_COMMON_BIN_DIRECTORY` \
--sbindir=`finddir B_COMMON_BIN_DIRECTORY` \
--libexecdir=`finddir B_COMMON_BIN_DIRECTORY` \
--sysconfdir=`finddir B_COMMON_SETTINGS_DIRECTORY` \
--localstatedir=`finddir B_COMMON_VAR_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \
--with-apr=`finddir B_COMMON_BIN_DIRECTORY`/apr-1-config
make
}
INSTALL {
cd apr-util-1.3.12
make install
}
LICENSE="Apache v2"
COPYRIGHT="2011 The Apache Software Foundation."

View File

@@ -35,7 +35,7 @@ BUILD {
autoconf --force
autoheader
cd ../..
./configure --prefix=/boot/common --with-apr=/boot/common/bin/apr-1-config
./configure --prefix=`finddir B_COMMON_DIRECTORY` --with-apr=`finddir B_COMMON_BIN_DIRECTORY`/apr-1-config
make
}

View File

@@ -0,0 +1,49 @@
DESCRIPTION="apr-util - Apache Portable Runtime Utility Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="http://archive.apache.org/dist/apr/apr-util-1.4.1.tar.gz"
CHECKSUM_MD5="666a5d56098a9debf998510e304c8095"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/apr == 1.4.6"
BUILD {
cd apr-util-1.4.1
rm -rf aclocal.m4
mkdir -p m4
haikuporter -b apr-1.4.6
libtoolize -fci
aclocal --install -I m4
autoconf -f
cd xml/expat
mkdir -p m4
echo `AM_INIT_AUTOMAKE` >> configure.in
libtoolize -fci
aclocal --install -I m4
autoconf --force
autoheader
touch libtool.m4
cd ../..
sed -i 's/\/usr\/bin\/env/\/bin\/env/' `haikuporter -t`/dev-libs/apr/work/apr-1.4.6/build/gen-build.py
buildconf --with-apr=`haikuporter -t`/dev-libs/apr/work/apr-1.4.6 \
--prefix=`finddir B_COMMON_DIRECTORY`
ln -sf `finddir B_COMMON_BIN_DIRECTORY`/libtool ./libtool
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--bindir=`finddir B_COMMON_BIN_DIRECTORY` \
--sbindir=`finddir B_COMMON_BIN_DIRECTORY` \
--libexecdir=`finddir B_COMMON_BIN_DIRECTORY` \
--sysconfdir=`finddir B_COMMON_SETTINGS_DIRECTORY` \
--localstatedir=`finddir B_COMMON_VAR_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \
--with-apr=`finddir B_COMMON_BIN_DIRECTORY`/apr-1-config
make
}
INSTALL {
cd apr-util-1.4.1
make install
}
LICENSE="Apache v2"
COPYRIGHT="2011 The Apache Software Foundation."

View File

@@ -0,0 +1,27 @@
diff -urN apr-util-1.3.10/config.layout apr-util-1.3.10-haiku/config.layout
--- apr-util-1.3.10/config.layout 2005-02-09 12:18:43.049283072 +0000
+++ apr-util-1.3.10-haiku/config.layout 2011-03-25 11:04:46.549453824 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer

View File

@@ -0,0 +1,27 @@
diff -urN apr-util-1.3.11/config.layout apr-util-1.3.11-haiku/config.layout
--- apr-util-1.3.11/config.layout 2005-02-09 12:18:43.049283072 +0000
+++ apr-util-1.3.11-haiku/config.layout 2011-03-25 11:04:46.549453824 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer

View File

@@ -0,0 +1,27 @@
diff -urN apr-util-1.3.12/config.layout apr-util-1.3.12-haiku/config.layout
--- apr-util-1.3.12/config.layout 2005-02-09 12:18:43.049283072 +0000
+++ apr-util-1.3.12-haiku/config.layout 2011-03-25 11:04:46.549453824 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer

View File

@@ -0,0 +1,27 @@
diff -urN apr-util-1.4.1/config.layout apr-util-1.4.1-haiku/config.layout
--- apr-util-1.4.1/config.layout 2005-02-09 12:18:43.049283072 +0000
+++ apr-util-1.4.1-haiku/config.layout 2011-03-25 11:04:46.549453824 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer

View File

@@ -8,7 +8,7 @@ BUILD {
cd apr-1.3.8
libtoolize --force --copy --install
buildconf
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -9,7 +9,7 @@ BUILD {
cd apr-1.3.9
libtoolize --force --copy --install
buildconf
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,39 @@
DESCRIPTION="apr - Apache Portable Runtime Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="http://www.apache.org/dist/apr/apr-1.4.4.tar.gz"
CHECKSUM_MD5="9d70b96d4d7f7449f9c3cc81a691c5bf"
REVISION="3"
STATUS_HAIKU="broken"
DEPEND=""
BUILD {
cd apr-1.4.4
libtoolize -fci
touch libtool.m4
aclocal -I build
autoconf
ln -sf `finddir B_COMMON_BIN_DIRECTORY`/libtool /libtool
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--bindir=`finddir B_COMMON_BIN_DIRECTORY` \
--sbindir=`finddir B_COMMON_BIN_DIRECTORY` \
--libexecdir=`finddir B_COMMON_BIN_DIRECTORY` \
--sysconfdir=`finddir B_COMMON_SETTINGS_DIRECTORY` \
--localstatedir=`finddir B_COMMON_VAR_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd apr-1.4.4
make install
}
TEST {
cd apr-1.4.4
make test
}
LICENSE="Apache v2"
COPYRIGHT="2010 The Apache Software Foundation."

View File

@@ -0,0 +1,39 @@
DESCRIPTION="apr - Apache Portable Runtime Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="http://www.apache.org/dist/apr/apr-1.4.5.tar.gz"
CHECKSUM_MD5="97262fe54dddaf583eaaee3497a426e1"
REVISION="4"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd apr-1.4.5
libtoolize -fci
touch libtool.m4
aclocal -I build
autoconf
ln -sf `finddir B_COMMON_BIN_DIRECTORY`/libtool /libtool
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--bindir=`finddir B_COMMON_BIN_DIRECTORY` \
--sbindir=`finddir B_COMMON_BIN_DIRECTORY` \
--libexecdir=`finddir B_COMMON_BIN_DIRECTORY` \
--sysconfdir=`finddir B_COMMON_SETTINGS_DIRECTORY` \
--localstatedir=`finddir B_COMMON_VAR_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd apr-1.4.5
make install
}
TEST {
cd apr-1.4.5
make test
}
LICENSE="Apache v2"
COPYRIGHT="2011 The Apache Software Foundation."

View File

@@ -0,0 +1,39 @@
DESCRIPTION="apr - Apache Portable Runtime Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="http://www.apache.org/dist/apr/apr-1.4.6.tar.gz"
CHECKSUM_MD5="76cc4457fbb71eefdafa27dba8f511fb"
REVISION="4"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd apr-1.4.6
libtoolize -fci
touch libtool.m4
aclocal -I build
autoconf
ln -sf `finddir B_COMMON_BIN_DIRECTORY`/libtool /libtool
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--bindir=`finddir B_COMMON_BIN_DIRECTORY` \
--sbindir=`finddir B_COMMON_BIN_DIRECTORY` \
--libexecdir=`finddir B_COMMON_BIN_DIRECTORY` \
--sysconfdir=`finddir B_COMMON_SETTINGS_DIRECTORY` \
--localstatedir=`finddir B_COMMON_VAR_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd apr-1.4.6
make install
}
TEST {
cd apr-1.4.6
make test
}
LICENSE="Apache v2"
COPYRIGHT="2012 The Apache Software Foundation."

View File

@@ -1,115 +1,33 @@
diff -urN apr-1.4.2/build/apr_hints.m4 apr-1.4.2-haiku/build/apr_hints.m4
--- apr-1.4.2/build/apr_hints.m4 2009-11-17 14:28:12.036700160 +0000
+++ apr-1.4.2-haiku/build/apr_hints.m4 2010-10-13 02:38:51.257687552 +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
diff -urN apr-1.4.2/config.layout apr-1.4.2-haiku/config.layout
--- apr-1.4.2/config.layout 2004-11-24 22:51:51.065798144 +0000
+++ apr-1.4.2-haiku/config.layout 2011-03-24 11:36:30.742653952 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
apr_preload_done="yes"
@@ -457,6 +457,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
@@ -467,7 +473,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.4.2/build/apr_network.m4 apr-1.4.2-haiku/build/apr_network.m4
--- apr-1.4.2/build/apr_network.m4 2008-06-16 21:15:24.035913728 +0000
+++ apr-1.4.2-haiku/build/apr_network.m4 2010-10-13 02:38:51.267911168 +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.4.2/build/apr_threads.m4 apr-1.4.2-haiku/build/apr_threads.m4
--- apr-1.4.2/build/apr_threads.m4 2006-08-03 10:46:47.037748736 +0000
+++ apr-1.4.2-haiku/build/apr_threads.m4 2010-10-13 02:38:51.269221888 +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.4.2/build/gen-build.py apr-1.4.2-haiku/build/gen-build.py
--- apr-1.4.2/build/gen-build.py 2007-02-28 12:44:52.034603008 +0000
+++ apr-1.4.2-haiku/build/gen-build.py 2010-10-13 02:38:51.278659072 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/bin/env python
#
# USAGE: gen-build.py TYPE
#
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer
diff -urN apr-1.4.2/configure.in apr-1.4.2-haiku/configure.in
--- apr-1.4.2/configure.in 2009-11-16 07:45:28.006291456 +0000
+++ apr-1.4.2-haiku/configure.in 2010-10-13 02:36:44.000000000 +0000
--- apr-1.4.2/configure.in 2009-11-16 07:45:28.064225280 +0000
+++ apr-1.4.2-haiku/configure.in 2011-03-24 14:27:40.000000000 +0000
@@ -143,7 +143,7 @@
AC_PROG_CPP
AC_PROG_AWK
@@ -119,57 +37,3 @@ diff -urN apr-1.4.2/configure.in apr-1.4.2-haiku/configure.in
AC_PROG_INSTALL
AC_CHECK_PROG(RM, rm, rm)
AC_CHECK_PROG(AS, as, as)
@@ -258,7 +258,7 @@
dnl otherwise.
case $host in
- *os390)
+ *os390|*haiku*)
if test "$ac_test_CFLAGS" != set; then
APR_REMOVEFROM(CFLAGS,-g)
fi
@@ -498,6 +498,13 @@
OSDIR="unix"
eolstr="\\n"
;;
+ *haiku*)
+ OSDIR="unix"
+ eolstr="\\n"
+ AC_CHECK_LIB(bsd, getpass)
+ AC_CHECK_LIB(network, socket)
+ LIBTOOL="libtool"
+ ;;
*)
OSDIR="unix"
eolstr="\\n"
@@ -1099,6 +1106,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"
@@ -1170,6 +1181,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,
@@ -1183,9 +1197,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()])])

View File

@@ -0,0 +1,39 @@
diff -urN apr-1.4.4/config.layout apr-1.4.4-haiku/config.layout
--- apr-1.4.4/config.layout 2004-11-24 22:51:51.065798144 +0000
+++ apr-1.4.4-haiku/config.layout 2011-03-24 11:36:30.742653952 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer
diff -urN apr-1.4.4/configure.in apr-1.4.4-haiku/configure.in
--- apr-1.4.4/configure.in 2009-11-16 07:45:28.064225280 +0000
+++ apr-1.4.4-haiku/configure.in 2011-03-24 14:27:40.000000000 +0000
@@ -143,7 +143,7 @@
AC_PROG_CPP
AC_PROG_AWK
AC_PROG_LN_S
-AC_PROG_RANLIB
+AC_PROG_LIBTOOL
AC_PROG_INSTALL
AC_CHECK_PROG(RM, rm, rm)
AC_CHECK_PROG(AS, as, as)

View File

@@ -0,0 +1,50 @@
diff -urN apr-1.4.5/config.layout apr-1.4.5-haiku/config.layout
--- apr-1.4.5/config.layout 2004-11-24 22:51:51.056360960 +0000
+++ apr-1.4.5-haiku/config.layout 2011-07-12 10:34:27.155189248 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer
diff -urN apr-1.4.5/configure.in apr-1.4.5-haiku/configure.in
--- apr-1.4.5/configure.in 2011-04-11 12:58:38.043253760 -0700
+++ apr-1.4.5-haiku/configure.in 2011-08-02 12:49:33.801112064 -0700
@@ -204,7 +204,7 @@
AC_PROG_CPP
AC_PROG_AWK
AC_PROG_LN_S
-AC_PROG_RANLIB
+AC_PROG_LIBTOOL
AC_PROG_INSTALL
AC_CHECK_PROG(RM, rm, rm)
AC_CHECK_PROG(AS, as, as)
@@ -673,9 +673,9 @@
ac_cv_func_CreateFileMapping=yes
;;
*)
+ AC_SEARCH_LIBS(socket, socket network)
AC_SEARCH_LIBS(gethostbyname, nsl)
AC_SEARCH_LIBS(gethostname, nsl)
- AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(crypt, crypt ufc)
AC_CHECK_LIB(truerand, main)
AC_SEARCH_LIBS(modf, m)

View File

@@ -0,0 +1,50 @@
diff -urN apr-1.4.6/config.layout apr-1.4.6-haiku/config.layout
--- apr-1.4.6/config.layout 2004-11-24 22:51:51.056360960 +0000
+++ apr-1.4.6-haiku/config.layout 2011-07-12 10:34:27.155189248 +0000
@@ -60,6 +60,23 @@
runtimedir: ${localstatedir}/run
</Layout>
+# Haiku Layout making use of finddir
+<Layout haiku>
+ prefix: /boot/common
+ exec_prefix: /boot/common
+ bindir: /boot/common/bin
+ sbindir: /boot/common/servers
+ libdir: /boot/common/lib
+ libexecdir: /boot/common/servers
+ mandir: /boot/common/documentation/man
+ sysconfdir: /boot/common/settings
+ datadir: /boot/common/data
+ installbuilddir: /boot/develop/build
+ includedir: /boot/common/include
+ localstatedir: /boot/common/var
+ runtimedir: ${localstatedir}/log
+</Layout>
+
# Mac OS X Server (Rhapsody)
<Layout Mac OS X Server>
prefix: /Local/Library/WebServer
diff -urN apr-1.4.6/configure.in apr-1.4.6-haiku/configure.in
--- apr-1.4.6/configure.in 2011-04-11 12:58:38.043253760 -0700
+++ apr-1.4.6-haiku/configure.in 2011-08-02 12:49:33.801112064 -0700
@@ -203,7 +203,7 @@
AC_PROG_CPP
AC_PROG_AWK
AC_PROG_LN_S
-AC_PROG_RANLIB
+AC_PROG_LIBTOOL
AC_PROG_INSTALL
AC_CHECK_PROG(RM, rm, rm)
AC_CHECK_PROG(AS, as, as)
@@ -672,9 +672,9 @@
ac_cv_func_CreateFileMapping=yes
;;
*)
+ AC_SEARCH_LIBS(socket, socket network)
AC_SEARCH_LIBS(gethostbyname, nsl)
AC_SEARCH_LIBS(gethostname, nsl)
- AC_SEARCH_LIBS(socket, socket)
AC_SEARCH_LIBS(crypt, crypt ufc)
AC_CHECK_LIB(truerand, main)
AC_SEARCH_LIBS(modf, m)

View File

@@ -12,7 +12,7 @@ BUILD {
aclocal
autoconf
automake
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -13,7 +13,7 @@ BUILD {
aclocal
autoconf
automake
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,34 @@
DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
HOMEPAGE="http://www.hpl.hp.com/personal/Hans_Boehm/gc/"
SRC_URI="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2alpha6.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="319d0b18cc4eb735c8038ece9df055e4"
BUILD {
cd gc-7.2alpha6
libtoolize --force --copy --install
autoconf -f
./configure --prefix=$(finddir B_COMMON_DIRECTORY) \
--datadir=$(finddir B_COMMON_DOCUMENTATION_DIRECTORY) \
--enable-threads=posix --enable-thread-local-alloc --enable-parallel-mark
make
}
INSTALL {
cd gc-7.2alpha6
make install
}
TEST {
cd gc-7.2alpha6
make check
}
LICENSE="BOEHM"
COPYRIGHT="1988, 1989 Hans-J. Boehm, Alan J. Demers
1991-1996 by Xerox Corporation. All rights reserved.
1996-1999 by Silicon Graphics. All rights reserved.
1999-2004 Hewlett-Packard Development Company, L.P."

View File

@@ -0,0 +1,33 @@
DESCRIPTION="The Boehm-Demers-Weiser conservative garbage collector"
HOMEPAGE="http://www.hpl.hp.com/personal/Hans_Boehm/gc/"
SRC_URI="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc-7.2d.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="91340b28c61753a789eb6077675d87d2"
BUILD {
cd gc-7.2
libtoolize --force --copy --install
autoconf -f
./configure --prefix=$(finddir B_COMMON_DIRECTORY) \
--datadir=$(finddir B_COMMON_DOCUMENTATION_DIRECTORY) \
--enable-threads=posix --enable-thread-local-alloc --enable-parallel-mark
make
}
INSTALL {
cd gc-7.2
make install
}
TEST {
cd gc-7.2
make check
}
LICENSE="BOEHM"
COPYRIGHT="1988, 1989 Hans-J. Boehm, Alan J. Demers
1991-1996 by Xerox Corporation. All rights reserved.
1996-1999 by Silicon Graphics. All rights reserved.
1999-2011 Hewlett-Packard Development Company, L.P."

View File

@@ -0,0 +1,29 @@
Copyright (c) 1988, 1989 Hans-J. Boehm, Alan J. Demers
Copyright (c) 1991-1996 by Xerox Corporation. All rights reserved.
Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
The file linux_threads.c is also
Copyright (c) 1998 by Fergus Henderson. All rights reserved.
The files Makefile.am, and configure.in are
Copyright (c) 2001 by Red Hat Inc. All rights reserved.
Several files supporting GNU-style builds are copyrighted by the Free
Software Foundation, and carry a different license from that given
below.
THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
Permission is hereby granted to use or copy this program
for any purpose, provided the above notices are retained on all copies.
Permission to modify the code and to distribute modified code is granted,
provided the above notices are retained, and a notice that the code was
modified is included with the above copyright notice.
A few of the files needed to use the GNU-style build procedure come with
slightly different licenses, though they are all similar in spirit. A few
are GPL'ed, but with an exception that should cover all uses in the
collector. (If you are concerned about such things, I recommend you look
at the notice in config.guess or ltmain.sh.)

View File

@@ -0,0 +1,247 @@
diff -ru gc-7.2alpha6-orig/configure.ac gc-7.2alpha6/configure.ac
--- gc-7.2alpha6-orig/configure.ac 2011-06-14 12:34:55.000000000 +0000
+++ gc-7.2alpha6/configure.ac 2012-03-16 00:46:16.500695040 +0000
@@ -83,6 +83,7 @@
AH_TEMPLATE([GC_DARWIN_THREADS], [Define to support Darwin pthreads.])
AH_TEMPLATE([GC_FREEBSD_THREADS], [Define to support FreeBSD pthreads.])
AH_TEMPLATE([GC_GNU_THREADS], [Define to support GNU pthreads.])
+AH_TEMPLATE([GC_HAIKU_THREADS], [Define to support Haiku pthreads.])
AH_TEMPLATE([GC_HPUX_THREADS], [Define to support HP/UX 11 pthreads.])
AH_TEMPLATE([GC_IRIX_THREADS], [Define to support Irix pthreads.])
AH_TEMPLATE([GC_LINUX_THREADS], [Define to support pthreads on Linux.])
@@ -127,6 +128,10 @@
AC_DEFINE(GC_AIX_THREADS)
AC_DEFINE(_REENTRANT)
;;
+ *-*-haiku*)
+ AC_DEFINE(GC_HAIKU_THREADS)
+ AC_DEFINE(_REENTRANT)
+ ;;
*-*-hpux11*)
AC_MSG_WARN("Only HP/UX 11 POSIX threads are supported.")
AC_DEFINE(GC_HPUX_THREADS)
diff -ru gc-7.2alpha6-orig/dyn_load.c gc-7.2alpha6/dyn_load.c
--- gc-7.2alpha6-orig/dyn_load.c 2011-05-31 15:27:11.000000000 +0000
+++ gc-7.2alpha6/dyn_load.c 2012-03-23 22:11:06.758906880 +0000
@@ -63,7 +63,7 @@
!(defined(FREEBSD) && defined(__ELF__)) && \
!(defined(OPENBSD) && (defined(__ELF__) || defined(M68K))) && \
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
- !defined(DARWIN) && !defined(CYGWIN32)
+ !defined(DARWIN) && !defined(CYGWIN32) && !defined(HAIKU)
--> We only know how to find data segments of dynamic libraries for the
--> above. Additional SVR4 variants might not be too
--> hard to add.
@@ -1419,6 +1419,22 @@
#endif /* DARWIN */
+#ifdef HAIKU
+#include <kernel/image.h>
+
+GC_INNER void GC_register_dynamic_libraries()
+{
+ image_info info;
+ int32 cookie = 0;
+ while (get_next_image_info(0, &cookie, &info) == B_OK)
+ {
+ void *data = info.data;
+ GC_add_roots_inner(data, data + info.data_size, TRUE);
+ }
+}
+
+#endif /* HAIKU */
+
#elif defined(PCR)
# include "il/PCR_IL.h"
diff -ru gc-7.2alpha6-orig/include/gc_config_macros.h gc-7.2alpha6/include/gc_config_macros.h
--- gc-7.2alpha6-orig/include/gc_config_macros.h 2011-04-24 13:09:21.000000000 +0000
+++ gc-7.2alpha6/include/gc_config_macros.h 2012-03-16 00:44:30.556793856 +0000
@@ -65,7 +65,7 @@
|| defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) \
|| defined(GC_NETBSD_THREADS) || defined(GC_OPENBSD_THREADS) \
|| defined(GC_OSF1_THREADS) || defined(GC_SOLARIS_THREADS) \
- || defined(GC_WIN32_THREADS)
+ || defined(GC_WIN32_THREADS) || defined(GC_HAIKU_THREADS)
# ifndef GC_THREADS
# define GC_THREADS
# endif
diff -ru gc-7.2alpha6-orig/include/private/config.h.in gc-7.2alpha6/include/private/config.h.in
--- gc-7.2alpha6-orig/include/private/config.h.in 2010-09-11 11:27:06.000000000 +0000
+++ gc-7.2alpha6/include/private/config.h.in 2012-03-16 00:49:30.038273024 +0000
@@ -45,6 +45,9 @@
/* Define to support GNU pthreads. */
#undef GC_GNU_THREADS
+/* Define to support Haiku pthreads. */
+#undef GC_HAIKU_THREADS
+
/* Define if backtrace information is supported. */
#undef GC_HAVE_BUILTIN_BACKTRACE
Only in gc-7.2alpha6/include/private: config.h.in~
diff -ru gc-7.2alpha6-orig/include/private/gcconfig.h gc-7.2alpha6/include/private/gcconfig.h
--- gc-7.2alpha6-orig/include/private/gcconfig.h 2011-05-31 15:27:12.000000000 +0000
+++ gc-7.2alpha6/include/private/gcconfig.h 2012-03-23 22:28:55.210501632 +0000
@@ -234,6 +234,11 @@
# define BEOS
# define mach_type_known
# endif
+# if defined(__HAIKU__) && defined(_X86_)
+# define I386
+# define HAIKU
+# define mach_type_known
+# endif
# if defined(OPENBSD) && defined(__amd64__)
# define X86_64
# define mach_type_known
@@ -1110,6 +1115,15 @@
extern int etext[];
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
# endif
+# ifdef HAIKU
+# define OS_TYPE "HAIKU"
+# include <OS.h>
+# define GETPAGESIZE() B_PAGE_SIZE
+ extern int etext[];
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
+# define DYNAMIC_LOADING
+# define MPROTECT_VDB
+# endif
# ifdef SOLARIS
# define OS_TYPE "SOLARIS"
extern int _etext[], _end[];
@@ -2345,7 +2359,7 @@
#if defined(SVR4) || defined(LINUX) || defined(IRIX5) || defined(HPUX) \
|| defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
|| defined(DGUX) || defined(BSD) || defined(HURD) \
- || defined(AIX) || defined(DARWIN) || defined(OSF1)
+ || defined(AIX) || defined(DARWIN) || defined(OSF1) || defined(HAIKU)
# define UNIX_LIKE /* Basic Unix-like system calls work. */
#endif
@@ -2423,7 +2437,8 @@
#if ((defined(UNIX_LIKE) && (defined(DARWIN) || defined(HURD) \
|| defined(OPENBSD) || defined(ARM32) \
- || defined(MIPS) || defined(AVR32))) \
+ || defined(MIPS) || defined(AVR32) \
+ || defined(HAIKU))) \
|| (defined(LINUX) && (defined(SPARC) || defined(M68K))) \
|| (defined(RTEMS) && defined(I386))) && !defined(NO_GETCONTEXT)
# define NO_GETCONTEXT
@@ -2721,6 +2736,9 @@
# elif defined(SN_TARGET_PS3)
void *ps3_get_mem(size_t size);
# define GET_MEM(bytes) (struct hblk*)ps3_get_mem(bytes)
+# elif defined(HAIKU)
+ ptr_t GC_haiku_get_mem(GC_word bytes);
+# define GET_MEM(bytes) (struct hblk*)GC_haiku_get_mem(bytes)
# else
ptr_t GC_unix_get_mem(GC_word bytes);
# define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
diff -ru gc-7.2alpha6-orig/include/private/thread_local_alloc.h gc-7.2alpha6/include/private/thread_local_alloc.h
--- gc-7.2alpha6-orig/include/private/thread_local_alloc.h 2011-05-13 14:40:31.000000000 +0000
+++ gc-7.2alpha6/include/private/thread_local_alloc.h 2012-03-16 00:55:25.252706816 +0000
@@ -47,7 +47,7 @@
# define USE_COMPILER_TLS
# elif defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) \
|| defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) \
- || defined(GC_NETBSD_THREADS)
+ || defined(GC_NETBSD_THREADS) || defined(GC_HAIKU_THREADS)
# define USE_PTHREAD_SPECIFIC
# elif defined(GC_HPUX_THREADS)
# ifdef __GNUC__
diff -ru gc-7.2alpha6-orig/os_dep.c gc-7.2alpha6/os_dep.c
--- gc-7.2alpha6-orig/os_dep.c 2011-05-31 15:27:11.000000000 +0000
+++ gc-7.2alpha6/os_dep.c 2012-03-23 22:32:31.656932864 +0000
@@ -790,7 +790,7 @@
}
#endif /* !MSWIN32 */
-#ifdef BEOS
+#if defined(BEOS) || defined(HAIKU)
# include <kernel/OS.h>
GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb)
@@ -801,7 +801,7 @@
return GC_SUCCESS;
}
# define HAVE_GET_STACK_BASE
-#endif /* BEOS */
+#endif /* BEOS || HAIKU */
#ifdef OS2
GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb)
@@ -1127,7 +1127,7 @@
# define GET_MAIN_STACKBASE_SPECIAL
#elif !defined(BEOS) && !defined(AMIGA) && !defined(OS2) \
&& !defined(MSWIN32) && !defined(MSWINCE) && !defined(CYGWIN32) \
- && !defined(GC_OPENBSD_THREADS) \
+ && !defined(GC_OPENBSD_THREADS) && !defined(HAIKU) \
&& (!defined(GC_SOLARIS_THREADS) || defined(_STRICT_STDC))
# if defined(LINUX) && defined(USE_GET_STACKBASE_FOR_MAIN)
@@ -1977,7 +1977,7 @@
# if !defined(OS2) && !defined(PCR) && !defined(AMIGA) && !defined(MSWIN32) \
&& !defined(MSWINCE) && !defined(MACOS) && !defined(DOS4GW) \
&& !defined(NONSTOP) && !defined(SN_TARGET_PS3) && !defined(RTEMS) \
- && !defined(__CC_ARM)
+ && !defined(__CC_ARM) && !defined(HAIKU)
# define SBRK_ARG_T ptrdiff_t
@@ -2302,6 +2302,19 @@
}
#endif
+#ifdef HAIKU
+#include <stdlib.h>
+
+ptr_t GC_haiku_get_mem(word bytes)
+{
+ void* mem;
+ if (posix_memalign(&mem, GC_page_size, bytes) == 0)
+ return mem;
+ else
+ return NULL;
+}
+#endif
+
#ifdef USE_MUNMAP
/* For now, this only works on Win32/WinCE and some Unix-like */
@@ -2903,7 +2916,9 @@
# elif !defined(MSWIN32) && !defined(MSWINCE)
# include <sys/mman.h>
# include <signal.h>
-# include <sys/syscall.h>
+# if !defined(HAIKU)
+# include <sys/syscall.h>
+# endif
# define PROTECT(addr, len) \
if (mprotect((caddr_t)(addr), (size_t)(len), \
@@ -3062,6 +3077,8 @@
/* Empirically c.trapno == 14, on IA32, but is that useful? */
/* Should probably consider alignment issues on other */
/* architectures. */
+# elif defined(HAIKU)
+# define CODE_OK TRUE
# elif defined(HPUX)
# define CODE_OK (si -> si_code == SEGV_ACCERR \
|| si -> si_code == BUS_ADRERR \
diff -ru gc-7.2alpha6-orig/pthread_support.c gc-7.2alpha6/pthread_support.c
--- gc-7.2alpha6-orig/pthread_support.c 2011-05-31 15:27:11.000000000 +0000
+++ gc-7.2alpha6/pthread_support.c 2012-03-16 00:39:06.171442176 +0000
@@ -938,7 +938,8 @@
GC_nprocs = pthread_num_processors_np();
# elif defined(GC_OSF1_THREADS) || defined(GC_AIX_THREADS) \
|| defined(GC_SOLARIS_THREADS) || defined(GC_GNU_THREADS) \
- || defined(PLATFORM_ANDROID) || defined(NACL)
+ || defined(PLATFORM_ANDROID) || defined(NACL) \
+ || defined(GC_HAIKU_THREADS)
GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN);
if (GC_nprocs <= 0) GC_nprocs = 1;
# elif defined(GC_IRIX_THREADS)

View File

@@ -0,0 +1,248 @@
diff -urN gc-7.2/configure.ac gc-7.2-haiku/configure.ac
--- gc-7.2/configure.ac 2012-08-09 13:25:13.047185920 -0700
+++ gc-7.2-haiku/configure.ac 2013-03-27 00:43:42.665321472 -0700
@@ -89,6 +89,7 @@
AH_TEMPLATE([GC_DARWIN_THREADS], [Define to support Darwin pthreads.])
AH_TEMPLATE([GC_FREEBSD_THREADS], [Define to support FreeBSD pthreads.])
AH_TEMPLATE([GC_GNU_THREADS], [Define to support GNU pthreads.])
+AH_TEMPLATE([GC_HAIKU_THREADS], [Define to support Haiku pthreads.])
AH_TEMPLATE([GC_HPUX_THREADS], [Define to support HP/UX 11 pthreads.])
AH_TEMPLATE([GC_IRIX_THREADS], [Define to support Irix pthreads.])
AH_TEMPLATE([GC_LINUX_THREADS], [Define to support pthreads on Linux.])
@@ -140,6 +141,10 @@
AC_DEFINE(GC_AIX_THREADS)
AC_DEFINE(_REENTRANT)
;;
+ *-*-haiku*)
+ AC_DEFINE(GC_HAIKU_THREADS)
+ AC_DEFINE(_REENTRANT)
+ ;;
*-*-hpux11*)
AC_MSG_WARN("Only HP/UX 11 POSIX threads are supported.")
AC_DEFINE(GC_HPUX_THREADS)
diff -urN gc-7.2/dyn_load.c gc-7.2-haiku/dyn_load.c
--- gc-7.2/dyn_load.c 2012-08-09 13:25:13.034603008 -0700
+++ gc-7.2-haiku/dyn_load.c 2013-03-27 00:43:42.670564352 -0700
@@ -63,7 +63,7 @@
!(defined(FREEBSD) && defined(__ELF__)) && \
!(defined(OPENBSD) && (defined(__ELF__) || defined(M68K))) && \
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
- !defined(DARWIN) && !defined(CYGWIN32)
+ !defined(DARWIN) && !defined(CYGWIN32) && !defined(HAIKU)
--> We only know how to find data segments of dynamic libraries for the
--> above. Additional SVR4 variants might not be too
--> hard to add.
@@ -1426,6 +1426,22 @@
#endif /* DARWIN */
+#ifdef HAIKU
+#include <kernel/image.h>
+
+GC_INNER void GC_register_dynamic_libraries()
+{
+ image_info info;
+ int32 cookie = 0;
+ while (get_next_image_info(0, &cookie, &info) == B_OK)
+ {
+ void *data = info.data;
+ GC_add_roots_inner(data, data + info.data_size, TRUE);
+ }
+}
+
+#endif /* HAIKU */
+
#elif defined(PCR)
# include "il/PCR_IL.h"
diff -urN gc-7.2/include/gc_config_macros.h gc-7.2-haiku/include/gc_config_macros.h
--- gc-7.2/include/gc_config_macros.h 2012-08-09 13:25:13.028835840 -0700
+++ gc-7.2-haiku/include/gc_config_macros.h 2013-03-27 00:51:21.900726784 -0700
@@ -68,7 +68,8 @@
|| defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) \
|| defined(GC_NETBSD_THREADS) || defined(GC_OPENBSD_THREADS) \
|| defined(GC_OSF1_THREADS) || defined(GC_SOLARIS_THREADS) \
- || defined(GC_WIN32_THREADS) || defined(GC_RTEMS_PTHREADS)
+ || defined(GC_WIN32_THREADS) || defined(GC_RTEMS_PTHREADS) \
+ || defined(GC_HAIKU_THREADS)
# ifndef GC_THREADS
# define GC_THREADS
# endif
diff -urN gc-7.2/include/private/config.h.in gc-7.2-haiku/include/private/config.h.in
--- gc-7.2/include/private/config.h.in 2012-08-09 13:25:13.029884416 -0700
+++ gc-7.2-haiku/include/private/config.h.in 2013-03-27 00:44:56.633602048 -0700
@@ -48,6 +48,9 @@
/* Define to support GNU pthreads. */
#undef GC_GNU_THREADS
+/* Define to support Haiku pthreads. */
+#undef GC_HAIKU_THREADS
+
/* Define if backtrace information is supported. */
#undef GC_HAVE_BUILTIN_BACKTRACE
diff -urN gc-7.2/include/private/gcconfig.h gc-7.2-haiku/include/private/gcconfig.h
--- gc-7.2/include/private/gcconfig.h 2012-08-09 13:25:13.030408704 -0700
+++ gc-7.2-haiku/include/private/gcconfig.h 2013-03-27 00:45:52.350748672 -0700
@@ -234,6 +234,11 @@
# define BEOS
# define mach_type_known
# endif
+# if defined(__HAIKU__) && defined(_X86_)
+# define I386
+# define HAIKU
+# define mach_type_known
+# endif
# if defined(OPENBSD) && defined(__amd64__)
# define X86_64
# define mach_type_known
@@ -1115,6 +1120,15 @@
extern int etext[];
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
# endif
+# ifdef HAIKU
+# define OS_TYPE "HAIKU"
+# include <OS.h>
+# define GETPAGESIZE() B_PAGE_SIZE
+ extern int etext[];
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
+# define DYNAMIC_LOADING
+# define MPROTECT_VDB
+# endif
# ifdef SOLARIS
# define OS_TYPE "SOLARIS"
extern int _etext[], _end[];
@@ -2404,7 +2418,7 @@
#if defined(SVR4) || defined(LINUX) || defined(IRIX5) || defined(HPUX) \
|| defined(OPENBSD) || defined(NETBSD) || defined(FREEBSD) \
|| defined(DGUX) || defined(BSD) || defined(HURD) \
- || defined(AIX) || defined(DARWIN) || defined(OSF1)
+ || defined(AIX) || defined(DARWIN) || defined(OSF1) || defined(HAIKU)
# define UNIX_LIKE /* Basic Unix-like system calls work. */
#endif
@@ -2482,7 +2496,8 @@
#if ((defined(UNIX_LIKE) && (defined(DARWIN) || defined(HURD) \
|| defined(OPENBSD) || defined(ARM32) \
- || defined(MIPS) || defined(AVR32))) \
+ || defined(MIPS) || defined(AVR32) \
+ || defined(HAIKU))) \
|| (defined(LINUX) && (defined(SPARC) || defined(M68K))) \
|| (defined(RTEMS) && defined(I386))) && !defined(NO_GETCONTEXT)
# define NO_GETCONTEXT
@@ -2789,6 +2804,9 @@
# elif defined(SN_TARGET_PS3)
void *ps3_get_mem(size_t size);
# define GET_MEM(bytes) (struct hblk*)ps3_get_mem(bytes)
+# elif defined(HAIKU)
+ ptr_t GC_haiku_get_mem(GC_word bytes);
+# define GET_MEM(bytes) (struct hblk*)GC_haiku_get_mem(bytes)
# else
ptr_t GC_unix_get_mem(GC_word bytes);
# define GET_MEM(bytes) (struct hblk *)GC_unix_get_mem(bytes)
diff -urN gc-7.2/include/private/thread_local_alloc.h gc-7.2-haiku/include/private/thread_local_alloc.h
--- gc-7.2/include/private/thread_local_alloc.h 2012-08-09 13:25:13.029884416 -0700
+++ gc-7.2-haiku/include/private/thread_local_alloc.h 2013-03-27 00:49:11.605290496 -0700
@@ -47,7 +47,8 @@
# define USE_COMPILER_TLS
# elif defined(GC_DGUX386_THREADS) || defined(GC_OSF1_THREADS) \
|| defined(GC_DARWIN_THREADS) || defined(GC_AIX_THREADS) \
- || defined(GC_NETBSD_THREADS) || defined(GC_RTEMS_PTHREADS)
+ || defined(GC_NETBSD_THREADS) || defined(GC_RTEMS_PTHREADS) \
+ || || defined(GC_HAIKU_THREADS)
# define USE_PTHREAD_SPECIFIC
# elif defined(GC_HPUX_THREADS)
# ifdef __GNUC__
diff -urN gc-7.2/os_dep.c gc-7.2-haiku/os_dep.c
--- gc-7.2/os_dep.c 2012-08-09 13:25:13.034340864 -0700
+++ gc-7.2-haiku/os_dep.c 2013-03-27 00:46:12.884998144 -0700
@@ -790,7 +790,7 @@
}
#endif /* !MSWIN32 */
-#ifdef BEOS
+#if defined(BEOS) || defined(HAIKU)
# include <kernel/OS.h>
GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb)
@@ -801,7 +801,7 @@
return GC_SUCCESS;
}
# define HAVE_GET_STACK_BASE
-#endif /* BEOS */
+#endif /* BEOS || HAIKU */
#ifdef OS2
GC_API int GC_CALL GC_get_stack_base(struct GC_stack_base *sb)
@@ -1138,7 +1138,7 @@
# define GET_MAIN_STACKBASE_SPECIAL
#elif !defined(BEOS) && !defined(AMIGA) && !defined(OS2) \
&& !defined(MSWIN32) && !defined(MSWINCE) && !defined(CYGWIN32) \
- && !defined(GC_OPENBSD_THREADS) \
+ && !defined(GC_OPENBSD_THREADS) && !defined(HAIKU) \
&& (!defined(GC_SOLARIS_THREADS) || defined(_STRICT_STDC))
# if defined(LINUX) && defined(USE_GET_STACKBASE_FOR_MAIN)
@@ -2001,7 +2001,7 @@
# if !defined(OS2) && !defined(PCR) && !defined(AMIGA) && !defined(MSWIN32) \
&& !defined(MSWINCE) && !defined(MACOS) && !defined(DOS4GW) \
&& !defined(NONSTOP) && !defined(SN_TARGET_PS3) && !defined(RTEMS) \
- && !defined(__CC_ARM)
+ && !defined(__CC_ARM) && !defined(HAIKU)
# define SBRK_ARG_T ptrdiff_t
@@ -2326,6 +2326,19 @@
}
#endif
+#ifdef HAIKU
+#include <stdlib.h>
+
+ptr_t GC_haiku_get_mem(word bytes)
+{
+ void* mem;
+ if (posix_memalign(&mem, GC_page_size, bytes) == 0)
+ return mem;
+ else
+ return NULL;
+}
+#endif
+
#ifdef USE_MUNMAP
/* For now, this only works on Win32/WinCE and some Unix-like */
@@ -2927,7 +2940,9 @@
# elif !defined(MSWIN32) && !defined(MSWINCE)
# include <sys/mman.h>
# include <signal.h>
-# include <sys/syscall.h>
+# if !defined(HAIKU)
+# include <sys/syscall.h>
+# endif
# define PROTECT(addr, len) \
if (mprotect((caddr_t)(addr), (size_t)(len), \
@@ -3086,6 +3101,8 @@
/* Empirically c.trapno == 14, on IA32, but is that useful? */
/* Should probably consider alignment issues on other */
/* architectures. */
+# elif defined(HAIKU)
+# define CODE_OK TRUE
# elif defined(HPUX)
# define CODE_OK (si -> si_code == SEGV_ACCERR \
|| si -> si_code == BUS_ADRERR \
diff -urN gc-7.2/pthread_support.c gc-7.2-haiku/pthread_support.c
--- gc-7.2/pthread_support.c 2012-08-09 13:25:13.048234496 -0700
+++ gc-7.2-haiku/pthread_support.c 2013-03-27 00:46:12.896794624 -0700
@@ -999,7 +999,8 @@
GC_nprocs = pthread_num_processors_np();
# elif defined(GC_OSF1_THREADS) || defined(GC_AIX_THREADS) \
|| defined(GC_SOLARIS_THREADS) || defined(GC_GNU_THREADS) \
- || defined(PLATFORM_ANDROID) || defined(NACL)
+ || defined(PLATFORM_ANDROID) || defined(NACL) \
+ || defined(GC_HAIKU_THREADS)
GC_nprocs = sysconf(_SC_NPROCESSORS_ONLN);
if (GC_nprocs <= 0) GC_nprocs = 1;
# elif defined(GC_IRIX_THREADS)

View File

@@ -8,8 +8,8 @@ MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building."
DEPEND=""
BUILD {
cd boost_1_42_0
./bootstrap.sh --prefix=/boot/common
./bjam --prefix=/boot/common \
./bootstrap.sh --prefix=`finddir B_COMMON_DIRECTORY`
./bjam --prefix=`finddir B_COMMON_DIRECTORY` \
--libdir=/boot/common/lib \
--includedir=/boot/common/include \
variant=release \

View File

@@ -0,0 +1,50 @@
DESCRIPTION="boost"
HOMEPAGE="http://www.boost.org/"
SRC_URI="http://sourceforge.net/projects/boost/files/boost/1.50.0/boost_1_50_0.tar.bz2/download"
CHECKSUM_MD5="52dd00be775e689f55a987baebccc462"
REVISION="1"
STATUS_HAIKU="stable"
MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building."
DEPEND="boehm-gc"
BUILD {
cd boost_1_50_0
./bootstrap.sh \
--without-icu \
--prefix=`finddir B_COMMON_DIRECTORY` \
--exec-prefix=`finddir B_COMMON_BIN_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--includedir=`finddir B_COMMON_HEADERS_DIRECTORY`
./bjam \
-sICU_PATH=`finddir B_COMMON_DIRECTORY` \
-sICONV_PATH=`finddir B_COMMON_DIRECTORY` \
-d2 \
--without-mpi \
--prefix=`finddir B_COMMON_DIRECTORY` \
--exec-prefix=`finddir B_COMMON_BIN_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--includedir=`finddir B_COMMON_HEADERS_DIRECTORY` \
--enable-threads=posix \
--enable-thread-local-alloc \
--enable-parallel-mark \
inlining=on \
linkflags=-L`finddir B_COMMON_LIB_DIRECTORY` \
threading=multi \
variant=release \
link=shared \
runtime-link=shared
}
INSTALL {
cd boost_1_50_0
./bjam install \
-d2 \
--prefix=${DESTDIR}/`finddir B_COMMON_DIRECTORY` \
#--exec-prefix=${DESTDIR}/`finddir B_COMMON_BIN_DIRECTORY` \
#--libdir=${DESTDIR}/`finddir B_COMMON_LIB_DIRECTORY` \
#--includedir=${DESTDIR}/`finddir B_COMMON_HEADERS_DIRECTORY` \
inlining=on \
--without-mpi
}
LICENSE="Boost v1.0"
COPYRIGHT="1998-2011 Beman Dawes, David Abrahams, Rene Rivera, et al."

View File

@@ -0,0 +1,50 @@
DESCRIPTION="boost"
HOMEPAGE="http://www.boost.org/"
SRC_URI="http://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.bz2/download"
CHECKSUM_MD5="a00d22605d5dbcfb4c9936a9b35bc4c2"
REVISION="1"
STATUS_HAIKU="broken"
MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building."
DEPEND="boehm-gc"
BUILD {
cd boost_1_53_0
./bootstrap.sh \
--without-icu \
--prefix=`finddir B_COMMON_DIRECTORY` \
--exec-prefix=`finddir B_COMMON_BIN_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--includedir=`finddir B_COMMON_HEADERS_DIRECTORY`
./bjam \
-sICU_PATH=`finddir B_COMMON_DIRECTORY` \
-sICONV_PATH=`finddir B_COMMON_DIRECTORY` \
-d2 \
--without-mpi \
--prefix=`finddir B_COMMON_DIRECTORY` \
--exec-prefix=`finddir B_COMMON_BIN_DIRECTORY` \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--includedir=`finddir B_COMMON_HEADERS_DIRECTORY` \
--enable-threads=posix \
--enable-thread-local-alloc \
--enable-parallel-mark \
inlining=on \
linkflags=-L`finddir B_COMMON_LIB_DIRECTORY` \
threading=multi \
variant=release \
link=shared \
runtime-link=shared
}
INSTALL {
cd boost_1_53_0
./bjam install \
-d2 \
--prefix=${DESTDIR}/`finddir B_COMMON_DIRECTORY` \
#--exec-prefix=${DESTDIR}/`finddir B_COMMON_BIN_DIRECTORY` \
#--libdir=${DESTDIR}/`finddir B_COMMON_LIB_DIRECTORY` \
#--includedir=${DESTDIR}/`finddir B_COMMON_HEADERS_DIRECTORY` \
inlining=on \
--without-mpi
}
LICENSE="Boost v1.0"
COPYRIGHT="1998-2013 Beman Dawes, David Abrahams, Rene Rivera, et al."

View File

@@ -0,0 +1,23 @@
Boost Software License - Version 1.0 - August 17th, 2003
Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:
The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

View File

@@ -0,0 +1,337 @@
diff -Naur boost_1_50_0/boost/config/platform/haiku.hpp boost_1_50_0-haiku/boost/config/platform/haiku.hpp
--- boost_1_50_0/boost/config/platform/haiku.hpp 1970-01-01 01:00:00.000000000 +0100
+++ boost_1_50_0-haiku/boost/config/platform/haiku.hpp 2012-08-16 01:16:44.000000000 +0200
@@ -0,0 +1,27 @@
+//  (C) Copyright John Maddock 2001.
+//  Use, modification and distribution are subject to the
+//  Boost Software License, Version 1.0. (See accompanying file
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for most recent version.
+
+//  Haiku specific config options:
+
+#define BOOST_PLATFORM "Haiku"
+
+#define BOOST_NO_INTRINSIC_WCHAR_T
+#define BOOST_HAS_UNISTD_H
+
+#define BOOST_HAS_BETHREADS
+
+#ifndef BOOST_DISABLE_THREADS
+# define BOOST_HAS_THREADS
+#endif
+
+//
+// thread API's not auto detected:
+//
+#define BOOST_HAS_GETTIMEOFDAY
+
+// boilerplate code:
+#include <boost/config/posix_features.hpp>
diff -Naur boost_1_50_0/boost/config/select_platform_config.hpp boost_1_50_0-haiku/boost/config/select_platform_config.hpp
--- boost_1_50_0/boost/config/select_platform_config.hpp 2011-10-10 13:50:55.047185920 +0200
+++ boost_1_50_0-haiku/boost/config/select_platform_config.hpp 2012-08-16 13:32:04.000000000 +0200
@@ -41,6 +41,10 @@
// win32:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
+#elif defined(__HAIKU__)
+// Haiku
+# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
+
#elif defined(__BEOS__)
// BeOS
# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
diff -Naur boost_1_50_0/boost/config/stdlib/libstdcpp3.hpp boost_1_50_0-haiku/boost/config/stdlib/libstdcpp3.hpp
--- boost_1_50_0/boost/config/stdlib/libstdcpp3.hpp 2012-05-15 13:57:21.047972352 +0200
+++ boost_1_50_0-haiku/boost/config/stdlib/libstdcpp3.hpp 2012-08-16 15:22:26.000000000 +0200
@@ -35,7 +35,8 @@
# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
|| defined(_GLIBCXX__PTHREADS) \
|| defined(_GLIBCXX_HAS_GTHREADS) \
- || defined(_WIN32)
+ || defined(_WIN32) \
+ || defined(__HAIKU__)
//
// If the std lib has thread support turned on, then turn it on in Boost
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
diff -Naur boost_1_50_0/boost/thread/detail/platform.hpp boost_1_50_0-haiku/boost/thread/detail/platform.hpp
--- boost_1_50_0/boost/thread/detail/platform.hpp 2012-05-22 19:03:15.043253760 +0200
+++ boost_1_50_0-haiku/boost/thread/detail/platform.hpp 2012-08-16 23:24:30.135266304 +0200
@@ -34,6 +34,8 @@
# define BOOST_THREAD_WIN32
#elif defined(__BEOS__)
# define BOOST_THREAD_BEOS
+#elif defined(__HAIKU__)
+# define BOOST_THREAD_BEOS
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
# define BOOST_THREAD_MACOS
# define BOOST_THREAD_WAIT_BUG boost::posix_time::microseconds(1000)
diff -Naur boost_1_50_0/tools/build/v2/engine/boehm_gc/dyn_load.c boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/dyn_load.c
--- boost_1_50_0/tools/build/v2/engine/boehm_gc/dyn_load.c 2011-06-06 22:36:21.020185088 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/dyn_load.c 2012-08-16 13:10:40.000000000 +0200
@@ -64,7 +64,7 @@
!defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \
!(defined(FREEBSD) && defined(__ELF__)) && \
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
- !defined(DARWIN) && !defined(CYGWIN32)
+ !defined(DARWIN) && !defined(CYGWIN32) !(defined(HAIKU)
--> We only know how to find data segments of dynamic libraries for the
--> above. Additional SVR4 variants might not be too
--> hard to add.
@@ -82,6 +82,10 @@
# define ELFSIZE ARCH_ELFSIZE
#endif
+#if defined(HAIKU)
+
+#endif
+
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
(defined(NETBSD) && defined(__ELF__)) || defined(HURD)
@@ -216,7 +220,8 @@
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
- (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
+ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) || \
+ defined(HAIKU)
#ifdef USE_PROC_FOR_LIBRARIES
diff -Naur boost_1_50_0/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
--- boost_1_50_0/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h 2011-06-06 22:36:21.022282240 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h 2012-08-16 13:17:27.000000000 +0200
@@ -45,7 +45,8 @@
|| defined(GC_AIX_THREADS) \
|| defined(GC_LINUX_THREADS) \
|| defined(GC_NETBSD_THREADS) \
- || defined(GC_GNU_THREADS))
+ || defined(GC_GNU_THREADS)) \
+ || defined(GC_HAIKU_THREADS)
# define _REENTRANT
/* Better late than never. This fails if system headers that */
/* depend on this were previously included. */
@@ -62,6 +63,7 @@
# if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \
defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
+ defined(GC_HAIKU_THREADS) || \
defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
(defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \
diff -Naur boost_1_50_0/tools/build/v2/engine/boehm_gc/include/gc.h boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/include/gc.h
--- boost_1_50_0/tools/build/v2/engine/boehm_gc/include/gc.h 2011-06-06 22:36:21.022020096 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/include/gc.h 2012-08-16 13:12:51.000000000 +0200
@@ -494,7 +494,7 @@
/* of compilers. */
/* This may also be desirable if it is possible but expensive to */
/* retrieve the call chain. */
-#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
+#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) \
|| defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
# define GC_ADD_CALLER
# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
diff -Naur boost_1_50_0/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
--- boost_1_50_0/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h 2011-06-06 22:36:21.024117248 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h 2012-08-16 13:49:16.000000000 +0200
@@ -215,6 +215,11 @@
# define BEOS
# define mach_type_known
# endif
+# if defined(__HAIKU__) && defined(_X86_)
+# define I386
+# define HAIKU
+# define mach_type_known
+# endif
# if defined(LINUX) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
@@ -1014,6 +1019,13 @@
extern int etext[];
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
# endif
+# ifdef HAIKU
+# define OS_TYPE "HAIKU"
+# include <OS.h>
+# define GETPAGESIZE() B_PAGE_SIZE
+ extern int etext[];
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
+# endif
# ifdef SOLARIS
# define OS_TYPE "SOLARIS"
extern int _etext[], _end[];
diff -Naur boost_1_50_0/tools/build/v2/engine/boehm_gc/os_dep.c boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/os_dep.c
--- boost_1_50_0/tools/build/v2/engine/boehm_gc/os_dep.c 2011-06-06 22:36:21.030408704 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/boehm_gc/os_dep.c 2012-08-16 13:52:23.000000000 +0200
@@ -777,6 +777,16 @@
# endif /* BEOS */
+# ifdef HAIKU
+# include <OS.h>
+ptr_t GC_get_main_stack_base(void){
+ thread_info th;
+ get_thread_info(find_thread(NULL),&th);
+ return th.stack_end;
+}
+# endif /* HAIKU */
+
+
# ifdef OS2
ptr_t GC_get_main_stack_base(void)
@@ -1095,7 +1105,7 @@
#endif /* FREEBSD_STACKBOTTOM */
-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \
+#if !defined(BEOS) && !defined(HAIKU) && !defined(AMIGA) && !defined(MSWIN32) \
&& !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \
&& !defined(CYGWIN32)
@@ -1154,7 +1164,7 @@
# endif /* STACKBOTTOM */
}
-# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !NOSYS, !ECOS */
+# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !HAIKU, !NOSYS, !ECOS */
#if defined(GC_LINUX_THREADS) && !defined(HAVE_GET_STACK_BASE)
diff -Naur boost_1_50_0/tools/build/v2/engine/fileunix.c boost_1_50_0-haiku/tools/build/v2/engine/fileunix.c
--- boost_1_50_0/tools/build/v2/engine/fileunix.c 2012-04-26 05:35:55.037224448 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/fileunix.c 2012-08-16 13:54:03.000000000 +0200
@@ -81,6 +81,7 @@
# if defined( OS_QNX ) || \
defined( OS_BEOS ) || \
+ defined( OS_HAIKU ) || \
defined( OS_MPEIX )
# define NO_AR
# define HAVE_AR
diff -Naur boost_1_50_0/tools/build/v2/engine/jam.h boost_1_50_0-haiku/tools/build/v2/engine/jam.h
--- boost_1_50_0/tools/build/v2/engine/jam.h 2012-06-06 06:00:21.039059456 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/jam.h 2012-08-16 13:57:51.000000000 +0200
@@ -151,6 +151,11 @@
#define OS_BEOS
#define NO_VFORK
#endif
+#ifdef __HAIKU__
+ #define unix
+ #define OSMINOR "OS=HAIKU"
+ #define OS_HAIKU
+#endif
#ifdef __bsdi__
#define OSMINOR "OS=BSDI"
#define OS_BSDI
diff -Naur boost_1_50_0/tools/build/v2/engine/jambase.c boost_1_50_0-haiku/tools/build/v2/engine/jambase.c
--- boost_1_50_0/tools/build/v2/engine/jambase.c 2011-06-06 22:36:21.039321600 +0200
+++ boost_1_50_0-haiku/tools/build/v2/engine/jambase.c 2012-08-16 14:03:05.000000000 +0200
@@ -548,6 +548,18 @@
"NOARSCAN ?= true ;\n",
"STDHDRS ?= /boot/develop/headers/posix ;\n",
"}\n",
+"else if $(OS) = HAIKU\n",
+"{\n",
+"BINDIR ?= /boot/common/bin ;\n",
+"CC ?= gcc ;\n",
+"C++ ?= $(CC) ;\n",
+"FORTRAN ?= \"\" ;\n",
+"LIBDIR ?= /boot/common/lib ;\n",
+"LINK ?= gcc ;\n",
+"LINKLIBS ?= -lnetwork ;\n",
+"NOARSCAN ?= true ;\n",
+"STDHDRS ?= /boot/develop/headers/posix ;\n",
+"}\n",
"else if $(OS) = BEOS\n",
"{\n",
"BINDIR ?= /boot/apps ;\n",
diff -Naur boost_1_50_0/tools/build/v2/tools/builtin.jam boost_1_50_0-haiku/tools/build/v2/tools/builtin.jam
--- boost_1_50_0/tools/build/v2/tools/builtin.jam 2011-06-06 22:36:21.022020096 +0200
+++ boost_1_50_0-haiku/tools/build/v2/tools/builtin.jam 2012-08-16 15:57:04.000000000 +0200
@@ -40,7 +40,7 @@
.os-names = aix bsd cygwin darwin freebsd hpux iphone linux netbsd
- openbsd osf qnx qnxnto sgi solaris unix unixware windows
+ openbsd osf qnx qnxnto sgi solaris unix unixware windows haiku
elf # Not actually an OS -- used for targeting bare metal where
# object format is ELF. This catches both -elf and -eabi gcc
# targets and well as other compilers targeting ELF. It is not
@@ -75,6 +75,7 @@
case COHERENT : host-os = unix ;
case DRAGONFLYBSD : host-os = bsd ;
case IRIX : host-os = sgi ;
+ case HAIKU : host-os = haiku ;
case MACOSX : host-os = darwin ;
case KFREEBSD : host-os = freebsd ;
case LINUX : host-os = linux ;
diff -Naur boost_1_50_0/tools/build/v2/tools/builtin.py boost_1_50_0-haiku/tools/build/v2/tools/builtin.py
--- boost_1_50_0/tools/build/v2/tools/builtin.py 2012-04-26 05:35:55.022020096 +0200
+++ boost_1_50_0-haiku/tools/build/v2/tools/builtin.py 2012-08-16 15:59:13.000000000 +0200
@@ -103,6 +103,7 @@
elif host_os == 'MACOSX': host_os = 'darwin'
elif host_os == 'KFREEBSD': host_os = 'freebsd'
elif host_os == 'LINUX': host_os = 'linux'
+ elif host_os == 'HAIKU': host_os = 'haiku'
else: host_os = 'unix'
return host_os.lower()
diff -Naur boost_1_50_0/tools/build/v2/tools/gcc.jam boost_1_50_0-haiku/tools/build/v2/tools/gcc.jam
--- boost_1_50_0/tools/build/v2/tools/gcc.jam 2012-04-26 05:35:55.025165824 +0200
+++ boost_1_50_0-haiku/tools/build/v2/tools/gcc.jam 2012-08-16 13:40:12.000000000 +0200
@@ -1050,6 +1050,10 @@
case beos :
{
# BeOS has no threading options, so do not set anything here.
+ }
+ case haiku :
+ {
+ option = ;
}
case *bsd :
{
@@ -1067,7 +1071,7 @@
}
case * :
{
- option = -pthread ;
+ option = -pthreads ;
libs = rt ;
}
}
diff -Naur boost_1_50_0/tools/build/v2/tools/gcc.py boost_1_50_0-haiku/tools/build/v2/tools/gcc.py
--- boost_1_50_0/tools/build/v2/tools/gcc.py 2012-04-26 05:35:55.025165824 +0200
+++ boost_1_50_0-haiku/tools/build/v2/tools/gcc.py 2012-08-16 15:06:53.000000000 +0200
@@ -675,6 +675,9 @@
elif host_os_name == 'BeOS':
# BeOS has no threading options, don't set anything here.
pass
+ elif host_os_name == 'Haiku':
+ flags('gcc', 'OPTIONS', ['<threading>multi'], ['-lroot'])
+ # there is no -lrt on HAIKU
elif host_os_name.endswith('BSD'):
flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
# there is no -lrt on BSD
diff -Naur boost_1_50_0/tools/build/v2/tools/python.jam boost_1_50_0-haiku/tools/build/v2/tools/python.jam
--- boost_1_50_0/tools/build/v2/tools/python.jam 2012-04-26 05:35:55.029097984 +0200
+++ boost_1_50_0-haiku/tools/build/v2/tools/python.jam 2012-08-16 15:52:51.000000000 +0200
@@ -648,13 +648,14 @@
case qnx* : return ;
case darwin : return ;
case windows : return ;
+ case haiku : return ;
case hpux : return <library>rt ;
case *bsd : return <library>pthread <toolset>gcc:<library>util ;
case aix : return <library>pthread <library>dl ;
- case * : return <library>pthread <library>dl
+ case * : return ; <library>pthread <library>dl
<toolset>gcc:<library>util <toolset-intel:platform>linux:<library>util ;
}
}

View File

@@ -0,0 +1,337 @@
diff -urN boost_1_53_0/boost/config/platform/haiku.hpp boost_1_53_0-haiku/boost/config/platform/haiku.hpp
--- boost_1_53_0/boost/config/platform/haiku.hpp 1969-12-31 16:00:00.000000000 -0800
+++ boost_1_53_0-haiku/boost/config/platform/haiku.hpp 2013-03-28 00:49:51.271056896 -0700
@@ -0,0 +1,27 @@
+//  (C) Copyright John Maddock 2001.
+//  Use, modification and distribution are subject to the
+//  Boost Software License, Version 1.0. (See accompanying file
+//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+//  See http://www.boost.org for most recent version.
+
+//  Haiku specific config options:
+
+#define BOOST_PLATFORM "Haiku"
+
+#define BOOST_NO_INTRINSIC_WCHAR_T
+#define BOOST_HAS_UNISTD_H
+
+#define BOOST_HAS_BETHREADS
+
+#ifndef BOOST_DISABLE_THREADS
+# define BOOST_HAS_THREADS
+#endif
+
+//
+// thread API's not auto detected:
+//
+#define BOOST_HAS_GETTIMEOFDAY
+
+// boilerplate code:
+#include <boost/config/posix_features.hpp>
diff -urN boost_1_53_0/boost/config/select_platform_config.hpp boost_1_53_0-haiku/boost/config/select_platform_config.hpp
--- boost_1_53_0/boost/config/select_platform_config.hpp 2011-10-10 04:50:55.036175872 -0700
+++ boost_1_53_0-haiku/boost/config/select_platform_config.hpp 2013-03-28 00:40:07.746586112 -0700
@@ -41,6 +41,10 @@
// win32:
# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
+#elif defined(__HAIKU__)
+// Haiku
+# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
+
#elif defined(__BEOS__)
// BeOS
# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
diff -urN boost_1_53_0/boost/config/stdlib/libstdcpp3.hpp boost_1_53_0-haiku/boost/config/stdlib/libstdcpp3.hpp
--- boost_1_53_0/boost/config/stdlib/libstdcpp3.hpp 2012-07-15 08:59:05.036700160 -0700
+++ boost_1_53_0-haiku/boost/config/stdlib/libstdcpp3.hpp 2013-03-28 00:40:17.162267136 -0700
@@ -35,7 +35,8 @@
# if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \
|| defined(_GLIBCXX__PTHREADS) \
|| defined(_GLIBCXX_HAS_GTHREADS) \
- || defined(_WIN32)
+ || defined(_WIN32) \
+ || defined(__HAIKU__)
//
// If the std lib has thread support turned on, then turn it on in Boost
// as well. We do this because some gcc-3.4 std lib headers define _REENTANT
diff -urN boost_1_53_0/boost/thread/detail/platform.hpp boost_1_53_0-haiku/boost/thread/detail/platform.hpp
--- boost_1_53_0/boost/thread/detail/platform.hpp 2012-07-08 22:55:01.064225280 -0700
+++ boost_1_53_0-haiku/boost/thread/detail/platform.hpp 2013-03-28 00:40:28.586153984 -0700
@@ -34,6 +34,8 @@
# define BOOST_THREAD_WIN32
#elif defined(__BEOS__)
# define BOOST_THREAD_BEOS
+#elif defined(__HAIKU__)
+# define BOOST_THREAD_BEOS
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
# define BOOST_THREAD_MACOS
//# define BOOST_THREAD_WAIT_BUG boost::posix_time::microseconds(1000)
diff -urN boost_1_53_0/tools/build/v2/engine/boehm_gc/dyn_load.c boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/dyn_load.c
--- boost_1_53_0/tools/build/v2/engine/boehm_gc/dyn_load.c 2011-06-06 13:36:21.029360128 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/dyn_load.c 2013-03-28 00:40:38.863240192 -0700
@@ -64,7 +64,7 @@
!defined(AIX) && !defined(SCO_ELF) && !defined(DGUX) && \
!(defined(FREEBSD) && defined(__ELF__)) && \
!(defined(NETBSD) && defined(__ELF__)) && !defined(HURD) && \
- !defined(DARWIN) && !defined(CYGWIN32)
+ !defined(DARWIN) && !defined(CYGWIN32) !(defined(HAIKU)
--> We only know how to find data segments of dynamic libraries for the
--> above. Additional SVR4 variants might not be too
--> hard to add.
@@ -82,6 +82,10 @@
# define ELFSIZE ARCH_ELFSIZE
#endif
+#if defined(HAIKU)
+
+#endif
+
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
(defined(NETBSD) && defined(__ELF__)) || defined(HURD)
@@ -216,7 +220,8 @@
#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
(defined(FREEBSD) && defined(__ELF__)) || defined(DGUX) || \
- (defined(NETBSD) && defined(__ELF__)) || defined(HURD)
+ (defined(NETBSD) && defined(__ELF__)) || defined(HURD) || \
+ defined(HAIKU)
#ifdef USE_PROC_FOR_LIBRARIES
diff -urN boost_1_53_0/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h
--- boost_1_53_0/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h 2011-06-06 13:36:21.031719424 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/include/gc_config_macros.h 2013-03-28 00:40:49.546045952 -0700
@@ -45,7 +45,8 @@
|| defined(GC_AIX_THREADS) \
|| defined(GC_LINUX_THREADS) \
|| defined(GC_NETBSD_THREADS) \
- || defined(GC_GNU_THREADS))
+ || defined(GC_GNU_THREADS)) \
+ || defined(GC_HAIKU_THREADS)
# define _REENTRANT
/* Better late than never. This fails if system headers that */
/* depend on this were previously included. */
@@ -62,6 +63,7 @@
# if defined(GC_SOLARIS_THREADS) || defined(GC_FREEBSD_THREADS) || \
defined(GC_IRIX_THREADS) || defined(GC_LINUX_THREADS) || \
defined(GC_HPUX_THREADS) || defined(GC_OSF1_THREADS) || \
+ defined(GC_HAIKU_THREADS) || \
defined(GC_DGUX386_THREADS) || defined(GC_DARWIN_THREADS) || \
defined(GC_AIX_THREADS) || defined(GC_NETBSD_THREADS) || \
(defined(GC_WIN32_THREADS) && defined(__CYGWIN32__)) || \
diff -urN boost_1_53_0/tools/build/v2/engine/boehm_gc/include/gc.h boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/include/gc.h
--- boost_1_53_0/tools/build/v2/engine/boehm_gc/include/gc.h 2011-06-06 13:36:21.031195136 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/include/gc.h 2013-03-28 00:40:57.427556864 -0700
@@ -494,7 +494,7 @@
/* of compilers. */
/* This may also be desirable if it is possible but expensive to */
/* retrieve the call chain. */
-#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) \
+#if (defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__HAIKU__) \
|| defined(__FreeBSD__) || defined(__DragonFly__)) & !defined(GC_CAN_SAVE_CALL_STACKS)
# define GC_ADD_CALLER
# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
diff -urN boost_1_53_0/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h
--- boost_1_53_0/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h 2011-06-06 13:36:21.034078720 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/include/private/gcconfig.h 2013-03-28 00:41:08.074448896 -0700
@@ -215,6 +215,11 @@
# define BEOS
# define mach_type_known
# endif
+# if defined(__HAIKU__) && defined(_X86_)
+# define I386
+# define HAIKU
+# define mach_type_known
+# endif
# if defined(LINUX) && (defined(i386) || defined(__i386__))
# define I386
# define mach_type_known
@@ -1014,6 +1019,13 @@
extern int etext[];
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
# endif
+# ifdef HAIKU
+# define OS_TYPE "HAIKU"
+# include <OS.h>
+# define GETPAGESIZE() B_PAGE_SIZE
+ extern int etext[];
+# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
+# endif
# ifdef SOLARIS
# define OS_TYPE "SOLARIS"
extern int _etext[], _end[];
diff -urN boost_1_53_0/tools/build/v2/engine/boehm_gc/os_dep.c boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/os_dep.c
--- boost_1_53_0/tools/build/v2/engine/boehm_gc/os_dep.c 2011-06-06 13:36:21.039583744 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/boehm_gc/os_dep.c 2013-03-28 00:41:17.561774592 -0700
@@ -777,6 +777,16 @@
# endif /* BEOS */
+# ifdef HAIKU
+# include <OS.h>
+ptr_t GC_get_main_stack_base(void){
+ thread_info th;
+ get_thread_info(find_thread(NULL),&th);
+ return th.stack_end;
+}
+# endif /* HAIKU */
+
+
# ifdef OS2
ptr_t GC_get_main_stack_base(void)
@@ -1095,7 +1105,7 @@
#endif /* FREEBSD_STACKBOTTOM */
-#if !defined(BEOS) && !defined(AMIGA) && !defined(MSWIN32) \
+#if !defined(BEOS) && !defined(HAIKU) && !defined(AMIGA) && !defined(MSWIN32) \
&& !defined(MSWINCE) && !defined(OS2) && !defined(NOSYS) && !defined(ECOS) \
&& !defined(CYGWIN32)
@@ -1154,7 +1164,7 @@
# endif /* STACKBOTTOM */
}
-# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !NOSYS, !ECOS */
+# endif /* ! AMIGA, !OS 2, ! MS Windows, !BEOS, !HAIKU, !NOSYS, !ECOS */
#if defined(GC_LINUX_THREADS) && !defined(HAVE_GET_STACK_BASE)
diff -urN boost_1_53_0/tools/build/v2/engine/fileunix.c boost_1_53_0-haiku/tools/build/v2/engine/fileunix.c
--- boost_1_53_0/tools/build/v2/engine/fileunix.c 2012-04-25 20:35:55.046399488 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/fileunix.c 2013-03-28 00:41:26.497549312 -0700
@@ -81,6 +81,7 @@
# if defined( OS_QNX ) || \
defined( OS_BEOS ) || \
+ defined( OS_HAIKU ) || \
defined( OS_MPEIX )
# define NO_AR
# define HAVE_AR
diff -urN boost_1_53_0/tools/build/v2/engine/jam.h boost_1_53_0-haiku/tools/build/v2/engine/jam.h
--- boost_1_53_0/tools/build/v2/engine/jam.h 2012-06-05 21:00:21.048234496 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/jam.h 2013-03-28 00:41:36.127139840 -0700
@@ -151,6 +151,11 @@
#define OS_BEOS
#define NO_VFORK
#endif
+#ifdef __HAIKU__
+ #define unix
+ #define OSMINOR "OS=HAIKU"
+ #define OS_HAIKU
+#endif
#ifdef __bsdi__
#define OSMINOR "OS=BSDI"
#define OS_BSDI
diff -urN boost_1_53_0/tools/build/v2/engine/jambase.c boost_1_53_0-haiku/tools/build/v2/engine/jambase.c
--- boost_1_53_0/tools/build/v2/engine/jambase.c 2011-06-06 13:36:21.048496640 -0700
+++ boost_1_53_0-haiku/tools/build/v2/engine/jambase.c 2013-03-28 00:41:44.670040064 -0700
@@ -548,6 +548,18 @@
"NOARSCAN ?= true ;\n",
"STDHDRS ?= /boot/develop/headers/posix ;\n",
"}\n",
+"else if $(OS) = HAIKU\n",
+"{\n",
+"BINDIR ?= /boot/common/bin ;\n",
+"CC ?= gcc ;\n",
+"C++ ?= $(CC) ;\n",
+"FORTRAN ?= \"\" ;\n",
+"LIBDIR ?= /boot/common/lib ;\n",
+"LINK ?= gcc ;\n",
+"LINKLIBS ?= -lnetwork ;\n",
+"NOARSCAN ?= true ;\n",
+"STDHDRS ?= /boot/develop/headers/posix ;\n",
+"}\n",
"else if $(OS) = BEOS\n",
"{\n",
"BINDIR ?= /boot/apps ;\n",
diff -urN boost_1_53_0/tools/build/v2/tools/builtin.jam boost_1_53_0-haiku/tools/build/v2/tools/builtin.jam
--- boost_1_53_0/tools/build/v2/tools/builtin.jam 2011-06-06 13:36:21.033816576 -0700
+++ boost_1_53_0-haiku/tools/build/v2/tools/builtin.jam 2013-03-28 00:41:54.663748608 -0700
@@ -40,7 +40,7 @@
.os-names = aix bsd cygwin darwin freebsd hpux iphone linux netbsd
- openbsd osf qnx qnxnto sgi solaris unix unixware windows
+ openbsd osf qnx qnxnto sgi solaris unix unixware windows haiku
elf # Not actually an OS -- used for targeting bare metal where
# object format is ELF. This catches both -elf and -eabi gcc
# targets and well as other compilers targeting ELF. It is not
@@ -75,6 +75,7 @@
case COHERENT : host-os = unix ;
case DRAGONFLYBSD : host-os = bsd ;
case IRIX : host-os = sgi ;
+ case HAIKU : host-os = haiku ;
case MACOSX : host-os = darwin ;
case KFREEBSD : host-os = freebsd ;
case LINUX : host-os = linux ;
diff -urN boost_1_53_0/tools/build/v2/tools/builtin.py boost_1_53_0-haiku/tools/build/v2/tools/builtin.py
--- boost_1_53_0/tools/build/v2/tools/builtin.py 2012-04-25 20:35:55.034078720 -0700
+++ boost_1_53_0-haiku/tools/build/v2/tools/builtin.py 2013-03-28 00:42:04.759693312 -0700
@@ -103,6 +103,7 @@
elif host_os == 'MACOSX': host_os = 'darwin'
elif host_os == 'KFREEBSD': host_os = 'freebsd'
elif host_os == 'LINUX': host_os = 'linux'
+ elif host_os == 'HAIKU': host_os = 'haiku'
else: host_os = 'unix'
return host_os.lower()
diff -urN boost_1_53_0/tools/build/v2/tools/gcc.jam boost_1_53_0-haiku/tools/build/v2/tools/gcc.jam
--- boost_1_53_0/tools/build/v2/tools/gcc.jam 2012-04-25 20:35:55.037224448 -0700
+++ boost_1_53_0-haiku/tools/build/v2/tools/gcc.jam 2013-03-28 00:42:15.700710912 -0700
@@ -1050,6 +1050,10 @@
case beos :
{
# BeOS has no threading options, so do not set anything here.
+ }
+ case haiku :
+ {
+ option = ;
}
case *bsd :
{
@@ -1067,7 +1071,7 @@
}
case * :
{
- option = -pthread ;
+ option = -pthreads ;
libs = rt ;
}
}
diff -urN boost_1_53_0/tools/build/v2/tools/gcc.py boost_1_53_0-haiku/tools/build/v2/tools/gcc.py
--- boost_1_53_0/tools/build/v2/tools/gcc.py 2012-04-25 20:35:55.037224448 -0700
+++ boost_1_53_0-haiku/tools/build/v2/tools/gcc.py 2013-03-28 00:42:26.814219264 -0700
@@ -675,6 +675,9 @@
elif host_os_name == 'BeOS':
# BeOS has no threading options, don't set anything here.
pass
+ elif host_os_name == 'Haiku':
+ flags('gcc', 'OPTIONS', ['<threading>multi'], ['-lroot'])
+ # there is no -lrt on HAIKU
elif host_os_name.endswith('BSD'):
flags('gcc', 'OPTIONS', ['<threading>multi'], ['-pthread'])
# there is no -lrt on BSD
diff -urN boost_1_53_0/tools/build/v2/tools/python.jam boost_1_53_0-haiku/tools/build/v2/tools/python.jam
--- boost_1_53_0/tools/build/v2/tools/python.jam 2012-04-25 20:35:55.041156608 -0700
+++ boost_1_53_0-haiku/tools/build/v2/tools/python.jam 2013-03-28 00:42:37.560463872 -0700
@@ -648,13 +648,14 @@
case qnx* : return ;
case darwin : return ;
case windows : return ;
+ case haiku : return ;
case hpux : return <library>rt ;
case *bsd : return <library>pthread <toolset>gcc:<library>util ;
case aix : return <library>pthread <library>dl ;
- case * : return <library>pthread <library>dl
+ case * : return ; <library>pthread <library>dl
<toolset>gcc:<library>util <toolset-intel:platform>linux:<library>util ;
}
}

View File

@@ -0,0 +1,28 @@
DESCRIPTION="CHMLIB is a library for dealing with Microsoft ITSS/CHM format files."
HOMEPAGE="http://www.jedrea.com/chmlib/"
SRC_URI="http://www.jedrea.com/chmlib/chmlib-0.40.zip"
CHECKSUM_MD5="a20d86103b8ab369e5b93506d5ffa802"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd chmlib-0.40
rm aclocal.m4
rm acinclude.m4
libtoolize --force --copy --install
aclocal
sed -i 's/lpthread//g' configure.in Makefile.in src/Makefile.in
autoconf
automake
chmod 777 configure
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd chmlib-0.40
make install
}
LICENSE="GNU LGPL v2.1"
COPYRIGHT="2003 Jed Wing"

View File

@@ -0,0 +1,36 @@
DESCRIPTION="lightweight yet fully functional embedded SSL implementation"
HOMEPAGE="http://yassl.com"
SRC_URI="http://yassl.com/cyassl-2.0.2.zip"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="app-text/dos2unix >= 1.0"
CHECKSUM_MD5="2f51752207132c161155508eeb517e38"
BUILD {
cd cyassl-2.0.2
dos2unix *
dos2unix include/*
dos2unix ctaocrypt/include/*
dos2unix ctaocrypt/src/*
libtoolize --force --copy --install
aclocal -I m4
autoconf
chmod 755 configure
automake
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-shared
make
}
INSTALL {
cd cyassl-2.0.2
make install
}
TEST {
cd cyassl-2.0.2
make check
cd testsuite
testsuite
}
LICENSE="GNU GPL v2"
COPYRIGHT="2006-2011 Sawtooth Consulting Ltd."

View File

@@ -0,0 +1,36 @@
DESCRIPTION="lightweight yet fully functional embedded SSL implementation"
HOMEPAGE="http://yassl.com"
SRC_URI="http://yassl.com/cyassl-2.5.0.zip"
REVISION="1"
STATUS_HAIKU="broken"
DEPEND="app-text/dos2unix >= 1.0"
CHECKSUM_MD5="8965fb76f89af827ace53e423453b7cd"
BUILD {
cd cyassl-2.5.0
dos2unix *
dos2unix include/*
dos2unix ctaocrypt/include/*
dos2unix ctaocrypt/src/*
libtoolize --force --copy --install
aclocal -I m4
autoconf
chmod 755 configure
automake
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-shared
make
}
INSTALL {
cd cyassl-2.5.0
make install
}
TEST {
cd cyassl-2.5.0
make check
cd testsuite
testsuite
}
LICENSE="GNU GPL v2"
COPYRIGHT="2006-2013 Sawtooth Consulting Ltd."

View File

@@ -1,5 +1,5 @@
DESCRIPTION="fribidi - A free implementation of the unicode bidirectional algorithm"
HOMEPAGE="http://fribidi.org/"
DESCRIPTION="fribidi - A free implementation of the unicode bidirectional algorithm"
HOMEPAGE="http://fribidi.org/"
SRC_URI="http://fribidi.org/download/fribidi-0.19.2.tar.gz"
CHECKSUM_MD5="626db17d2d99b43615ad9d12500f568a"
REVISION="1"
@@ -9,24 +9,15 @@ BUILD {
cd fribidi-0.19.2
rm -rf aclocal.m4
mkdir -p m4
cp /boot/common/share/aclocal/libtool.m4 m4
cp /boot/common/share/aclocal/ltoptions.m4 m4
cp /boot/common/share/aclocal/ltversion.m4 m4
cp /boot/common/share/aclocal/ltsugar.m4 m4
cp /boot/common/share/aclocal/lt~obsolete.m4 m4
libtoolize --force --copy --install
aclocal -I m4
aclocal --install -I m4
automake
autoconf
MANDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
if [ -n "$(setgcc | grep '2')" ]; then
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
else
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`/gcc4
fi
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--libdir=$LIBDIR \
--mandir=$MANDIR
--mandir=$COMMON_DOCS
make
}
@@ -34,6 +25,7 @@ INSTALL {
cd fribidi-0.19.2
make install
}
LICENSE="GNU LGPL v2.1"
COPYRIGHT="2004 Sharif FarsiWeb, Inc
2001,2002 Behdad Esfahbod

View File

@@ -18,7 +18,7 @@ BUILD {
aclocal -I m4
# automake
autoconf
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -2,7 +2,7 @@ DESCRIPTION="glib"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.24/glib-2.24.1.tar.gz"
CHECKSUM_MD5="e61f2e9636f9d57067c4e3a690b9911a"
REVISION="1"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
@@ -10,15 +10,10 @@ BUILD {
rm -rf aclocal.m4
mkdir -p m4
cp ../../gtk-doc.m4 m4
cp /boot/common/share/aclocal/libtool.m4 m4
cp /boot/common/share/aclocal/ltoptions.m4 m4
cp /boot/common/share/aclocal/ltversion.m4 m4
cp /boot/common/share/aclocal/ltsugar.m4 m4
cp /boot/common/share/aclocal/lt~obsolete.m4 m4
libtoolize --force --copy --install
aclocal -I m4
aclocal --install -I m4
autoconf
./configure --prefix=/boot/common \
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--with-threads=posix \
LDFLAGS=-lnetwork
make

View File

@@ -2,24 +2,28 @@ DESCRIPTION="glib"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.24/glib-2.24.2.tar.gz"
CHECKSUM_MD5="071b8e246197d334e20ab67956aef936"
REVISION="1"
REVISION="2"
STATUS_HAIKU="stable"
DEPEND="dev-libs/pkgconfig >= 0.23
sys-devel/gettext >= 0.17"
sys-devel/gettext >= 0.17
dev-libs/libpcre >= 8.00"
BUILD {
cd glib-2.24.2
rm -rf aclocal.m4
mkdir -p m4
cp ../../gtk-doc.m4 m4
cp /boot/common/share/aclocal/libtool.m4 m4
cp /boot/common/share/aclocal/ltoptions.m4 m4
cp /boot/common/share/aclocal/ltversion.m4 m4
cp /boot/common/share/aclocal/ltsugar.m4 m4
cp /boot/common/share/aclocal/lt~obsolete.m4 m4
libtoolize --force --copy --install
aclocal -I m4
aclocal --install -I m4 -I m4macros
autoheader
automake
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY`
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
DATADIR=`finddir B_COMMON_DATA_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=$DATADIR \
--docdir=$COMMON_DOCS/doc/glib \
--htmldir=$COMMON_DOCS/doc/gtk-doc/html \
--mandir=$COMMON_DOCS/man
make
}

View File

@@ -11,15 +11,10 @@ BUILD {
rm -rf aclocal.m4
mkdir -p m4
cp ../../gtk-doc.m4 m4
cp /boot/common/share/aclocal/libtool.m4 m4
cp /boot/common/share/aclocal/ltoptions.m4 m4
cp /boot/common/share/aclocal/ltversion.m4 m4
cp /boot/common/share/aclocal/ltsugar.m4 m4
cp /boot/common/share/aclocal/lt~obsolete.m4 m4
libtoolize --force --copy --install
aclocal -I m4
aclocal --install -I m4
autoconf
./configure --prefix=`finddir B_COMMON_BIN_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal
autoconf
automake --add-missing
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal
autoconf
automake --add-missing
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,30 @@
DESCRIPTION="GMP - GNU Multiple Precision Arithmetic Library"
HOMEPAGE="http://gmplib.org/"
SRC_URI="ftp://ftp.gmplib.org/pub/gmp-5.0.5/gmp-5.0.5.tar.xz"
CHECKSUM_MD5="8aef50959acec2a1ad41d144ffe0f3b5"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd gmp-5.0.5
libtoolize --force --copy --install
aclocal
autoconf
automake --add-missing
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd gmp-5.0.5
make install
}
TEST {
cd gmp-5.0.5
make check
}
LICENSE="GNU GPL v3
GNU LGPL v3"
COPYRIGHT="1991-2012 Free Software Foundation, Inc."

View File

@@ -0,0 +1,30 @@
DESCRIPTION="GMP - GNU Multiple Precision Arithmetic Library"
HOMEPAGE="http://gmplib.org/"
SRC_URI="ftp://ftp.gmplib.org/pub/gmp-5.1.1/gmp-5.1.1.tar.xz"
CHECKSUM_MD5="485b1296e6287fa381e6015b19767989"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd gmp-5.1.1
libtoolize --force --copy --install
aclocal
autoconf
automake --add-missing
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd gmp-5.1.1
make install
}
TEST {
cd gmp-5.1.1
make check
}
LICENSE="GNU GPL v3
GNU LGPL v3"
COPYRIGHT="1991-2013 Free Software Foundation, Inc."

View File

@@ -7,7 +7,7 @@ STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd icu/source
CPPFLAGS="-D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1" ./configure --prefix=/boot/common
CPPFLAGS="-D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1" ./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,20 @@
DESCRIPTION="icu"
HOMEPAGE="http://www.icu-project.org"
SRC_URI="http://download.icu-project.org/files/icu4c/4.8.1/icu4c-4_8_1-src.tgz"
CHECKSUM_MD5="af36f635271a239d76d038d6cf8da8df"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd icu/source
./configure --prefix=`finddir B_COMMON_DIRECTORY` --disable-renaming --disable-samples --disable-extras
make
}
INSTALL {
cd icu/source
make install
}
LICENSE="ICU"
COPYRIGHT="1997-2011 IBM Corporation and others."

View File

@@ -0,0 +1,591 @@
diff -ruN icu/source/common/messagepattern.cpp icu-haiku/source/common/messagepattern.cpp
--- icu/source/common/messagepattern.cpp 2011-07-19 23:16:28.046137344 +0200
+++ icu-haiku/source/common/messagepattern.cpp 2011-08-19 15:48:48.211025920 +0200
@@ -88,8 +88,12 @@
int32_t length,
UErrorCode &errorCode);
UBool ensureCapacityForOneMore(int32_t oldLength, UErrorCode &errorCode);
- UBool memEquals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const {
- return 0==uprv_memcmp(a.getAlias(), other.a.getAlias(), length*sizeof(T));
+ UBool equals(const MessagePatternList<T, stackCapacity> &other, int32_t length) const {
+ for (int32_t i=0; i<length; ++i) {
+ if (!(a.getAlias()[i] == other.a.getAlias()[i]))
+ return FALSE;
+ }
+ return TRUE;
}
MaybeStackArray<T, stackCapacity> a;
@@ -309,7 +313,7 @@
msg==other.msg &&
// parts.equals(o.parts)
partsLength==other.partsLength &&
- (partsLength==0 || partsList->memEquals(*other.partsList, partsLength));
+ (partsLength==0 || partsList->equals(*other.partsList, partsLength));
// No need to compare numericValues if msg and parts are the same.
}
diff -ruN icu/source/common/normalizer2.cpp icu-haiku/source/common/normalizer2.cpp
--- icu/source/common/normalizer2.cpp 2011-07-19 23:16:24.008912896 +0200
+++ icu-haiku/source/common/normalizer2.cpp 2011-08-19 15:46:55.276824064 +0200
@@ -239,7 +239,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.decompose(src, limit, &buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
UnicodeString &safeMiddle,
@@ -250,7 +250,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &errorCode) const {
return impl.decompose(src, limit, NULL, errorCode);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
virtual UNormalizationCheckResult getQuickCheck(UChar32 c) const {
return impl.isDecompYes(impl.getNorm16(c)) ? UNORM_YES : UNORM_NO;
}
@@ -270,7 +270,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.compose(src, limit, onlyContiguous, TRUE, buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
UnicodeString &safeMiddle,
@@ -313,7 +313,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &) const {
return impl.composeQuickCheck(src, limit, onlyContiguous, NULL);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
virtual UNormalizationCheckResult getQuickCheck(UChar32 c) const {
return impl.getCompQuickCheck(impl.getNorm16(c));
}
@@ -340,7 +340,7 @@
ReorderingBuffer &buffer, UErrorCode &errorCode) const {
impl.makeFCD(src, limit, &buffer, errorCode);
}
- using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::normalize; // Avoid warning about hiding base class function.
virtual void
normalizeAndAppend(const UChar *src, const UChar *limit, UBool doNormalize,
UnicodeString &safeMiddle,
@@ -351,7 +351,7 @@
spanQuickCheckYes(const UChar *src, const UChar *limit, UErrorCode &errorCode) const {
return impl.makeFCD(src, limit, NULL, errorCode);
}
- using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
+// using Normalizer2WithImpl::spanQuickCheckYes; // Avoid warning about hiding base class function.
virtual UBool hasBoundaryBefore(UChar32 c) const { return impl.hasFCDBoundaryBefore(c); }
virtual UBool hasBoundaryAfter(UChar32 c) const { return impl.hasFCDBoundaryAfter(c); }
virtual UBool isInert(UChar32 c) const { return impl.isFCDInert(c); }
diff -ruN icu/source/common/unicode/bytestrie.h icu-haiku/source/common/unicode/bytestrie.h
--- icu/source/common/unicode/bytestrie.h 2011-07-19 23:16:16.052953088 +0200
+++ icu-haiku/source/common/unicode/bytestrie.h 2011-08-19 15:46:55.331874304 +0200
@@ -338,6 +338,9 @@
// but the code looks more confusing that way.)
UVector32 *stack_;
};
+#if (__GNUC__ == 2)
+ friend class Iterator;
+#endif
private:
friend class BytesTrieBuilder;
diff -ruN icu/source/common/unicode/bytestriebuilder.h icu-haiku/source/common/unicode/bytestriebuilder.h
--- icu/source/common/unicode/bytestriebuilder.h 2011-07-19 23:16:16.053477376 +0200
+++ icu-haiku/source/common/unicode/bytestriebuilder.h 2011-08-19 15:46:55.333185024 +0200
@@ -141,6 +141,9 @@
private:
const char *s;
};
+#if (__GNUC__ == 2)
+ friend class BTLinearMatchNode;
+#endif
virtual Node *createLinearMatchNode(int32_t i, int32_t byteIndex, int32_t length,
Node *nextNode) const;
diff -ruN icu/source/common/unicode/platform.h.in icu-haiku/source/common/unicode/platform.h.in
--- icu/source/common/unicode/platform.h.in 2011-07-19 23:16:18.055574528 +0200
+++ icu-haiku/source/common/unicode/platform.h.in 2011-08-19 15:46:55.346554368 +0200
@@ -299,7 +299,7 @@
#ifdef U_STATIC_IMPLEMENTATION
#define U_EXPORT
-#elif @U_USE_GCC_VISIBILITY_ATTRIBUTE@
+#elif (@U_USE_GCC_VISIBILITY_ATTRIBUTE@) && (__GNUC__ > 2)
#define U_EXPORT __attribute__((visibility("default")))
#elif (defined(__SUNPRO_CC) && __SUNPRO_CC >= 0x550) \
|| (defined(__SUNPRO_C) && __SUNPRO_C >= 0x550)
diff -ruN icu/source/common/unicode/stringtriebuilder.h icu-haiku/source/common/unicode/stringtriebuilder.h
--- icu/source/common/unicode/stringtriebuilder.h 2011-07-19 23:16:18.056623104 +0200
+++ icu-haiku/source/common/unicode/stringtriebuilder.h 2011-08-19 15:46:55.336068608 +0200
@@ -245,6 +245,9 @@
protected:
int32_t value;
};
+#if (__GNUC__ == 2)
+ friend class FinalValueNode;
+#endif
/** @internal */
class ValueNode : public Node {
@@ -272,6 +275,9 @@
protected:
Node *next;
};
+#if (__GNUC__ == 2)
+ friend class IntermediateValueNode;
+#endif
/** @internal */
class LinearMatchNode : public ValueNode {
@@ -323,6 +329,9 @@
int32_t values[kMaxBranchLinearSubNodeLength];
UChar units[kMaxBranchLinearSubNodeLength];
};
+#if (__GNUC__ == 2)
+ friend class ListBranchNode;
+#endif
/** @internal */
class SplitBranchNode : public BranchNode {
@@ -339,6 +348,9 @@
Node *lessThan;
Node *greaterOrEqual;
};
+#if (__GNUC__ == 2)
+ friend class SplitBranchNode;
+#endif
// Branch head node, for writing the actual node lead unit.
/** @internal */
@@ -354,6 +366,9 @@
int32_t length;
Node *next; // A branch sub-node.
};
+#if (__GNUC__ == 2)
+ friend class BranchHeadNode;
+#endif
/** @internal */
virtual Node *createLinearMatchNode(int32_t i, int32_t unitIndex, int32_t length,
diff -ruN icu/source/common/unicode/ucharstrie.h icu-haiku/source/common/unicode/ucharstrie.h
--- icu/source/common/unicode/ucharstrie.h 2011-07-19 23:16:18.058720256 +0200
+++ icu-haiku/source/common/unicode/ucharstrie.h 2011-08-19 15:46:55.338165760 +0200
@@ -368,6 +368,9 @@
// but the code looks more confusing that way.)
UVector32 *stack_;
};
+#if (__GNUC__ == 2)
+ friend class Iterator;
+#endif
private:
friend class UCharsTrieBuilder;
diff -ruN icu/source/common/unicode/ucharstriebuilder.h icu-haiku/source/common/unicode/ucharstriebuilder.h
--- icu/source/common/unicode/ucharstriebuilder.h 2011-07-19 23:16:18.059244544 +0200
+++ icu-haiku/source/common/unicode/ucharstriebuilder.h 2011-08-19 15:46:55.339738624 +0200
@@ -145,6 +145,9 @@
private:
const UChar *s;
};
+#if (__GNUC__ == 2)
+ friend class UCTLinearMatchNode;
+#endif
virtual Node *createLinearMatchNode(int32_t i, int32_t unitIndex, int32_t length,
Node *nextNode) const;
diff -ruN icu/source/config/mh-haiku icu-haiku/source/config/mh-haiku
--- icu/source/config/mh-haiku 2011-07-19 23:16:46.026214400 +0200
+++ icu-haiku/source/config/mh-haiku 2011-08-19 15:46:55.328990720 +0200
@@ -17,6 +17,9 @@
LIBCPPFLAGS =
THREADSCPPFLAGS =
+#
+CPPFLAGS += -D__STDC_ISO_10646__ -DU_CHARSET_IS_UTF8=1
+
## Compiler switch to embed a runtime search path
LD_RPATH=
LD_RPATH_PRE = -Wl,-rpath,
@@ -31,35 +34,35 @@
## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
- $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
+ $(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
%.o: $(srcdir)/%.c
- $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
+ $(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<
%.$(STATIC_O): $(srcdir)/%.cpp
- $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
+ $(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
%.o: $(srcdir)/%.cpp
- $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
+ $(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<
## Dependency rules
%.d: $(srcdir)/%.c
- @echo "generating dependency information for $<"
- @$(SHELL) -ec '$(GEN_DEPS.c) $< \
- | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
- [ -s $@ ] || rm -f $@'
+ @echo "generating dependency information for $<"
+ @$(SHELL) -ec '$(GEN_DEPS.c) $< \
+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
+ [ -s $@ ] || rm -f $@'
%.d: $(srcdir)/%.cpp
- @echo "generating dependency information for $<"
- @$(SHELL) -ec '$(GEN_DEPS.cc) $< \
- | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
- [ -s $@ ] || rm -f $@'
+ @echo "generating dependency information for $<"
+ @$(SHELL) -ec '$(GEN_DEPS.cc) $< \
+ | sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
+ [ -s $@ ] || rm -f $@'
## Versioned libraries rules
%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
- $(RM) $@ && ln -s ${<F} $@
+ $(RM) $@ && ln -s ${<F} $@
%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
- $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
+ $(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@
## Bind internal references
diff -ruN icu/source/configure icu-haiku/source/configure
--- icu/source/configure 2011-07-19 23:19:38.029884416 +0200
+++ icu-haiku/source/configure 2011-08-19 15:46:55.287834112 +0200
@@ -7748,6 +7748,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruN icu/source/configure.in icu-haiku/source/configure.in
--- icu/source/configure.in 2011-07-19 23:19:38.029360128 +0200
+++ icu-haiku/source/configure.in 2011-08-19 15:46:55.290717696 +0200
@@ -1286,6 +1286,7 @@
*-*-nto*) platform=U_QNX ;;
*-dec-osf*) platform=U_OSF ;;
*-*-beos) platform=U_BEOS ;;
+ *-*-haiku) platform=U_HAIKU ;;
*-*-irix*) platform=U_IRIX ;;
*-ncr-*) platform=U_MPRAS ;;
*) platform=U_UNKNOWN_PLATFORM ;;
diff -ruN icu/source/i18n/alphaindex.cpp icu-haiku/source/i18n/alphaindex.cpp
--- icu/source/i18n/alphaindex.cpp 2011-07-19 23:16:04.049545216 +0200
+++ icu-haiku/source/i18n/alphaindex.cpp 2011-08-19 15:46:55.342884352 +0200
@@ -196,7 +196,7 @@
UnicodeSet labelSet;
for (int32_t psIndex=0; psIndex<preferenceSorting.size(); psIndex++) {
- UnicodeString item = *static_cast<const UnicodeString *>(preferenceSorting.elementAt(psIndex));
+ UnicodeString item = *static_cast<UnicodeString *>(preferenceSorting.elementAt(psIndex));
// TODO: Since preferenceSorting was originally populated from the contents of a UnicodeSet,
// is it even possible for duplicates to show up in this check?
if (labelSet.contains(item)) {
@@ -240,7 +240,7 @@
int32_t count = 0;
int32_t old = -1;
for (int32_t srcIndex=0; srcIndex<labels_->size(); srcIndex++) {
- const UnicodeString *str = static_cast<const UnicodeString *>(labels_->elementAt(srcIndex));
+ const UnicodeString *str = static_cast<UnicodeString *>(labels_->elementAt(srcIndex));
++count;
const int32_t bump = count * maxLabelCount_ / size;
if (bump == old) {
@@ -528,7 +528,7 @@
const UnicodeString &AlphabeticIndex::getOverflowComparisonString(const UnicodeString &lowerLimit, UErrorCode &/*status*/) {
for (int32_t i=0; i<firstScriptCharacters_->size(); i++) {
const UnicodeString *s =
- static_cast<const UnicodeString *>(firstScriptCharacters_->elementAt(i));
+ const_cast<const UnicodeString *>(static_cast<UnicodeString *>(firstScriptCharacters_->elementAt(i)));
if (collator_->compare(*s, lowerLimit) > 0) {
return *s;
}
@@ -735,8 +735,10 @@
sortCollateComparator(const void *context, const void *left, const void *right) {
const UHashTok *leftTok = static_cast<const UHashTok *>(left);
const UHashTok *rightTok = static_cast<const UHashTok *>(right);
- const UnicodeString *leftString = static_cast<const UnicodeString *>(leftTok->pointer);
- const UnicodeString *rightString = static_cast<const UnicodeString *>(rightTok->pointer);
+ const UnicodeString *leftString
+ = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(leftTok->pointer));
+ const UnicodeString *rightString
+ = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(rightTok->pointer));
const Collator *col = static_cast<const Collator *>(context);
if (leftString == rightString) {
@@ -760,8 +762,10 @@
recordCompareFn(const void *context, const void *left, const void *right) {
const UHashTok *leftTok = static_cast<const UHashTok *>(left);
const UHashTok *rightTok = static_cast<const UHashTok *>(right);
- const AlphabeticIndex::Record *leftRec = static_cast<const AlphabeticIndex::Record *>(leftTok->pointer);
- const AlphabeticIndex::Record *rightRec = static_cast<const AlphabeticIndex::Record *>(rightTok->pointer);
+ const AlphabeticIndex::Record *leftRec
+ = const_cast<const AlphabeticIndex::Record *>(static_cast<AlphabeticIndex::Record *>(leftTok->pointer));
+ const AlphabeticIndex::Record *rightRec
+ = const_cast<const AlphabeticIndex::Record *>(static_cast<AlphabeticIndex::Record *>(rightTok->pointer));
const Collator *col = static_cast<const Collator *>(context);
Collator::EComparisonResult r = col->compare(leftRec->sortingName_, rightRec->sortingName_);
@@ -1087,8 +1091,8 @@
PreferenceComparator(const void *context, const void *left, const void *right) {
const UHashTok *leftTok = static_cast<const UHashTok *>(left);
const UHashTok *rightTok = static_cast<const UHashTok *>(right);
- const UnicodeString *s1 = static_cast<const UnicodeString *>(leftTok->pointer);
- const UnicodeString *s2 = static_cast<const UnicodeString *>(rightTok->pointer);
+ const UnicodeString *s1 = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(leftTok->pointer));
+ const UnicodeString *s2 = const_cast<const UnicodeString *>(static_cast<UnicodeString *>(rightTok->pointer));
UErrorCode &status = *(UErrorCode *)(context); // Cast off both static and const.
if (s1 == s2) {
return 0;
diff -ruN icu/source/i18n/currfmt.h icu-haiku/source/i18n/currfmt.h
--- icu/source/i18n/currfmt.h 2011-07-19 23:16:00.058720256 +0200
+++ icu-haiku/source/i18n/currfmt.h 2011-08-19 15:46:55.293339136 +0200
@@ -63,7 +63,9 @@
virtual Format* clone() const;
+#if (__GNUC__ > 2)
using MeasureFormat::format;
+#endif
/**
* Override Format API.
diff -ruN icu/source/i18n/digitlst.cpp icu-haiku/source/i18n/digitlst.cpp
--- icu/source/i18n/digitlst.cpp 2011-07-19 23:16:00.050593792 +0200
+++ icu-haiku/source/i18n/digitlst.cpp 2011-08-19 15:46:55.295698432 +0200
@@ -37,7 +37,9 @@
#include <limits.h>
#include <string.h>
#include <stdio.h>
+#if (__GNUC__ > 2)
#include <limits>
+#endif
// ***************************************************************************
// class DigitList
@@ -423,11 +425,15 @@
nonConstThis->fDouble /= -1;
}
} else if (isInfinite()) {
+#if (__GNUC__ > 2)
if (std::numeric_limits<double>::has_infinity) {
nonConstThis->fDouble = std::numeric_limits<double>::infinity();
} else {
nonConstThis->fDouble = std::numeric_limits<double>::max();
}
+#else
+ nonConstThis->fDouble = DBL_MAX;
+#endif
if (!isPositive()) {
nonConstThis->fDouble = -fDouble;
}
diff -ruN icu/source/i18n/reldtfmt.h icu-haiku/source/i18n/reldtfmt.h
--- icu/source/i18n/reldtfmt.h 2011-07-19 23:16:06.034078720 +0200
+++ icu-haiku/source/i18n/reldtfmt.h 2011-08-19 15:46:55.297533440 +0200
@@ -79,7 +79,9 @@
virtual UBool operator==(const Format& other) const;
+#if (__GNUC__ > 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
diff -ruN icu/source/i18n/unicode/alphaindex.h icu-haiku/source/i18n/unicode/alphaindex.h
--- icu/source/i18n/unicode/alphaindex.h 2011-07-19 23:15:52.042467328 +0200
+++ icu-haiku/source/i18n/unicode/alphaindex.h 2011-08-19 15:46:55.344719360 +0200
@@ -588,6 +588,9 @@
Record(AlphabeticIndex *alphaIndex, const UnicodeString &name, const void *data);
~Record();
};
+#if (__GNUC__ == 2)
+ friend struct Record;
+#endif
/**
* Holds all user records before they are distributed into buckets.
diff -ruN icu/source/i18n/unicode/choicfmt.h icu-haiku/source/i18n/unicode/choicfmt.h
--- icu/source/i18n/unicode/choicfmt.h 2011-07-19 23:15:52.038797312 +0200
+++ icu-haiku/source/i18n/unicode/choicfmt.h 2011-08-19 15:46:55.300154880 +0200
@@ -352,7 +352,9 @@
virtual const UnicodeString* getFormats(int32_t& count) const;
+#if (__GNUC__ > 2)
using NumberFormat::format;
+#endif
/**
* Formats a double number using this object's choices.
diff -ruN icu/source/i18n/unicode/datefmt.h icu-haiku/source/i18n/unicode/datefmt.h
--- icu/source/i18n/unicode/datefmt.h 2011-07-19 23:15:52.035389440 +0200
+++ icu-haiku/source/i18n/unicode/datefmt.h 2011-08-19 15:46:55.302514176 +0200
@@ -212,7 +212,9 @@
virtual UBool operator==(const Format&) const;
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
diff -ruN icu/source/i18n/unicode/decimfmt.h icu-haiku/source/i18n/unicode/decimfmt.h
--- icu/source/i18n/unicode/decimfmt.h 2011-07-19 23:15:54.040370176 +0200
+++ icu-haiku/source/i18n/unicode/decimfmt.h 2011-08-19 15:46:55.305397760 +0200
@@ -834,7 +834,16 @@
virtual UBool operator==(const Format& other) const;
+#if (__GNUC__ > 2)
using NumberFormat::format;
+#else
+ virtual UnicodeString& format(const Formattable& obj,
+ UnicodeString& appendTo,
+ FieldPositionIterator* posIter,
+ UErrorCode& status) const {
+ return NumberFormat::format(obj, appendTo, posIter, status);
+ }
+#endif
/**
* Format a double or long number using base-10 representation.
diff -ruN icu/source/i18n/unicode/dtitvfmt.h icu-haiku/source/i18n/unicode/dtitvfmt.h
--- icu/source/i18n/unicode/dtitvfmt.h 2011-07-19 23:15:54.042467328 +0200
+++ icu-haiku/source/i18n/unicode/dtitvfmt.h 2011-08-19 15:46:55.307757056 +0200
@@ -363,7 +363,9 @@
UBool operator!=(const Format& other) const;
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles Formattable
diff -ruN icu/source/i18n/unicode/msgfmt.h icu-haiku/source/i18n/unicode/msgfmt.h
--- icu/source/i18n/unicode/msgfmt.h 2011-07-19 23:15:54.041156608 +0200
+++ icu-haiku/source/i18n/unicode/msgfmt.h 2011-08-19 15:46:55.310116352 +0200
@@ -615,7 +615,9 @@
virtual const Format** getFormats(int32_t& count) const;
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Formats the given array of arguments into a user-readable string.
diff -ruN icu/source/i18n/unicode/numfmt.h icu-haiku/source/i18n/unicode/numfmt.h
--- icu/source/i18n/unicode/numfmt.h 2011-07-19 23:15:54.039059456 +0200
+++ icu-haiku/source/i18n/unicode/numfmt.h 2011-08-19 15:46:55.312213504 +0200
@@ -212,8 +212,9 @@
*/
virtual UBool operator==(const Format& other) const;
-
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Format an object to produce a string. This method handles
diff -ruN icu/source/i18n/unicode/plurfmt.h icu-haiku/source/i18n/unicode/plurfmt.h
--- icu/source/i18n/unicode/plurfmt.h 2011-07-19 23:15:52.044040192 +0200
+++ icu-haiku/source/i18n/unicode/plurfmt.h 2011-08-19 15:46:55.314310656 +0200
@@ -281,7 +281,9 @@
void applyPattern(const UnicodeString& pattern, UErrorCode& status);
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Formats a plural message for a given number.
diff -ruN icu/source/i18n/unicode/rbnf.h icu-haiku/source/i18n/unicode/rbnf.h
--- icu/source/i18n/unicode/rbnf.h 2011-07-19 23:15:54.034340864 +0200
+++ icu-haiku/source/i18n/unicode/rbnf.h 2011-08-19 15:46:55.316932096 +0200
@@ -722,7 +722,9 @@
const Locale& locale = Locale::getDefault());
+#if (__GNUC__ > 2)
using NumberFormat::format;
+#endif
/**
* Formats the specified 32-bit number using the default ruleset.
diff -ruN icu/source/i18n/unicode/selfmt.h icu-haiku/source/i18n/unicode/selfmt.h
--- icu/source/i18n/unicode/selfmt.h 2011-07-19 23:15:52.042991616 +0200
+++ icu-haiku/source/i18n/unicode/selfmt.h 2011-08-19 15:46:55.318767104 +0200
@@ -219,7 +219,9 @@
void applyPattern(const UnicodeString& pattern, UErrorCode& status);
+#if (__GNUC__ > 2)
using Format::format;
+#endif
/**
* Selects the phrase for the given keyword
diff -ruN icu/source/i18n/unicode/smpdtfmt.h icu-haiku/source/i18n/unicode/smpdtfmt.h
--- icu/source/i18n/unicode/smpdtfmt.h 2011-07-19 23:15:52.035127296 +0200
+++ icu-haiku/source/i18n/unicode/smpdtfmt.h 2011-08-19 15:46:55.321126400 +0200
@@ -369,7 +369,9 @@
virtual UBool operator==(const Format& other) const;
+#if (__GNUC__ > 2)
using DateFormat::format;
+#endif
/**
* Format a date or time, which is the standard millis since 24:00 GMT, Jan
diff -ruN icu/source/i18n/unicode/tmutfmt.h icu-haiku/source/i18n/unicode/tmutfmt.h
--- icu/source/i18n/unicode/tmutfmt.h 2011-07-19 23:15:54.039583744 +0200
+++ icu-haiku/source/i18n/unicode/tmutfmt.h 2011-08-19 15:46:55.322961408 +0200
@@ -162,7 +162,16 @@
void setNumberFormat(const NumberFormat& format, UErrorCode& status);
+#if (__GNUC__ > 2)
using MeasureFormat::format;
+#else
+ virtual UnicodeString& format(const Formattable& obj,
+ UnicodeString& appendTo,
+ FieldPositionIterator* posIter,
+ UErrorCode& status) const {
+ return MeasureFormat::format(obj, appendTo, posIter, status);
+ }
+#endif
/**
* Format a TimeUnitAmount.
diff -ruN icu/source/tools/pkgdata/pkgdata.cpp icu-haiku/source/tools/pkgdata/pkgdata.cpp
--- icu/source/tools/pkgdata/pkgdata.cpp 2011-07-19 23:16:36.003670016 +0200
+++ icu-haiku/source/tools/pkgdata/pkgdata.cpp 2011-08-19 15:46:55.326107136 +0200
@@ -476,7 +476,7 @@
static int runCommand(const char* command, UBool specialHandling) {
char *cmd = NULL;
- char cmdBuffer[SMALL_BUFFER_MAX_SIZE];
+ char cmdBuffer[64000];
int32_t len = strlen(command);
if (len == 0) {

View File

@@ -0,0 +1,28 @@
DESCRIPTION="C library for encoding, decoding and manipulating JSON data"
HOMEPAGE="http://www.digip.org/jansson/"
SRC_URI="http://www.digip.org/jansson/releases/jansson-2.4.tar.gz"
CHECKSUM_MD5="c4629b89bf0432f3158c461e88fe0113"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd jansson-2.4
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd jansson-2.4
make install
}
TEST {
cd jansson-2.4/test
run-suites
}
LICENSE="MIT"
COPYRIGHT="2009-2012 Petri Lehtinen
2011-2012 Basile Starynkevitch
2011-2012 Graeme Smecher"

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal
autoconf
automake
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,20 @@
DESCRIPTION="A library providing access to Open Collaboration Services"
HOMEPAGE="http://www.kde.org"
SRC_URI="ftp://ftp.kde.org/pub/kde/stable/attica/attica-0.4.1.tar.bz2"
CHECKSUM_MD5="b90983ec5d79e5ddcbc9146fa23cab72"
REVISION="1"
STATUS_HAIKU="untested"
DEPEND=""
BUILD {
cd attica-0.4.1
cmake CMakeLists.txt
make
}
INSTALL {
cd attica-0.4.1
make install
}
LICENSE="GNU LGPL v2.1"
COPYRIGHT="The KDE Project"

View File

@@ -3,7 +3,7 @@ HOMEPAGE="http://www.gnu.org/software/libcdio"
SRC_URI="ftp://ftp.gnu.org/gnu/libcdio/libcdio-0.82.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
DEPEND="dev-libs/libiconv >= 1.12"
CHECKSUM_MD5="1c29b18e01ab2b966162bc727bf3c360"
BUILD {
cd libcdio-0.82

View File

@@ -0,0 +1,25 @@
DESCRIPTION="A library to encapsulate CD-ROM reading and control"
HOMEPAGE="http://www.gnu.org/software/libcdio"
SRC_URI="ftp://ftp.gnu.org/gnu/libcdio/libcdio-0.83.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/libiconv >= 1.12"
CHECKSUM_MD5="b9e0f1bccb142e697cd834fe56b6e6fb"
BUILD {
cd libcdio-0.83
libtoolize --force --copy --install
aclocal -I m4
autoconf
automake
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd libcdio-0.83
make install
}
LICENSE="GNU GPL v3"
COPYRIGHT="2003-2011 Rocky Bernstein
1996-1998 Gerd Knorr and Heiko Eißfeldt"

View File

@@ -0,0 +1,26 @@
DESCRIPTION="A library to encapsulate CD-ROM reading and control"
HOMEPAGE="http://www.gnu.org/software/libcdio"
SRC_URI="ftp://ftp.gnu.org/gnu/libcdio/libcdio-0.90.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/libiconv >= 1.12
dev-util/pkgconfig"
CHECKSUM_MD5="1b245b023fb03a58d030fd2800db3247"
BUILD {
cd libcdio-0.90
libtoolize --force --copy --install
aclocal -I m4
autoconf
automake
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL {
cd libcdio-0.90
make install
}
LICENSE="GNU GPL v3"
COPYRIGHT="2003-2011 Rocky Bernstein
1996-1998 Gerd Knorr and Heiko Eißfeldt"

View File

@@ -0,0 +1,20 @@
diff -urN libcdio-0.83/configure.ac libcdio-0.83-haiku/configure.ac
--- libcdio-0.83/configure.ac 2009-10-27 11:26:32.055574528 +0000
+++ libcdio-0.83-haiku/configure.ac 2010-10-05 11:54:28.000000000 +0000
@@ -246,7 +246,7 @@
dnl empty_array_size
AC_MSG_CHECKING([how to create empty arrays])
-empty_array_size="xxxx"
+empty_array_size="xxx"
AC_TRY_COMPILE([],[struct { int foo; int bar[]; } doo;], empty_array_size="")
if test "x$empty_array_size" = "xxxx";then
@@ -572,6 +572,7 @@
[AC_MSG_WARN([new enough libcddb not found. CDDB access disabled. Get libcddb from http://libcddb.sourceforge.net])
HAVE_CDDB=no])
AC_CHECK_LIB(socket, connect)
+ AC_CHECK_LIB(network, connect)
AC_CHECK_FUNC(gethostbyname, , AC_CHECK_LIB(nsl, gethostbyname))
fi

View File

@@ -0,0 +1,20 @@
DESCRIPTION="LibCSS is a CSS (Cascading Style Sheet) parser and selection engine"
HOMEPAGE="http://www.netsurf-browser.org/projects/libcss/"
SRC_URI="http://download.netsurf-browser.org/libs/releases/libcss-0.1.2-src.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/libparserutils >= 0.1.1"
BUILD {
cd libcss-0.1.2
make
}
INSTALL {
cd libcss-0.1.2
make install
}
LICENSE="MIT
GNU GPL v2"
COPYRIGHT="2003 - 2012 The NetSurf Developers"

View File

@@ -0,0 +1,28 @@
DESCRIPTION="libdwarf and dwarfdump - library and utility for working with DWARF Debugging Information Format"
HOMEPAGE="http://reality.sgiweb.org/davea/dwarf.html"
SRC_URI="http://reality.sgiweb.org/davea/libdwarf-20120410.tar.gz"
CHECKSUM_MD5="77c8b351f11738bc9fa50474a69d5b36"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/libelf >= 0.8.13"
BUILD {
cd dwarf-20120410/libdwarf
./configure --enable-shared --prefix=$(finddir B_COMMON_DIRECTORY)
make
cd ../dwarfdump
LDFLAGS="-L../libdwarf -L/boot/common/lib" ./configure --prefix=$(finddir B_COMMON_DIRECTORY)
LIBRARY_PATH=$LIBRARY_PATH:../libdwarf/ make
}
INSTALL {
cd dwarf-20120410/libdwarf
make install
cd ../dwarfdump
make install
}
LICENSE="GNU GPL v2
GNU LGPL v2.1"
COPYRIGHT="2000,2002,2004,2005 Silicon Graphics, Inc. All Rights Reserved.
2007-2010 David Anderson. All Rights Reserved.
2007-2010 Sun Microsystems, Inc. All rights reserved"

View File

@@ -0,0 +1,67 @@
diff -urN dwarf-20120410/dwarfdump/dwarfdump.c dwarf-20120410-c89/dwarfdump/dwarfdump.c
--- dwarf-20120410/dwarfdump/dwarfdump.c 2012-04-10 18:48:29.043515904 +0000
+++ dwarf-20120410-c89/dwarfdump/dwarfdump.c 2012-09-04 21:36:54.000000000 +0000
@@ -1320,9 +1320,9 @@
case 'S':
/* -S option: strings for 'any' and 'match' */
{
+ const char *tempstr = 0;
boolean err = TRUE;
search_is_on = TRUE;
- const char *tempstr = 0;
/* -S text */
if (strncmp(optarg,"match=",6) == 0) {
diff -urN dwarf-20120410/dwarfdump/print_die.c dwarf-20120410-c89/dwarfdump/print_die.c
--- dwarf-20120410/dwarfdump/print_die.c 2012-04-10 18:48:29.038010880 +0000
+++ dwarf-20120410-c89/dwarfdump/print_die.c 2012-09-04 21:39:20.000000000 +0000
@@ -2257,8 +2257,8 @@
/* Follow reference chain, looking for self references */
res = dwarf_offdie_b(dbg,ref_off,is_info,&ref_die,&err);
if (res == DW_DLV_OK) {
- ++die_indent_level;
struct esb_s copy_base;
+ ++die_indent_level;
if (dump_visited_info) {
Dwarf_Off off;
dwarf_die_CU_offset(die, &off, &err);
diff -urN dwarf-20120410/libdwarf/gennames.c dwarf-20120410-c89/libdwarf/gennames.c
--- dwarf-20120410/libdwarf/gennames.c 2012-04-10 18:48:29.002359296 +0000
+++ dwarf-20120410-c89/libdwarf/gennames.c 2012-09-04 21:20:40.000000000 +0000
@@ -486,8 +486,8 @@
/* Process each line from 'dwarf.h' */
while (!feof(f_dwarf_in)) {
- errno = 0;
char *fgbad = fgets(line_in,sizeof(line_in),f_dwarf_in);
+ errno = 0;
if(!fgbad) {
if(feof(f_dwarf_in)) {
break;
diff -urN dwarf-20120410/libdwarf/Makefile.in dwarf-20120410-c89/libdwarf/Makefile.in
--- dwarf-20120410/libdwarf/Makefile.in 2012-04-10 18:48:29.002359296 +0000
+++ dwarf-20120410-c89/libdwarf/Makefile.in 2012-09-04 21:28:30.000000000 +0000
@@ -46,8 +46,9 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
-bindir = $(exec_prefix)/bin
-libdir = $(exec_prefix)/lib
+bindir = $(DESTDIR)$(prefix)/bin
+libdir = $(DESTDIR)$(prefix)/lib
+incdir = $(DESTDIR)$(prefix)/include/libdwarf
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -213,7 +214,10 @@
rm -f dwarf_names_enum.h dwarf_names_new.h dwarf_names.c dwarf_names.h
install: all
- echo "No install provided, see comments in the README"
+ install -m 0755 -d $(incdir)
+ install -m 0755 libdwarf.h $(incdir)
+ install -m 0755 dwarf.h $(incdir)
+ install -m 0755 libdwarf.so $(libdir)
distclean: clean
rm -f config.status config.log config.cache config.h

View File

@@ -7,7 +7,7 @@ STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd libedit-20090923-3.0
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -10,7 +10,9 @@ COPYRIGHT="1992-2010 The NetBSD Foundation, Inc."
BUILD {
cd libedit-20100424-3.0
autoreconf --force --install
./configure --prefix=/boot/common --disable-shared
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--disable-shared \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}

View File

@@ -0,0 +1,22 @@
DESCRIPTION="A BSD licensed replacement for the GNU readline library."
HOMEPAGE="http://www.thrysoee.dk/editline/"
SRC_URI="http://www.thrysoee.dk/editline/libedit-20110802-3.0.tar.gz"
CHECKSUM_MD5="0ea42e2c794da8ed32f6307b427f6590"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
LICENSE="BSD (3-clause)"
COPYRIGHT="1992-2011 The NetBSD Foundation, Inc."
BUILD {
cd libedit-20110802-3.0
autoreconf --force --install
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--disable-shared \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd libedit-20110802-3.0
make install
}

View File

@@ -0,0 +1,22 @@
DESCRIPTION="A BSD licensed replacement for the GNU readline library."
HOMEPAGE="http://www.thrysoee.dk/editline/"
SRC_URI="http://www.thrysoee.dk/editline/libedit-20120601-3.0.tar.gz"
CHECKSUM_MD5="e50f6a7afb4de00c81650f7b1a0f5aea"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
LICENSE="BSD (3-clause)"
COPYRIGHT="1992-2012 The NetBSD Foundation, Inc."
BUILD {
cd libedit-20120601-3.0
autoreconf --force --install
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--disable-shared \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
make
}
INSTALL {
cd libedit-20120601-3.0
make install
}

View File

@@ -0,0 +1,66 @@
diff -urN libedit-20110802-3.0/configure.ac libedit-20110802-3.0-haiku/configure.ac
--- libedit-20110802-3.0/configure.ac 2011-08-02 01:09:05.036962304 -0700
+++ libedit-20110802-3.0-haiku/configure.ac 2012-06-16 10:41:31.579338240 -0700
@@ -64,7 +64,7 @@
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h termcap.h])
+AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdint.h stdlib.h string.h sys/errno.h errno.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h langinfo.h])
AC_CHECK_HEADER([termios.h], [], [AC_MSG_ERROR([termios.h is required!])],[])
diff -urN libedit-20110802-3.0/examples/fileman.c libedit-20110802-3.0-haiku/examples/fileman.c
--- libedit-20110802-3.0/examples/fileman.c 2010-04-22 12:13:17.046137344 -0700
+++ libedit-20110802-3.0-haiku/examples/fileman.c 2012-06-16 10:41:31.721944576 -0700
@@ -11,7 +11,11 @@
#include <sys/types.h>
#include <sys/file.h>
#include <sys/stat.h>
+#ifdef HAVE_SYS_ERRNO_H
#include <sys/errno.h>
+#elif HAVE_ERRNO_H
+#include <errno.h>
+#endif
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
diff -urN libedit-20110802-3.0/src/editline/readline.h libedit-20110802-3.0-haiku/src/editline/readline.h
--- libedit-20110802-3.0/src/editline/readline.h 2011-02-26 14:42:59.045088768 -0800
+++ libedit-20110802-3.0-haiku/src/editline/readline.h 2012-06-16 10:41:32.068943872 -0700
@@ -75,7 +75,7 @@
#ifndef CTRL
#include <sys/ioctl.h>
-#if !defined(__sun) && !defined(__hpux) && !defined(_AIX)
+#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) && !defined(__HAIKU__)
#include <sys/ttydefaults.h>
#endif
#ifndef CTRL
diff -urN libedit-20110802-3.0/src/el.c libedit-20110802-3.0-haiku/src/el.c
--- libedit-20110802-3.0/src/el.c 2011-08-02 00:02:46.039583744 -0700
+++ libedit-20110802-3.0-haiku/src/el.c 2012-06-16 10:41:31.823394304 -0700
@@ -55,7 +55,9 @@
#include <stdarg.h>
#include <ctype.h>
#include <locale.h>
+#ifdef HAVE_LANGINFO_H
#include <langinfo.h>
+#endif
#include "el.h"
/* el_init():
diff -urN libedit-20110802-3.0/src/vis.c libedit-20110802-3.0-haiku/src/vis.c
--- libedit-20110802-3.0/src/vis.c 2011-07-08 23:39:42.044564480 -0700
+++ libedit-20110802-3.0-haiku/src/vis.c 2012-06-16 10:41:31.985137152 -0700
@@ -68,6 +68,10 @@
#include <errno.h>
#include <stdlib.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
#ifdef __weak_alias
__weak_alias(strvisx,_strvisx)
#endif

View File

@@ -0,0 +1,66 @@
diff -urN libedit-20120601-3.0/configure.ac libedit-20120601-3.0-haiku/configure.ac
--- libedit-20120601-3.0/configure.ac 2012-06-01 12:04:56.000000000 -0700
+++ libedit-20120601-3.0-haiku/configure.ac 2012-06-16 15:01:10.749207552 -0700
@@ -65,7 +65,7 @@
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdlib.h string.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h termcap.h])
+AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stdint.h stdlib.h string.h sys/errno.h errno.h sys/ioctl.h sys/param.h unistd.h curses.h ncurses.h sys/cdefs.h langinfo.h])
AC_CHECK_HEADER([termios.h], [], [AC_MSG_ERROR([termios.h is required!])],[])
diff -urN libedit-20120601-3.0/examples/fileman.c libedit-20120601-3.0-haiku/examples/fileman.c
--- libedit-20120601-3.0/examples/fileman.c 2010-04-22 12:13:17.000000000 -0700
+++ libedit-20120601-3.0-haiku/examples/fileman.c 2012-06-16 15:01:10.911212544 -0700
@@ -11,7 +11,11 @@
#include <sys/types.h>
#include <sys/file.h>
#include <sys/stat.h>
+#ifdef HAVE_SYS_ERRNO_H
#include <sys/errno.h>
+#elif HAVE_ERRNO_H
+#include <errno.h>
+#endif
#include <ctype.h>
#include <string.h>
#include <stdlib.h>
diff -urN libedit-20120601-3.0/src/editline/readline.h libedit-20120601-3.0-haiku/src/editline/readline.h
--- libedit-20120601-3.0/src/editline/readline.h 2012-05-22 10:43:49.000000000 -0700
+++ libedit-20120601-3.0-haiku/src/editline/readline.h 2012-06-16 15:01:10.947388416 -0700
@@ -75,7 +75,7 @@
#ifndef CTRL
#include <sys/ioctl.h>
-#if !defined(__sun) && !defined(__hpux) && !defined(_AIX)
+#if !defined(__sun) && !defined(__hpux) && !defined(_AIX) && !defined(__HAIKU__)
#include <sys/ttydefaults.h>
#endif
#ifndef CTRL
diff -urN libedit-20120601-3.0/src/el.c libedit-20120601-3.0-haiku/src/el.c
--- libedit-20120601-3.0/src/el.c 2012-03-11 15:00:23.000000000 -0700
+++ libedit-20120601-3.0-haiku/src/el.c 2012-06-16 15:01:11.013893632 -0700
@@ -55,7 +55,9 @@
#include <stdarg.h>
#include <ctype.h>
#include <locale.h>
+#ifdef HAVE_LANGINFO_H
#include <langinfo.h>
+#endif
#include "el.h"
/* el_init():
diff -urN libedit-20120601-3.0/src/vis.c libedit-20120601-3.0-haiku/src/vis.c
--- libedit-20120601-3.0/src/vis.c 2011-07-08 23:39:42.000000000 -0700
+++ libedit-20120601-3.0-haiku/src/vis.c 2012-06-16 15:01:11.063176704 -0700
@@ -68,6 +68,10 @@
#include <errno.h>
#include <stdlib.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
#ifdef __weak_alias
__weak_alias(strvisx,_strvisx)
#endif

View File

@@ -0,0 +1,22 @@
DESCRIPTION="libelf - ELF object file access library"
HOMEPAGE="http://www.mr511.de/software/english.html"
SRC_URI="http://www.mr511.de/software/libelf-0.8.13.tar.gz"
CHECKSUM_MD5="4136d7b4c04df68b686570afa26988ac"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd libelf-0.8.13
libtoolize -fci
autoreconf
./configure --enable-gnu-names --prefix=$(finddir B_COMMON_DIRECTORY)
make
}
INSTALL {
cd libelf-0.8.13
make install instroot=$DESTDIR
make install-compat instroot=$DESTDIR
}
LICENSE="GNU LGPL v2"
COPYRIGHT="1995-2008 Michael Riepe"

View File

@@ -0,0 +1,25 @@
diff -Naur libelf-0.8.13/aclocal.m4 libelf-0.8.13-haiku/aclocal.m4
--- libelf-0.8.13/aclocal.m4 2008-05-23 08:17:56.050593792 +0000
+++ libelf-0.8.13-haiku/aclocal.m4 2012-08-21 14:55:07.622854144 +0000
@@ -235,7 +235,7 @@
AC_REQUIRE([AC_PROG_CC])
AC_PATH_PROG(LD, ld, ld)
case "$host" in
- *-linux*|*-gnu*)
+ *-linux*|*-gnu*|*-haiku*)
if test "$GCC" = yes; then
mr_TARGET_ELF
if test "$mr_cv_target_elf" = yes; then
@@ -248,7 +248,11 @@
SONAME_SFX='.so.$(MAJOR)'
LINK_SHLIB='$(CC) -shared -Wl,-soname,$(SONAME)'
INSTALL_SHLIB='$(INSTALL_PROGRAM)'
- DEPSHLIBS='-lc'
+ case "$host" in
+ *-linux*|*-gnu*)
+ DEPSHLIBS='-lc'
+ ;;
+ esac
else
AC_MSG_WARN([shared libraries not supported for $host])
mr_enable_shared=no

View File

@@ -9,7 +9,7 @@ DEPEND=""
BUILD {
cd libevent-1.4.11-stable
autoreconf -vfi
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -9,7 +9,7 @@ DEPEND=""
BUILD {
cd libevent-1.4.13-stable
autoreconf -vfi
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -9,15 +9,11 @@ DEPEND=""
BUILD {
cd libevent-1.4.14b-stable
autoreconf -vfi
MANDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
if [ -n "$(setgcc | grep '2')" ]; then
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
else
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`/gcc4
fi
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--libdir=$LIBDIR \
--mandir=$MANDIR
--mandir=$COMMON_DOCS
make
}

View File

@@ -9,15 +9,11 @@ DEPEND=""
BUILD {
cd libevent-2.0.10-stable
autoreconf -vfi
MANDIR=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
if [ -n "$(setgcc | grep '2')" ]; then
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
else
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`/gcc4
fi
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--libdir=$LIBDIR \
--mandir=$MANDIR
--mandir=$COMMON_DOCS
make
}

View File

@@ -0,0 +1,21 @@
DESCRIPTION="a portable, high level programming interface to various calling conventions."
HOMEPAGE="http://sourceware.org/libffi"
SRC_URI="ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
CHECKSUM_MD5="f69b9693227d976835b4857b1ba7d0e3"
DEPEND=""
BUILD {
cd libffi-3.0.11
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
make
}
INSTALL {
cd libffi-3.0.11
make install
}
COPYRIGHT="1996-2012 Anthony Green, Red Hat, Inc and others."
LICENSE="MIT"

View File

@@ -12,7 +12,7 @@ BUILD {
aclocal
automake
autoconf
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -8,7 +8,7 @@ BUILD {
cd libgcrypt-1.4.5
libtoolize --force --copy --install
autogen.sh
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,24 @@
DESCRIPTION="libgcrypt"
HOMEPAGE="http://directory.fsf.org/project/libgcrypt/"
SRC_URI="ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.bz2"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/libgpg-error > 1.8"
CHECKSUM_MD5="693f9c64d50c908bc4d6e01da3ff76d8"
BUILD {
cd libgcrypt-1.5.0
libtoolize --force --copy --install
autogen.sh
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--enable-shared --enable-static
make
}
INSTALL {
cd libgcrypt-1.5.0
make install
}
LICENSE="GNU LGPL v3"
COPYRIGHT="2000-2010 Free Software Foundation, Inc."

View File

@@ -0,0 +1,10 @@
--- libgcrypt-1.5.0/configure.ac 2011-06-29 08:53:22.065011712 +0000
+++ libgcrypt-1.5.0-haiku/configure.ac 2012-04-09 17:24:30.365690880 +0000
@@ -619,6 +619,7 @@
AC_SEARCH_LIBS(setsockopt, [socket], ,
[AC_SEARCH_LIBS(setsockopt, [socket], , , [-lnsl])])
AC_SEARCH_LIBS(setsockopt, [nsl])
+AC_SEARCH_LIBS(socket, [network])
##################################
#### Checks for header files. ####

View File

@@ -0,0 +1,26 @@
DESCRIPTION="libgpg-error"
HOMEPAGE="http://www.gnupg.org/related_software/libraries.en.html#lib-libgpg-error"
SRC_URI="ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.10.tar.bz2"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="gettext = 0.18.1.1-dev"
CHECKSUM_MD5="736a03daa9dc5873047d4eb4a9c22a16"
BUILD {
cd libgpg-error-1.10
cd po
touch t-cs.gmo t-de.gmo t-fr.gmo t-it.gmo t-nl.gmo \
t-pl.gmo t-ro.gmo t-sv.gmo t-vi.gmo t-zh_CN.gmo
cd ..
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY`
make
}
INSTALL {
cd libgpg-error-1.10
make install
}
LICENSE="GNU LGPL v2.1"
COPYRIGHT="2003-2010 g10 Code GmbH"

View File

@@ -8,7 +8,7 @@ CHECKSUM_MD5="62c0d09d1e76c5b6da8fff92314c4665"
BUILD {
cd libgpg-error-1.7
autoreconf -vfi -Im4
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,11 @@
--- libgpg-error-1.10/src/mkerrcodes2.awk 2008-08-26 12:45:58.010747904 +0000
+++ libgpg-error-1.10-haiku/src/mkerrcodes2.awk 2012-04-09 16:59:18.363855872 +0000
@@ -81,7 +81,7 @@
/^#/ { next; }
header {
- if ($1 ~ /^[0123456789]+$/)
+ if ($1 ~ /^-?[0123456789]+$/)
{
print "static const int err_code_from_index[] = {";
header = 0;

View File

@@ -7,11 +7,41 @@ STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd libiconv-1.12
./configure --prefix=/boot/common
rm -rf aclocal.m4
echo "AC_CONFIG_MACRO_DIR([m4]) >> configure.ac"
libtoolize -fci
aclocal --install -I m4 -I srcm4
autoconf
autoheader
cd libcharset
echo "AC_CONFIG_MACRO_DIR([m4]) >> configure.ac"
libtoolize -fci
aclocal --install -I m4
autoconf
autoheader
cd ..
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \
--localedir=`finddir B_COMMON_DATA_DIRECTORY`/locale \
--docdir=$COMMON_DOCS/doc/iconv \
--mandir=$COMMON_DOCS/man \
--enable-relocatable \
--enable-shared \
--enable-static \
--disable-nls
make
}
INSTALL {
cd libiconv-1.12
ACLOCALDIR=${DESTDIR}/`aclocal --print-ac-dir`
mkdir -p ${ACLOCALDIR}
cp -f srcm4/iconv.m4 ${ACLOCALDIR}/iconv.m4
make install
}
TEST{
cd libiconv-1.12
make check
}

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal -I m4
autoconf
automake
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,8 @@
--- liboil-0.3.17-orig/liboil/c/generate_clamp.pl 2007-11-16 02:53:47.006553600 +0000
+++ liboil-0.3.17/liboil/c/generate_clamp.pl 2012-08-05 14:10:46.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/boot/common/bin/perl
#

View File

@@ -0,0 +1,19 @@
DESCRIPTION="LibParserUtils is a library for building efficient parsers"
HOMEPAGE="http://www.netsurf-browser.org/projects/libparserutils/"
SRC_URI="http://download.netsurf-browser.org/libs/releases/libparserutils-0.1.1-src.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
BUILD {
cd libparserutils-0.1.1
make
}
INSTALL {
cd libparserutils-0.1.1
make install
}
LICENSE="MIT
GNU GPL v2"
COPYRIGHT="2003 - 2012 The NetSurf Developers"

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal
autoconf
automake
./configure --prefix=/boot/common --enable-utf8 --enable-unicode-properties --with-pic
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-utf8 --enable-unicode-properties --with-pic
make
make check
}

View File

@@ -1,5 +1,5 @@
DESCRIPTION="libpcre - Perl Compatible Regular Expressions"
HOMEPAGE="http://www.xpcre.org/"
HOMEPAGE="http://www.xpcre.org/"
SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.02.tar.bz2"
CHECKSUM_MD5="27948c1b5f5c1eabc23cba1ebe4c316f"
REVISION="1"
@@ -7,16 +7,12 @@ STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd pcre-8.02
if [ -n "$(setgcc | grep '2')" ]; then
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
else
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`/gcc4
fi
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
libtoolize --force --copy
aclocal
autoconf
automake
./configure --prefix=/boot/common --enable-utf8 --enable-unicode-properties --with-pic --libdir=${LIBDIR}
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-utf8 --enable-unicode-properties --with-pic --libdir=${LIBDIR}
make
make check
}

View File

@@ -1,5 +1,5 @@
DESCRIPTION="libpcre - Perl Compatible Regular Expressions"
HOMEPAGE="http://www.xpcre.org/"
HOMEPAGE="http://www.xpcre.org/"
SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.12.tar.bz2"
CHECKSUM_MD5="f14a9fef3c92f3fc6c5ac92d7a2c7eb3"
REVISION="1"
@@ -7,22 +7,19 @@ STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd pcre-8.12
# if [ -n "$(setgcc | grep '2')" ]; then
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
# else
# LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`/gcc4
# fi
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
libtoolize --force --copy
aclocal
autoconf
automake
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--enable-utf8 \
--enable-unicode-properties \
--with-pic \
--libdir=${LIBDIR} \
--mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man \
--docdir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/doc
--mandir=$COMMON_DOCS/man \
--docdir=$COMMON_DOCS/doc/pcre
make
}

View File

@@ -0,0 +1,38 @@
DESCRIPTION="libpcre - Perl Compatible Regular Expressions"
HOMEPAGE="http://www.pcre.org/"
SRC_URI="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.bz2"
CHECKSUM_MD5="0a7b592bea64b7aa7f4011fc7171a730"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd pcre-8.21
LIBDIR=`finddir B_COMMON_LIB_DIRECTORY`
libtoolize --force --copy --install
aclocal
autoconf
automake
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--enable-utf8 \
--enable-unicode-properties \
--with-pic \
--libdir=${LIBDIR} \
--mandir=$COMMON_DOCS/man \
--docdir=$COMMON_DOCS/doc/pcre
make
}
INSTALL {
cd pcre-8.21
make install
}
TEST {
cd pcre-8.21
make check
}
LICENSE="PCRE"
COPYRIGHT="1997-2011 University of Cambridge
2007-2011, Google Inc. All rights reserved."

View File

@@ -9,7 +9,7 @@ BUILD {
cd libpthread-stubs-0.3
libtoolize --force --copy --install
autoreconf -i
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -9,7 +9,7 @@ BUILD {
cd libpthread-stubs-0.3
libtoolize --force --copy --install
autoreconf -i
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -12,7 +12,7 @@ BUILD {
autoconf
automake
./autogen.sh
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make -i
# There's name make file for tests and examples directories so just ignore (-i)
# those errors and we really don't need either one

View File

@@ -10,7 +10,7 @@ BUILD {
libtoolize --force --copy
aclocal
sh autogen.sh
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -9,7 +9,7 @@ BUILD {
cd libunistring-0.9.1.1
libtoolize --copy --force --install
./autogen.sh
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -0,0 +1,20 @@
DESCRIPTION="LibWapcaplet is a string internment library"
HOMEPAGE="http://www.netsurf-browser.org/projects/libwapcaplet/"
SRC_URI="git://git.netsurf-browser.org/libwapcaplet.git"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/buildsystem >= 0"
BUILD {
cd libwapcaplet-0.1.1-HEAD
make PREFIX=/boot/common
}
INSTALL {
cd libwapcaplet-0.1.1-HEAD
make install PREFIX=/boot/common
}
LICENSE="MIT
GNU GPL v2"
COPYRIGHT="2003 - 2012 The NetSurf Developers"

View File

@@ -0,0 +1,19 @@
DESCRIPTION="LibWapcaplet is a string internment library"
HOMEPAGE="http://www.netsurf-browser.org/projects/libwapcaplet/"
SRC_URI="http://download.netsurf-browser.org/libs/releases/libwapcaplet-0.1.1-src.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
BUILD {
cd libwapcaplet-0.1.1
make
}
INSTALL {
cd libwapcaplet-0.1.1
make install
}
LICENSE="MIT
GNU GPL v2"
COPYRIGHT="2003 - 2012 The NetSurf Developers"

View File

@@ -7,7 +7,7 @@ DEPEND=""
CHECKSUM_MD5="7c64a28b08c8fdf6c8a95b0d5f1497b0"
BUILD {
cd libxdg-basedir-1.1.1
./configure --prefix=/boot/common
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal
autoconf
automake
./configure --prefix=/boot/common --enable-ipv6=no LDFLAGS=-lnetwork
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-ipv6=no LDFLAGS=-lnetwork
make
}

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal
autoconf
automake
./configure --prefix=/boot/common --enable-ipv6=no LDFLAGS="-lnetwork -L/boot/common/lib"
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-ipv6=no LDFLAGS="-lnetwork -L/boot/common/lib"
make
}

View File

@@ -11,7 +11,7 @@ BUILD {
aclocal
autoconf
automake
./configure --prefix=/boot/common --enable-ipv6=no LDFLAGS="-lnetwork -L/boot/common/lib"
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-ipv6=no LDFLAGS="-lnetwork -L/boot/common/lib"
make
}

View File

@@ -0,0 +1,35 @@
DESCRIPTION="libxml2 - Version 2 of the library to manipulate XML files"
HOMEPAGE="http://www.xmlsoft.org/"
SRC_URI="ftp://xmlsoft.org/libxml2/libxml2-2.8.0.tar.gz"
CHECKSUM_MD5="c62106f02ee00b6437f0fb9d370c1093"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd libxml2-2.8.0
libtoolize --force --copy --install
aclocal
autoconf
sed -i 's/$(datadir)\/aclocal/`finddir B_COMMON_DATA_DIRECTORY`\/aclocal/g' M*
automake
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=$COMMON_DOCS \
--docdir=$COMMON_DOCS/doc \
--mandir=$COMMON_DOCS/man
LDFLAGS="-lnetwork"
make
}
INSTALL {
cd libxml2-2.8.0
make install
}
TEST {
cd libxml2-2.8.0
make tests
}
LICENSE="MIT"
COPYRIGHT="1998-2003 Daniel Veillard. All Rights Reserved."

View File

@@ -0,0 +1,36 @@
DESCRIPTION="libxml2 - Version 2 of the library to manipulate XML files"
HOMEPAGE="http://www.xmlsoft.org/"
SRC_URI="ftp://xmlsoft.org/libxml2/libxml2-2.9.0.tar.gz"
CHECKSUM_MD5="5b9bebf4f5d2200ae2c4efe8fa6103f7"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd libxml2-2.9.0
libtoolize --force --copy --install
aclocal
autoconf
sed -i 's/$(datadir)\/aclocal/`finddir B_COMMON_DATA_DIRECTORY`\/aclocal/g' M*
automake
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=$COMMON_DOCS \
--docdir=$COMMON_DOCS/doc \
--mandir=$COMMON_DOCS/man \
--with-threads=yes
LDFLAGS="-lnetwork"
make
}
INSTALL {
cd libxml2-2.9.0
make install
}
TEST {
cd libxml2-2.9.0
make tests
}
LICENSE="MIT"
COPYRIGHT="1998-2003 Daniel Veillard. All Rights Reserved."

View File

@@ -0,0 +1,33 @@
--- libxml2-2.9.0-orig/threads.c 2012-09-11 03:52:46.000000000 +0000
+++ libxml2-2.9.0/threads.c 2013-02-12 20:44:23.000000000 +0000
@@ -146,6 +146,7 @@
static pthread_key_t globalkey;
static pthread_t mainthread;
static pthread_once_t once_control = PTHREAD_ONCE_INIT;
+static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
#elif defined HAVE_WIN32_THREADS
#if defined(HAVE_COMPILER_TLS)
@@ -915,7 +916,7 @@
#ifdef HAVE_PTHREAD_H
if ((libxml_is_threaded) && (pthread_key_delete != NULL))
pthread_key_delete(globalkey);
- once_control = PTHREAD_ONCE_INIT;
+ once_control = once_control_init;
#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
if (globalkey != TLS_OUT_OF_INDEXES) {
xmlGlobalStateCleanupHelperParams *p;
--- libxml2-2.9.0-orig/configure.in 2012-09-11 03:52:46.053739520 +0000
+++ libxml2-2.9.0/configure.in 2013-02-12 20:37:19.000000000 +0000
@@ -988,6 +988,11 @@
*beos*) WITH_THREADS="1"
THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
;;
+ *haiku*) WITH_THREADS="1"
+ THREAD_LIB=""
+ AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
+ ;;
+
*linux*)
if test "${GCC}" = "yes" ; then
GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`

View File

@@ -10,8 +10,14 @@ BUILD {
libtoolize --force --copy --install
aclocal
autoconf
sed -i 's/$(datadir)\/aclocal/`finddir B_COMMON_DATA_DIRECTORY`\/aclocal/' Makefile*
automake
./configure --prefix=/boot/common
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=$COMMON_DOCS \
--docdir=$COMMON_DOCS/doc \
--mandir=$COMMON_DOCS/man
make
}
@@ -19,5 +25,6 @@ INSTALL {
cd libxslt-1.1.26
make install
}
LICENSE="MIT"
COPYRIGHT="2001-2002 Daniel Veillard. All Rights Reserved."

View File

@@ -0,0 +1,30 @@
DESCRIPTION="XSLT C library developed for the GNOME project"
HOMEPAGE="http://www.xmlsoft.org/"
SRC_URI="ftp://xmlsoft.org/libxml2/libxslt-1.1.28.tar.gz"
CHECKSUM_MD5="9667bf6f9310b957254fdcf6596600b7"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd libxslt-1.1.28
libtoolize --force --copy --install
aclocal
autoconf
sed -i 's/$(datadir)\/aclocal/`finddir B_COMMON_DATA_DIRECTORY`\/aclocal/' Makefile*
automake
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datarootdir=$COMMON_DOCS \
--docdir=$COMMON_DOCS/doc \
--mandir=$COMMON_DOCS/man
make
}
INSTALL {
cd libxslt-1.1.28
make install
}
LICENSE="MIT"
COPYRIGHT="2001-2002 Daniel Veillard. All Rights Reserved."

View File

@@ -0,0 +1,22 @@
DESCRIPTION="libzip is a C library for reading, creating, and modifying zip archives."
HOMEPAGE="http://www.nih.at/libzip/"
SRC_URI="http://www.nih.at/libzip/libzip-0.10.1.tar.bz2"
CHECKSUM_MD5="d3e933ae049204badccf605f20aaecde"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD {
cd libzip-0.10.1
sed -i 's/MAN_PATH man/MAN_PATH documentation\/man/' man/CMakeLists.txt
sed -i 's/DESTINATION lib\/libzip\/include/DESTINATION include/' CMakeLists.txt
cmake .
make
}
INSTALL {
cd libzip-0.10.1
make install
}
LICENSE="BSD (3-clause)"
COPYRIGHT="1999-2012 Dieter Baron and Thomas Klausner"

Some files were not shown because too many files have changed in this diff Show More