Merged haikuports/haikuports into master

This commit is contained in:
MrPoxipol
2013-12-10 15:13:10 +01:00
33 changed files with 546 additions and 4721 deletions

View File

@@ -44,14 +44,14 @@ REQUIRES="
haiku >= $haikuVersion
lib:libz
lib:libintl
glib >= 2.12
glib2 >= 2.12
pixman
"
BUILD_REQUIRES="
devel:libz
devel:libfdt
glib_devel >= 2.12
glib2_devel >= 2.12
pixman_devel
"

View File

@@ -0,0 +1,111 @@
SUMMARY="GLib is a cross-platform software utility library"
DESCRIPTION="GLib is a cross-platform software utility library that began as \
part of the GTK+ project. However, before releasing version 2 of GTK+, the \
project's developers decided to separate non-GUI-specific code from the GTK+ \
platform, thus creating GLib as a separate product. GLib was released as a \
separate library so other developers, those who did not make use of the \
GUI-related portions of GTK+, could make use of the non-GUI portions of the \
library without the overhead of depending on the entire GUI library.
Since GLib is a cross-platform library, applications using it to interface with \
the operating system are usually portable across different operating systems \
without major changes"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/1.2/glib-1.2.10.tar.gz"
CHECKSUM_MD5="6fe30dad87c77b91b632def29dd69ef9"
LICENSE="GNU LGPL v2"
COPYRIGHT="1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
1991-2002 Free Software Foundation, Inc.
1997-2002 University of Cambridge.
1998-2001, 2003-2010 Red Hat, Inc.
1995-2002 Several others"
REVISION="1"
ARCHITECTURES="?x86_gcc2 x86"
SECONDARY_ARCHITECTURES="?x86_gcc2 x86"
PROVIDES="
glib$secondaryArchSuffix = $portVersion compat >= 1
lib:libglib$secondaryArchSuffix = $portVersion compat >= 1
lib:libglib_1.2$secondaryArchSuffix = $portVersion compat >= 1
lib:libgmodule$secondaryArchSuffix = $portVersion compat >= 1
lib:libgmodule_1.2$secondaryArchSuffix = $portVersion compat >= 1
lib:libgthread$secondaryArchSuffix = $portVersion compat >= 1
lib:libgthread_1.2$secondaryArchSuffix = $portVersion compat >= 1
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:libtool
cmd:aclocal
cmd:autoconf
cmd:automake
cmd:m4
cmd:make
"
PATCHES="glib-1.2.10.patchset"
BUILD()
{
libtoolize --force --copy --install
aclocal
automake --add-missing
autoconf
runConfigure ./configure \
--enable-shared=yes
cp -f $portPackageLinksDir/cmd~libtool/bin/libtool .
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs libglib libglib-1.2 \
libgmodule libgmodule-1.2 \
libgthread libgthread-1.2
fixPkgconfig
fixDevelopLibDirReferences $binDir/glib-config
mv $libDir/glib/include/glibconfig.h $includeDir/glib-1.2
rm -rf $libDir/glib
# devel package
packageEntries devel \
$developDir $binDir \
$manDir $infoDir $dataDir
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
glib${secondaryArchSuffix}_devel = $portVersion compat >= 0
cmd:glib_config$secondaryArchSuffix = $portVersion
devel:libglib$secondaryArchSuffix = $portVersion compat >= 1
devel:libglib_1.2$secondaryArchSuffix = $portVersion compat >= 1
devel:libgmodule$secondaryArchSuffix = $portVersion compat >= 1
devel:libgmodule_1.2$secondaryArchSuffix = $portVersion compat >= 1
devel:libgthread$secondaryArchSuffix = $portVersion compat >= 1
devel:libgthread_1.2$secondaryArchSuffix = $portVersion compat >= 1
"
REQUIRES_devel="
glib$secondaryArchSuffix == $portVersion base
"

View File

@@ -1,30 +0,0 @@
DESCRIPTION="glib"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.22/glib-2.22.2.tar.gz"
CHECKSUM_MD5="00eb873975e2ef9361b8177131c7c943"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
BUILD()
{
cd glib-2.22.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
# automake
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL()
{
cd glib-2.22.2
make install
}

View File

@@ -1,30 +0,0 @@
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="2"
STATUS_HAIKU="stable"
DEPEND=""
BUILD()
{
cd glib-2.24.1
rm -rf aclocal.m4
mkdir -p m4
cp ../../gtk-doc.m4 m4
libtoolize --force --copy --install
aclocal --install -I m4
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--with-threads=posix \
LDFLAGS=-lnetwork
make
}
INSTALL()
{
cd glib-2.24.1
make install
}
LICENSE="GNU LGPL v2"
COPYRIGHT="" # TODO: Need to determine who/what to list for the copyright on this one.

View File

@@ -1,46 +0,0 @@
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="2"
STATUS_HAIKU="stable"
DEPEND="dev-libs/pkgconfig >= 0.23
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
libtoolize --force --copy --install
aclocal --install -I m4 -I m4macros
autoheader
automake
autoconf
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
}
INSTALL()
{
cd glib-2.24.2
make install
}
LICENSE="GNU LGPL v2"
COPYRIGHT="1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
1991-2003 Free Software Foundation, Inc.
1997-2006 University of Cambridge.
1998-2001, 2003-2010 Red Hat, Inc.
2007-2009 Nokia Corporation
2008, 2010 Oracle and/or its affiliates, Inc. All rights
2008-2010 Codethink Limited
2008-2010 Collabora Ltd.
1995-2010 Several others"

View File

@@ -1,37 +0,0 @@
DESCRIPTION="glib"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.26/glib-2.26.1.tar.gz"
CHECKSUM_MD5="2634337609e747fc7946517e3008d53c"
REVISION="1"
STATUS_HAIKU="broken"
DEPEND="dev-libs/pkgconfig >= 0.23
sys-devel/gettext >= 0.17"
BUILD()
{
cd glib-2.26.1
rm -rf aclocal.m4
mkdir -p m4
cp ../../gtk-doc.m4 m4
libtoolize --force --copy --install
aclocal --install -I m4
autoconf
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL()
{
cd glib-2.26.1
make install
}
LICENSE="GNU LGPL v2"
COPYRIGHT="1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
1991-2003 Free Software Foundation, Inc.
1997-2006 University of Cambridge.
1998-2001, 2003-2010 Red Hat, Inc.
2007-2009 Nokia Corporation
2008, 2010 Oracle and/or its affiliates, Inc. All rights
2008-2010 Codethink Limited
2008-2010 Collabora Ltd.
1995-2010 Several others"

View File

@@ -1,5 +1,15 @@
SUMMARY="glib"
DESCRIPTION="glib"
SUMMARY="GLib is a cross-platform software utility library"
DESCRIPTION="GLib is a cross-platform software utility library that began as \
part of the GTK+ project. However, before releasing version 2 of GTK+, the \
project's developers decided to separate non-GUI-specific code from the GTK+ \
platform, thus creating GLib as a separate product. GLib was released as a \
separate library so other developers, those who did not make use of the \
GUI-related portions of GTK+, could make use of the non-GUI portions of the \
library without the overhead of depending on the entire GUI library.
Since GLib is a cross-platform library, applications using it to interface with \
the operating system are usually portable across different operating systems \
without major changes"
HOMEPAGE="http://www.gtk.org/"
SRC_URI="http://ftp.gnome.org/pub/gnome/sources/glib/2.38/glib-2.38.1.tar.xz"
CHECKSUM_MD5="f3f6789151c1810f2fe23fe9ebb8b828"
@@ -20,20 +30,20 @@ ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="
glib$secondaryArchSuffix = $portVersion compat >= 2
cmd:gdbus
cmd:gdbus_codegen
cmd:gio_querymodules
cmd:glib_compile_resources
cmd:glib_compile_schemas
cmd:glib_genmarshal
cmd:glib_gettextize
cmd:glib_mkenums
cmd:gobject_query
cmd:gresource
cmd:gsettings
cmd:gtester
cmd:gtester_report
glib2$secondaryArchSuffix = $portVersion compat >= 2
cmd:gdbus$secondaryArchSuffix
cmd:gdbus_codegen$secondaryArchSuffix
cmd:gio_querymodules$secondaryArchSuffix
cmd:glib_compile_resources$secondaryArchSuffix
cmd:glib_compile_schemas$secondaryArchSuffix
cmd:glib_genmarshal$secondaryArchSuffix
cmd:glib_gettextize$secondaryArchSuffix
cmd:glib_mkenums$secondaryArchSuffix
cmd:gobject_query$secondaryArchSuffix
cmd:gresource$secondaryArchSuffix
cmd:gsettings$secondaryArchSuffix
cmd:gtester$secondaryArchSuffix
cmd:gtester_report$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix = 0.3800.1 compat >= 2
lib:libglib_2.0$secondaryArchSuffix = 0.3800.1 compat >= 2
lib:libgmodule_2.0$secondaryArchSuffix = 0.3800.1 compat >= 2
@@ -43,18 +53,18 @@ PROVIDES="
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
gettext
lib:libiconv
lib:libz
gettext$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libffi$secondaryArchSuffix
lib:libintl
lib:libintl$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libiconv
devel:libz
devel:libiconv$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libffi$secondaryArchSuffix
devel:libintl
devel:libintl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
@@ -69,7 +79,9 @@ BUILD_PREREQUIRES="
cmd:python
"
PATCHES="glib-2.38.1.patch"
PATCHES="glib2-2.38.1.patch"
SOURCE_DIR="glib-2.38.1"
BUILD()
{
@@ -103,7 +115,7 @@ INSTALL()
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
glib${secondaryArchSuffix}_devel = $portVersion compat >= 0
glib2${secondaryArchSuffix}_devel = $portVersion compat >= 0
devel:libgio_2.0$secondaryArchSuffix = 0.3800.1 compat >= 2
devel:libglib_2.0$secondaryArchSuffix = 0.3800.1 compat >= 2
devel:libgmodule_2.0$secondaryArchSuffix = 0.3800.1 compat >= 2
@@ -112,5 +124,5 @@ PROVIDES_devel="
"
REQUIRES_devel="
glib$secondaryArchSuffix == $portVersion base
glib2$secondaryArchSuffix == $portVersion base
"

View File

@@ -1,61 +0,0 @@
dnl -*- mode: autoconf -*-
# serial 1
dnl Usage:
dnl GTK_DOC_CHECK([minimum-gtk-doc-version])
AC_DEFUN([GTK_DOC_CHECK],
[
AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
dnl check for tools we added during development
AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check])
AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true])
AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf])
dnl for overriding the documentation installation directory
AC_ARG_WITH([html-dir],
AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
[with_html_dir='${datadir}/gtk-doc/html'])
HTML_DIR="$with_html_dir"
AC_SUBST([HTML_DIR])
dnl enable/disable documentation building
AC_ARG_ENABLE([gtk-doc],
AS_HELP_STRING([--enable-gtk-doc],
[use gtk-doc to build documentation [[default=no]]]),,
[enable_gtk_doc=no])
if test x$enable_gtk_doc = xyes; then
ifelse([$1],[],
[PKG_CHECK_EXISTS([gtk-doc],,
AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
[PKG_CHECK_EXISTS([gtk-doc >= $1],,
AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))])
fi
AC_MSG_CHECKING([whether to build gtk-doc documentation])
AC_MSG_RESULT($enable_gtk_doc)
dnl enable/disable output formats
AC_ARG_ENABLE([gtk-doc-html],
AS_HELP_STRING([--enable-gtk-doc-html],
[build documentation in html format [[default=yes]]]),,
[enable_gtk_doc_html=yes])
AC_ARG_ENABLE([gtk-doc-pdf],
AS_HELP_STRING([--enable-gtk-doc-pdf],
[build documentation in pdf format [[default=no]]]),,
[enable_gtk_doc_pdf=no])
if test -z "$GTKDOC_MKPDF"; then
enable_gtk_doc_pdf=no
fi
AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes])
AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes])
AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"])
])

View File

@@ -0,0 +1,175 @@
From afb8aab8236d2c30c34642c755ce7c07dfc95ab2 Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Mon, 9 Dec 2013 16:58:10 -0700
Subject: Attempt to bring glib-1 into the modern age
diff --git a/Makefile.am b/Makefile.am
index 3a6e201..f059565 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -70,7 +70,7 @@ configinclude_DATA = \
CONFIGURE_DEPENDENCIES = acglib.m4
-BUILT_SOURCES = stamp-gc-h #note: not glibconfig.h
+BUILT_SOURCES += stamp-gc-h #note: not glibconfig.h
glibconfig.h: stamp-gc-h
@:
stamp-gc-h: config.status
diff --git a/acinclude.m4 b/acinclude.m4
index 47abe43..43ed3f1 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -21,6 +21,18 @@
## configuration script generated by Autoconf, you may include it under
## the same distribution terms that you use for the rest of that program.
+# GLIB_AC_DIVERT_BEFORE_HELP(STUFF)
+# ---------------------------------
+# Put STUFF early enough so that they are available for $ac_help expansion.
+# Handle both classic (<= v2.13) and modern autoconf
+AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
+[ifdef([m4_divert_text], [m4_divert_text([NOTICE],[$1])],
+ [ifdef([AC_DIVERT], [AC_DIVERT([NOTICE],[$1])],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+$1
+AC_DIVERT_POP()])])])
+
+
# serial 40 AC_PROG_LIBTOOL
AC_DEFUN(AC_PROG_LIBTOOL,
[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
diff --git a/configure.in b/configure.in
index 8ee9339..cad722f 100644
--- a/configure.in
+++ b/configure.in
@@ -17,7 +17,7 @@ rm -f glibconfig-sysdefs.h
dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they
dnl are available for $ac_help expansion (don't we all *love* autoconf?)
-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+GLIB_AC_DIVERT_BEFORE_HELP([
#
# The following version number definitions apply to GLib, GModule and GThread
# as a whole, so if changes occoured in any of them, they are all
@@ -38,7 +38,7 @@ GLIB_INTERFACE_AGE=10
GLIB_BINARY_AGE=10
GLIB_VERSION=$GLIB_MAJOR_VERSION.$GLIB_MINOR_VERSION.$GLIB_MICRO_VERSION
dnl
-AC_DIVERT_POP()dnl
+])
AC_SUBST(GLIB_MAJOR_VERSION)
AC_SUBST(GLIB_MINOR_VERSION)
@@ -63,7 +63,7 @@ PACKAGE=glib
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define)
# Specify a configuration file
-AM_CONFIG_HEADER(config.h)
+AC_CONFIG_HEADERS(config.h)
AC_DEFINE_UNQUOTED(GLIB_MAJOR_VERSION, $GLIB_MAJOR_VERSION)
AC_DEFINE_UNQUOTED(GLIB_MINOR_VERSION, $GLIB_MINOR_VERSION)
@@ -71,6 +71,7 @@ AC_DEFINE_UNQUOTED(GLIB_MICRO_VERSION, $GLIB_MICRO_VERSION)
AC_DEFINE_UNQUOTED(GLIB_INTERFACE_AGE, $GLIB_INTERFACE_AGE)
AC_DEFINE_UNQUOTED(GLIB_BINARY_AGE, $GLIB_BINARY_AGE)
+AC_CANONICAL_SYSTEM
dnl Initialize libtool
AM_PROG_LIBTOOL
@@ -81,13 +82,13 @@ AC_CANONICAL_HOST
dnl figure debugging default, prior to $ac_help setup
dnl
-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+GLIB_AC_DIVERT_BEFORE_HELP([
if test `expr $GLIB_MINOR_VERSION \% 2` = 1 ; then
debug_default=yes
else
debug_default=minimum
fi
-AC_DIVERT_POP()dnl
+])
dnl declare --enable-* args and collect ac_help strings
AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default)
@@ -154,7 +155,6 @@ AC_DEFINE_UNQUOTED(G_COMPILED_WITH_DEBUGGING, "${enable_debug}")
# Checks for programs.
AC_PROG_CC
-AM_PROG_CC_STDC
AC_PROG_INSTALL
changequote(,)dnl
diff --git a/gmodule/Makefile.am b/gmodule/Makefile.am
index ff4410a..5f0ce56 100644
--- a/gmodule/Makefile.am
+++ b/gmodule/Makefile.am
@@ -42,7 +42,7 @@ libgplugin_b_la_LDFLAGS = @G_MODULE_LDFLAGS@ -avoid-version -module
libgplugin_b_la_LIBADD = @G_MODULE_LIBS@ # $(libglib)
noinst_PROGRAMS = testgmodule
-testgmodule_LDFLAGS += @G_MODULE_LDFLAGS@
+testgmodule_LDFLAGS = @G_MODULE_LDFLAGS@
testgmodule_LDADD = libgmodule.la $(libglib) @G_MODULE_LIBS@
.PHONY: files release
diff --git a/gstrfuncs.c b/gstrfuncs.c
index feb4572..f3859b4 100644
--- a/gstrfuncs.c
+++ b/gstrfuncs.c
@@ -702,7 +702,7 @@ g_strsignal (gint signum)
char *msg;
#ifdef HAVE_STRSIGNAL
- extern char *strsignal (int sig);
+ extern const char *strsignal (int sig);
return strsignal (signum);
#elif NO_SYS_SIGLIST
switch (signum)
@@ -867,8 +867,7 @@ g_printf_string_upper_bound (const gchar* format,
/* beware of positional parameters
*/
case '$':
- g_warning (G_GNUC_PRETTY_FUNCTION
- "(): unable to handle positional parameters (%%n$)");
+ g_warning ("%s(): unable to handle positional parameters (%%n$)", G_GNUC_PRETTY_FUNCTION);
len += 1024; /* try adding some safety padding */
break;
@@ -1034,8 +1033,7 @@ g_printf_string_upper_bound (const gchar* format,
/* n . dddddddddddddddddddddddd E +- eeee */
conv_len += 1 + 1 + MAX (24, spec.precision) + 1 + 1 + 4;
if (spec.mod_extra_long)
- g_warning (G_GNUC_PRETTY_FUNCTION
- "(): unable to handle long double, collecting double only");
+ g_warning ("%s(): unable to handle long double, collecting double only", G_GNUC_PRETTY_FUNCTION);
#ifdef HAVE_LONG_DOUBLE
#error need to implement special handling for long double
#endif
@@ -1077,8 +1075,7 @@ g_printf_string_upper_bound (const gchar* format,
conv_done = TRUE;
if (spec.mod_long)
{
- g_warning (G_GNUC_PRETTY_FUNCTION
- "(): unable to handle wide char strings");
+ g_warning ("%s(): unable to handle wide char strings", G_GNUC_PRETTY_FUNCTION);
len += 1024; /* try adding some safety padding */
}
break;
@@ -1108,9 +1105,7 @@ g_printf_string_upper_bound (const gchar* format,
conv_len += format - spec_start;
break;
default:
- g_warning (G_GNUC_PRETTY_FUNCTION
- "(): unable to handle `%c' while parsing format",
- c);
+ g_warning ("%s(): unable to handle `%c' while parsing format", G_GNUC_PRETTY_FUNCTION, c);
break;
}
conv_done |= conv_len > 0;
--
1.8.3.4

View File

@@ -1,285 +0,0 @@
diff -Naur glib-2.18.3-some/gio/Makefile.am glib-2.18.3-more/gio/Makefile.am
--- glib-2.18.3-some/gio/Makefile.am 2009-03-29 05:36:04.000000000 +0000
+++ glib-2.18.3-more/gio/Makefile.am 2009-03-29 05:37:24.000000000 +0000
@@ -162,7 +162,7 @@
endif
-SUBDIRS += tests
+#SUBDIRS += tests
libgio_2_0_la_SOURCES = \
gappinfo.c \
diff -Naur glib-2.18.3-some/gio/gunixinputstream.c glib-2.18.3-more/gio/gunixinputstream.c
--- glib-2.18.3-some/gio/gunixinputstream.c 2009-03-29 05:36:05.000000000 +0000
+++ glib-2.18.3-more/gio/gunixinputstream.c 2009-03-29 05:37:24.000000000 +0000
@@ -28,7 +28,9 @@
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
+#ifdef HAVE_POLL
#include <poll.h>
+#endif
#include <glib.h>
#include <glib/gstdio.h>
@@ -171,6 +173,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixInputStream *unix_stream;
gssize res;
struct pollfd poll_fds[2];
@@ -226,6 +231,7 @@
}
return res;
+#endif
}
static gboolean
@@ -331,6 +337,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) &&!defined(G_OS_HAIKU)
GSource *source;
GUnixInputStream *unix_stream;
ReadAsyncData *data;
@@ -353,6 +360,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -Naur glib-2.18.3-some/gio/gunixmounts.c glib-2.18.3-more/gio/gunixmounts.c
--- glib-2.18.3-some/gio/gunixmounts.c 2009-03-29 05:36:05.000000000 +0000
+++ glib-2.18.3-more/gio/gunixmounts.c 2009-03-29 05:37:25.000000000 +0000
@@ -594,6 +594,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -974,6 +984,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -Naur glib-2.18.3-some/gio/gunixoutputstream.c glib-2.18.3-more/gio/gunixoutputstream.c
--- glib-2.18.3-some/gio/gunixoutputstream.c 2009-03-29 05:36:05.000000000 +0000
+++ glib-2.18.3-more/gio/gunixoutputstream.c 2009-03-29 05:37:25.000000000 +0000
@@ -28,7 +28,9 @@
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
+#ifdef HAVE_POLL
#include <poll.h>
+#endif
#include <glib.h>
#include <glib/gstdio.h>
@@ -159,6 +161,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixOutputStream *unix_stream;
gssize res;
struct pollfd poll_fds[2];
@@ -215,6 +220,7 @@
}
return res;
+#endif
}
static gboolean
@@ -320,6 +326,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GSource *source;
GUnixOutputStream *unix_stream;
WriteAsyncData *data;
@@ -342,6 +349,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -Naur glib-2.18.3-some/gio/makegioalias.pl glib-2.18.3-more/gio/makegioalias.pl
--- glib-2.18.3-some/gio/makegioalias.pl 2009-03-29 05:36:05.000000000 +0000
+++ glib-2.18.3-more/gio/makegioalias.pl 2009-03-29 05:37:25.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -Naur glib-2.18.3-some/glib/Makefile.am glib-2.18.3-more/glib/Makefile.am
--- glib-2.18.3-some/glib/Makefile.am 2009-03-29 05:36:06.000000000 +0000
+++ glib-2.18.3-more/glib/Makefile.am 2009-03-29 05:37:25.000000000 +0000
@@ -19,7 +19,7 @@
gregex_h =
endif
-SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
+SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre .
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
diff -Naur glib-2.18.3-some/glib/gbacktrace.c glib-2.18.3-more/glib/gbacktrace.c
--- glib-2.18.3-some/glib/gbacktrace.c 2009-03-29 05:36:06.000000000 +0000
+++ glib-2.18.3-more/glib/gbacktrace.c 2009-03-29 05:37:25.000000000 +0000
@@ -158,7 +158,7 @@
void
g_on_error_stack_trace (const gchar *prg_name)
{
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
pid_t pid;
gchar buf[16];
gchar *args[4] = { "gdb", NULL, NULL, NULL };
@@ -193,7 +193,7 @@
#endif
}
-#ifndef G_OS_WIN32
+#if !defined(G_OS_WIN32) && !defined(G_OS_BEOS)
static gboolean stack_trace_done = FALSE;
diff -Naur glib-2.18.3-some/glib/gmain.c glib-2.18.3-more/glib/gmain.c
--- glib-2.18.3-some/glib/gmain.c 2009-03-29 05:36:08.000000000 +0000
+++ glib-2.18.3-more/glib/gmain.c 2009-03-29 05:37:25.000000000 +0000
@@ -82,6 +82,12 @@
#include <sys/wait.h>
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include "fcntl.h"
+#endif /* G_OS_HAIKU */
+
#ifdef G_OS_UNIX
#include <fcntl.h>
#include <sys/wait.h>
@@ -569,6 +575,10 @@
#undef NO_FD_SET
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#undef NO_FD_SET
+#endif /* G_OS_HAIKU */
+
#ifndef NO_FD_SET
# define SELECT_MASK fd_set
#else /* !NO_FD_SET */
@@ -4022,6 +4032,7 @@
static void
g_child_watch_source_init_multi_threaded (void)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GError *error = NULL;
struct sigaction action;
@@ -4041,6 +4052,7 @@
sigemptyset (&action.sa_mask);
action.sa_flags = SA_RESTART | SA_NOCLDSTOP;
sigaction (SIGCHLD, &action, NULL);
+#endif
}
static void
diff -Naur glib-2.18.3-some/glib/gspawn.c glib-2.18.3-more/glib/gspawn.c
--- glib-2.18.3-some/glib/gspawn.c 2009-03-29 05:36:08.000000000 +0000
+++ glib-2.18.3-more/glib/gspawn.c 2009-03-29 05:37:25.000000000 +0000
@@ -238,6 +238,9 @@
gint *exit_status,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return FALSE;
+#else
gint outpipe = -1;
gint errpipe = -1;
GPid pid;
@@ -433,6 +436,7 @@
return TRUE;
}
+#endif
}
/**
@@ -908,7 +912,7 @@
gint fd;
gint res = 0;
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
struct rlimit rl;
#endif
@@ -951,7 +955,7 @@
#endif
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
diff -Naur glib-2.18.3-some/glib/makegalias.pl glib-2.18.3-more/glib/makegalias.pl
--- glib-2.18.3-some/glib/makegalias.pl 2009-03-29 05:36:09.000000000 +0000
+++ glib-2.18.3-more/glib/makegalias.pl 2009-03-29 05:37:25.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -Naur glib-2.18.3-some/gobject/makegobjectalias.pl glib-2.18.3-more/gobject/makegobjectalias.pl
--- glib-2.18.3-some/gobject/makegobjectalias.pl 2009-03-29 05:36:09.000000000 +0000
+++ glib-2.18.3-more/gobject/makegobjectalias.pl 2009-03-29 05:37:25.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;

View File

@@ -1,323 +0,0 @@
diff -Naur glib-2.18.3-clean/configure.in glib-2.18.3-some/configure.in
--- glib-2.18.3-clean/configure.in 2009-03-29 05:11:44.000000000 +0000
+++ glib-2.18.3-some/configure.in 2009-03-29 05:36:03.000000000 +0000
@@ -112,6 +112,17 @@
esac
AC_MSG_RESULT([$glib_native_beos])
+AC_MSG_CHECKING([for Haiku])
+case $host in
+ *-*-haiku*)
+ glib_native_haiku="yes"
+ ;;
+ *)
+ glib_native_haiku="no"
+ ;;
+esac
+AC_MSG_RESULT([$glib_native_haiku])
+
dnl
AC_MSG_CHECKING([for Win32])
@@ -3280,6 +3291,9 @@
#define G_PLATFORM_WIN32
#define G_WITH_CYGWIN"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU"
+ ;;
*-*-mingw*)
glib_os="#define G_OS_WIN32
#define G_PLATFORM_WIN32"
diff -Naur glib-2.18.3-clean/docs/reference/glib/glib-overrides.txt glib-2.18.3-some/docs/reference/glib/glib-overrides.txt
--- glib-2.18.3-clean/docs/reference/glib/glib-overrides.txt 2009-03-29 05:11:44.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/glib-overrides.txt 2009-03-29 05:36:03.000000000 +0000
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -Naur glib-2.18.3-clean/docs/reference/glib/glib-sections.txt glib-2.18.3-some/docs/reference/glib/glib-sections.txt
--- glib-2.18.3-clean/docs/reference/glib/glib-sections.txt 2009-03-29 05:11:44.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/glib-sections.txt 2009-03-29 05:36:03.000000000 +0000
@@ -125,6 +125,7 @@
<SUBSECTION>
G_OS_WIN32
G_OS_BEOS
+G_OS_HAIKU
G_OS_UNIX
<SUBSECTION>
diff -Naur glib-2.18.3-clean/docs/reference/glib/html/glib-Standard-Macros.html glib-2.18.3-some/docs/reference/glib/html/glib-Standard-Macros.html
--- glib-2.18.3-clean/docs/reference/glib/html/glib-Standard-Macros.html 2009-03-29 05:11:45.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/html/glib-Standard-Macros.html 2009-03-29 05:36:04.000000000 +0000
@@ -60,6 +60,7 @@
#define <a class="link" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS" title="G_OS_WIN32">G_OS_WIN32</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS" title="G_OS_BEOS">G_OS_BEOS</a>
+#define <a class="link" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS" title="G_OS_HAIKU">G_OS_HAIKU</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS" title="G_OS_UNIX">G_OS_UNIX</a>
#define <a class="link" href="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS" title="G_DIR_SEPARATOR">G_DIR_SEPARATOR</a>
@@ -115,6 +116,15 @@
BeOS-specific code in "#ifdef G_OS_BEOS".
</p>
</div>
+<div class="refsect2" lang="en">
+<a name="G-OS-HAIKU--CAPS"></a><h3>G_OS_HAIKU</h3>
+<pre class="programlisting">#define G_OS_HAIKU
+</pre>
+<p>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "#ifdef G_OS_HAIKU".
+</p>
+</div>
<hr>
<div class="refsect2" lang="en">
<a name="G-OS-UNIX--CAPS"></a><h3>G_OS_UNIX</h3>
diff -Naur glib-2.18.3-clean/docs/reference/glib/html/glib.devhelp glib-2.18.3-some/docs/reference/glib/html/glib.devhelp
--- glib-2.18.3-clean/docs/reference/glib/html/glib.devhelp 2009-03-29 05:11:45.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/html/glib.devhelp 2009-03-29 05:36:04.000000000 +0000
@@ -189,6 +189,7 @@
<function name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<function name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<function name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <function name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<function name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<function name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<function name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -Naur glib-2.18.3-clean/docs/reference/glib/html/glib.devhelp2 glib-2.18.3-some/docs/reference/glib/html/glib.devhelp2
--- glib-2.18.3-clean/docs/reference/glib/html/glib.devhelp2 2009-03-29 05:11:45.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/html/glib.devhelp2 2009-03-29 05:36:04.000000000 +0000
@@ -189,6 +189,7 @@
<keyword type="macro" name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<keyword type="macro" name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<keyword type="macro" name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <keyword type="macro" name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<keyword type="macro" name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -Naur glib-2.18.3-clean/docs/reference/glib/html/ix01.html glib-2.18.3-some/docs/reference/glib/html/ix01.html
--- glib-2.18.3-clean/docs/reference/glib/html/ix01.html 2009-03-29 05:11:45.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/html/ix01.html 2009-03-29 05:36:04.000000000 +0000
@@ -2260,6 +2260,8 @@
</dt>
<dt>G_OS_BEOS, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS">G_OS_BEOS</a>
</dt>
+<dt>G_OS_HAIKU, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS">G_OS_HAIKU</a>
+</dt>
<dt>G_OS_UNIX, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS">G_OS_UNIX</a>
</dt>
<dt>G_OS_WIN32, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS">G_OS_WIN32</a>
diff -Naur glib-2.18.3-clean/docs/reference/glib/tmpl/macros.sgml glib-2.18.3-some/docs/reference/glib/tmpl/macros.sgml
--- glib-2.18.3-clean/docs/reference/glib/tmpl/macros.sgml 2009-03-29 05:11:45.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/tmpl/macros.sgml 2009-03-29 05:36:04.000000000 +0000
@@ -33,6 +33,14 @@
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
+
+
+
<!-- ##### MACRO G_OS_UNIX ##### -->
<para>
This macro is defined only on UNIX. So you can bracket
diff -Naur glib-2.18.3-clean/docs/reference/glib/xml/api-index-full.xml glib-2.18.3-some/docs/reference/glib/xml/api-index-full.xml
--- glib-2.18.3-clean/docs/reference/glib/xml/api-index-full.xml 2009-03-29 05:11:45.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/xml/api-index-full.xml 2009-03-29 05:36:04.000000000 +0000
@@ -1107,6 +1107,7 @@
<indexentry><primaryie linkends="g-option-group-set-translation-domain"><link linkend="g-option-group-set-translation-domain">g_option_group_set_translation_domain</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OPTION-REMAINING--CAPS"><link linkend="G-OPTION-REMAINING--CAPS">G_OPTION_REMAINING</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-BEOS--CAPS"><link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link></primaryie></indexentry>
+<indexentry><primaryie linkends="G-OS-HAIKU--CAPS"><link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-UNIX--CAPS"><link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-WIN32--CAPS"><link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link></primaryie></indexentry>
<indexentry><primaryie linkends="g-parse-debug-string"><link linkend="g-parse-debug-string">g_parse_debug_string</link></primaryie></indexentry>
diff -Naur glib-2.18.3-clean/docs/reference/glib/xml/macros.xml glib-2.18.3-some/docs/reference/glib/xml/macros.xml
--- glib-2.18.3-clean/docs/reference/glib/xml/macros.xml 2009-03-29 05:11:45.000000000 +0000
+++ glib-2.18.3-some/docs/reference/glib/xml/macros.xml 2009-03-29 05:36:04.000000000 +0000
@@ -19,6 +19,7 @@
#define <link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link>
#define <link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link>
+#define <link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link>
#define <link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link>
#define <link linkend="G-DIR-SEPARATOR--CAPS">G_DIR_SEPARATOR</link>
@@ -81,6 +82,14 @@
This macro is defined only on BeOS. So you can bracket
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para></refsect2>
+<refsect2 id="G-OS-HAIKU--CAPS" role="macro">
+<title>G_OS_HAIKU</title>
+<indexterm zone="G-OS-HAIKU--CAPS"><primary sortas="G_OS_HAIKU">G_OS_HAIKU</primary></indexterm><programlisting>#define G_OS_HAIKU
+</programlisting>
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para></refsect2>
<refsect2 id="G-OS-UNIX--CAPS" role="macro">
<title>G_OS_UNIX</title>
<indexterm zone="G-OS-UNIX--CAPS"><primary sortas="G_OS_UNIX">G_OS_UNIX</primary></indexterm><programlisting>#define G_OS_UNIX
diff -Naur glib-2.18.3-clean/gio/xdgmime/xdgmimealias.c glib-2.18.3-some/gio/xdgmime/xdgmimealias.c
--- glib-2.18.3-clean/gio/xdgmime/xdgmimealias.c 2009-03-29 05:11:46.000000000 +0000
+++ glib-2.18.3-some/gio/xdgmime/xdgmimealias.c 2009-03-29 05:40:01.000000000 +0000
@@ -35,7 +35,10 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
+# include <fnmatch.h>
+#endif
#ifndef FALSE
#define FALSE (0)
diff -Naur glib-2.18.3-clean/gio/xdgmime/xdgmimecache.c glib-2.18.3-some/gio/xdgmime/xdgmimecache.c
--- glib-2.18.3-clean/gio/xdgmime/xdgmimecache.c 2009-03-29 05:11:46.000000000 +0000
+++ glib-2.18.3-some/gio/xdgmime/xdgmimecache.c 2009-03-29 05:40:41.000000000 +0000
@@ -34,7 +34,11 @@
#include <fcntl.h>
#include <unistd.h>
-#include <fnmatch.h>
+
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
+# include <fnmatch.h>
+#endif
+
#include <assert.h>
#include <netinet/in.h> /* for ntohl/ntohs */
diff -Naur glib-2.18.3-clean/gio/xdgmime/xdgmimeglob.c glib-2.18.3-some/gio/xdgmime/xdgmimeglob.c
--- glib-2.18.3-clean/gio/xdgmime/xdgmimeglob.c 2009-03-29 05:11:46.000000000 +0000
+++ glib-2.18.3-some/gio/xdgmime/xdgmimeglob.c 2009-03-29 05:41:11.000000000 +0000
@@ -35,7 +35,10 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
+# include <fnmatch.h>
+#endif
#ifndef FALSE
#define FALSE (0)
diff -Naur glib-2.18.3-clean/gio/xdgmime/xdgmimeparent.c glib-2.18.3-some/gio/xdgmime/xdgmimeparent.c
--- glib-2.18.3-clean/gio/xdgmime/xdgmimeparent.c 2009-03-29 05:11:46.000000000 +0000
+++ glib-2.18.3-some/gio/xdgmime/xdgmimeparent.c 2009-03-29 05:41:22.000000000 +0000
@@ -35,7 +35,10 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
+# include <fnmatch.h>
+#endif
#ifndef FALSE
#define FALSE (0)
diff -Naur glib-2.18.3-clean/glib/gslice.c glib-2.18.3-some/glib/gslice.c
--- glib-2.18.3-clean/glib/gslice.c 2009-03-29 05:11:52.000000000 +0000
+++ glib-2.18.3-some/glib/gslice.c 2009-03-29 05:36:08.000000000 +0000
@@ -302,6 +302,8 @@
GetSystemInfo (&system_info);
sys_page_size = system_info.dwPageSize;
}
+#elif defined(G_OS_BEOS)
+ sys_page_size = 4096;
#else
sys_page_size = sysconf (_SC_PAGESIZE); /* = sysconf (_SC_PAGE_SIZE); = getpagesize(); */
#endif
diff -Naur glib-2.18.3-clean/glib/gstdio.c glib-2.18.3-some/glib/gstdio.c
--- glib-2.18.3-clean/glib/gstdio.c 2009-03-29 05:11:52.000000000 +0000
+++ glib-2.18.3-some/glib/gstdio.c 2009-03-29 05:36:08.000000000 +0000
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined(G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -Naur glib-2.18.3-clean/glib/gstrfuncs.c glib-2.18.3-some/glib/gstrfuncs.c
--- glib-2.18.3-clean/glib/gstrfuncs.c 2009-03-29 05:11:52.000000000 +0000
+++ glib-2.18.3-some/glib/gstrfuncs.c 2009-03-29 05:36:08.000000000 +0000
@@ -1328,7 +1328,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -Naur glib-2.18.3-clean/glib/gtester.c glib-2.18.3-some/glib/gtester.c
--- glib-2.18.3-clean/glib/gtester.c 2009-03-29 05:11:52.000000000 +0000
+++ glib-2.18.3-some/glib/gtester.c 2009-03-29 05:36:08.000000000 +0000
@@ -630,6 +630,7 @@
* we must fiddle with sigaction() *before* glib is used, otherwise
* we could revoke signal hanmdler setups from glib initialization code.
*/
+#ifdef SA_RESTART
if (TRUE)
{
struct sigaction sa;
@@ -639,6 +640,7 @@
sa.sa_flags = SA_RESTART;
sigaction (SIGCHLD, &sa, &osa);
}
+#endif
g_set_prgname (argv[0]);
parse_args (&argc, &argv);
diff -Naur glib-2.18.3-clean/glib/gutils.c glib-2.18.3-some/glib/gutils.c
--- glib-2.18.3-clean/glib/gutils.c 2009-03-29 05:11:52.000000000 +0000
+++ glib-2.18.3-some/glib/gutils.c 2009-03-29 05:36:08.000000000 +0000
@@ -458,7 +458,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
@@ -2279,6 +2279,21 @@
}
#endif /* G_OS_WIN32 */
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+static void
+load_user_special_dirs (void)
+{
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup("$HOME");
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
+}
+#endif /* G_OS_BEOS */
+
static void g_init_user_config_dir (void);
#if defined(G_OS_UNIX) && !defined(HAVE_CARBON)

View File

@@ -1,964 +0,0 @@
diff -Naur glib-2.18.3-virgin/configure.in glib-2.18.3/configure.in
--- glib-2.18.3-virgin/configure.in 2008-12-15 14:14:07.000000000 +0000
+++ glib-2.18.3/configure.in 2008-12-15 14:22:15.000000000 +0000
@@ -112,6 +112,17 @@
esac
AC_MSG_RESULT([$glib_native_beos])
+AC_MSG_CHECKING([for Haiku])
+case $host in
+ *-*-haiku*)
+ glib_native_haiku="yes"
+ ;;
+ *)
+ glib_native_haiku="no"
+ ;;
+esac
+AC_MSG_RESULT([$glib_native_haiku])
+
dnl
AC_MSG_CHECKING([for Win32])
@@ -3280,6 +3291,9 @@
#define G_PLATFORM_WIN32
#define G_WITH_CYGWIN"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU"
+ ;;
*-*-mingw*)
glib_os="#define G_OS_WIN32
#define G_PLATFORM_WIN32"
diff -Naur glib-2.18.3-virgin/docs/reference/glib/glib-overrides.txt glib-2.18.3/docs/reference/glib/glib-overrides.txt
--- glib-2.18.3-virgin/docs/reference/glib/glib-overrides.txt 2008-12-15 14:14:06.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/glib-overrides.txt 2008-12-15 14:26:31.000000000 +0000
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -Naur glib-2.18.3-virgin/docs/reference/glib/glib-sections.txt glib-2.18.3/docs/reference/glib/glib-sections.txt
--- glib-2.18.3-virgin/docs/reference/glib/glib-sections.txt 2008-12-15 14:14:06.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/glib-sections.txt 2008-12-15 14:27:12.000000000 +0000
@@ -125,6 +125,7 @@
<SUBSECTION>
G_OS_WIN32
G_OS_BEOS
+G_OS_HAIKU
G_OS_UNIX
<SUBSECTION>
diff -Naur glib-2.18.3-virgin/docs/reference/glib/html/glib-Standard-Macros.html glib-2.18.3/docs/reference/glib/html/glib-Standard-Macros.html
--- glib-2.18.3-virgin/docs/reference/glib/html/glib-Standard-Macros.html 2008-12-15 14:14:05.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/html/glib-Standard-Macros.html 2008-12-15 14:28:52.000000000 +0000
@@ -60,6 +60,7 @@
#define <a class="link" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS" title="G_OS_WIN32">G_OS_WIN32</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS" title="G_OS_BEOS">G_OS_BEOS</a>
+#define <a class="link" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS" title="G_OS_HAIKU">G_OS_HAIKU</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS" title="G_OS_UNIX">G_OS_UNIX</a>
#define <a class="link" href="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS" title="G_DIR_SEPARATOR">G_DIR_SEPARATOR</a>
@@ -115,6 +116,15 @@
BeOS-specific code in "#ifdef G_OS_BEOS".
</p>
</div>
+<div class="refsect2" lang="en">
+<a name="G-OS-HAIKU--CAPS"></a><h3>G_OS_HAIKU</h3>
+<pre class="programlisting">#define G_OS_HAIKU
+</pre>
+<p>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "#ifdef G_OS_HAIKU".
+</p>
+</div>
<hr>
<div class="refsect2" lang="en">
<a name="G-OS-UNIX--CAPS"></a><h3>G_OS_UNIX</h3>
diff -Naur glib-2.18.3-virgin/docs/reference/glib/html/glib.devhelp glib-2.18.3/docs/reference/glib/html/glib.devhelp
--- glib-2.18.3-virgin/docs/reference/glib/html/glib.devhelp 2008-12-15 14:14:05.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/html/glib.devhelp 2008-12-15 14:29:21.000000000 +0000
@@ -189,6 +189,7 @@
<function name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<function name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<function name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <function name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<function name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<function name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<function name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -Naur glib-2.18.3-virgin/docs/reference/glib/html/glib.devhelp2 glib-2.18.3/docs/reference/glib/html/glib.devhelp2
--- glib-2.18.3-virgin/docs/reference/glib/html/glib.devhelp2 2008-12-15 14:14:05.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/html/glib.devhelp2 2008-12-15 14:29:46.000000000 +0000
@@ -189,6 +189,7 @@
<keyword type="macro" name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<keyword type="macro" name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<keyword type="macro" name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <keyword type="macro" name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<keyword type="macro" name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -Naur glib-2.18.3-virgin/docs/reference/glib/html/ix01.html glib-2.18.3/docs/reference/glib/html/ix01.html
--- glib-2.18.3-virgin/docs/reference/glib/html/ix01.html 2008-12-15 14:14:05.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/html/ix01.html 2008-12-15 14:30:31.000000000 +0000
@@ -2260,6 +2260,8 @@
</dt>
<dt>G_OS_BEOS, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS">G_OS_BEOS</a>
</dt>
+<dt>G_OS_HAIKU, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS">G_OS_HAIKU</a>
+</dt>
<dt>G_OS_UNIX, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS">G_OS_UNIX</a>
</dt>
<dt>G_OS_WIN32, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS">G_OS_WIN32</a>
diff -Naur glib-2.18.3-virgin/docs/reference/glib/tmpl/macros.sgml glib-2.18.3/docs/reference/glib/tmpl/macros.sgml
--- glib-2.18.3-virgin/docs/reference/glib/tmpl/macros.sgml 2008-12-15 14:14:06.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/tmpl/macros.sgml 2008-12-15 14:31:07.000000000 +0000
@@ -33,6 +33,14 @@
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
+
+
+
<!-- ##### MACRO G_OS_UNIX ##### -->
<para>
This macro is defined only on UNIX. So you can bracket
diff -Naur glib-2.18.3-virgin/docs/reference/glib/xml/api-index-full.xml glib-2.18.3/docs/reference/glib/xml/api-index-full.xml
--- glib-2.18.3-virgin/docs/reference/glib/xml/api-index-full.xml 2008-12-15 14:14:06.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/xml/api-index-full.xml 2008-12-15 14:31:46.000000000 +0000
@@ -1107,6 +1107,7 @@
<indexentry><primaryie linkends="g-option-group-set-translation-domain"><link linkend="g-option-group-set-translation-domain">g_option_group_set_translation_domain</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OPTION-REMAINING--CAPS"><link linkend="G-OPTION-REMAINING--CAPS">G_OPTION_REMAINING</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-BEOS--CAPS"><link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link></primaryie></indexentry>
+<indexentry><primaryie linkends="G-OS-HAIKU--CAPS"><link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-UNIX--CAPS"><link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-WIN32--CAPS"><link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link></primaryie></indexentry>
<indexentry><primaryie linkends="g-parse-debug-string"><link linkend="g-parse-debug-string">g_parse_debug_string</link></primaryie></indexentry>
diff -Naur glib-2.18.3-virgin/docs/reference/glib/xml/macros.xml glib-2.18.3/docs/reference/glib/xml/macros.xml
--- glib-2.18.3-virgin/docs/reference/glib/xml/macros.xml 2008-12-15 14:14:05.000000000 +0000
+++ glib-2.18.3/docs/reference/glib/xml/macros.xml 2008-12-15 14:33:46.000000000 +0000
@@ -19,6 +19,7 @@
#define <link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link>
#define <link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link>
+#define <link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link>
#define <link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link>
#define <link linkend="G-DIR-SEPARATOR--CAPS">G_DIR_SEPARATOR</link>
@@ -81,6 +82,14 @@
This macro is defined only on BeOS. So you can bracket
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para></refsect2>
+<refsect2 id="G-OS-HAIKU--CAPS" role="macro">
+<title>G_OS_HAIKU</title>
+<indexterm zone="G-OS-HAIKU--CAPS"><primary sortas="G_OS_HAIKU">G_OS_HAIKU</primary></indexterm><programlisting>#define G_OS_HAIKU
+</programlisting>
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para></refsect2>
<refsect2 id="G-OS-UNIX--CAPS" role="macro">
<title>G_OS_UNIX</title>
<indexterm zone="G-OS-UNIX--CAPS"><primary sortas="G_OS_UNIX">G_OS_UNIX</primary></indexterm><programlisting>#define G_OS_UNIX
diff -Naur glib-2.18.3-virgin/gio/Makefile.am glib-2.18.3/gio/Makefile.am
--- glib-2.18.3-virgin/gio/Makefile.am 2008-12-15 14:14:02.000000000 +0000
+++ glib-2.18.3/gio/Makefile.am 2008-12-15 14:42:41.000000000 +0000
@@ -162,7 +162,7 @@
endif
-SUBDIRS += tests
+#SUBDIRS += tests
libgio_2_0_la_SOURCES = \
gappinfo.c \
diff -Naur glib-2.18.3-virgin/gio/Makefile.am~ glib-2.18.3/gio/Makefile.am~
--- glib-2.18.3-virgin/gio/Makefile.am~ 1970-01-01 00:00:00.000000000 +0000
+++ glib-2.18.3/gio/Makefile.am~ 2008-12-15 14:14:26.000000000 +0000
@@ -0,0 +1,365 @@
+include $(top_srcdir)/Makefile.decl
+
+NULL =
+
+SUBDIRS=
+
+if OS_UNIX
+SUBDIRS += xdgmime
+endif
+
+if OS_WIN32_AND_DLL_COMPILATION
+if MS_LIB_AVAILABLE
+noinst_DATA = gio-2.0.lib
+
+install_ms_lib_cmd = $(INSTALL) gio-2.0.lib $(DESTDIR)$(libdir)
+uninstall_ms_lib_cmd = -rm $(DESTDIR)$(libdir)/gio-2.0.lib
+endif
+endif
+
+install-ms-lib:
+ $(install_ms_lib_cmd)
+
+uninstall-ms-lib:
+ $(uninstall_ms_lib_cmd)
+
+gio.def: gio.symbols
+ (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gio.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | sort) > gio.def.tmp && \
+ mv gio.def.tmp gio.def
+
+gioalias.h: gio.symbols
+ $(PERL) $(srcdir)/makegioalias.pl < $(srcdir)/gio.symbols > gioalias.h.tmp && \
+ mv gioalias.h.tmp gioalias.h
+
+gioaliasdef.c: gio.symbols
+ $(PERL) $(srcdir)/makegioalias.pl -def < $(srcdir)/gio.symbols > gioaliasdef.c.tmp && \
+ mv gioaliasdef.c.tmp gioaliasdef.c
+
+if OS_LINUX
+if HAVE_GNUC_VISIBILITY
+TESTS = abicheck.sh pltcheck.sh
+endif
+endif
+
+AM_CPPFLAGS = \
+ -DG_LOG_DOMAIN=\"GLib-GIO\" \
+ -I$(top_builddir) \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/glib \
+ -I$(top_srcdir)/gmodule \
+ $(GLIB_DEBUG_FLAGS) \
+ -DG_DISABLE_DEPRECATED \
+ -DGIO_COMPILATION \
+ -DGIO_MODULE_DIR=\"$(GIO_MODULE_DIR)\"
+
+lib_LTLIBRARIES = libgio-2.0.la
+
+marshal_sources = \
+ gio-marshal.h \
+ gio-marshal.c \
+ $(NULL)
+
+if CROSS_COMPILING
+ glib_genmarshal=$(GLIB_GENMARSHAL)
+else
+ glib_genmarshal=../gobject/glib-genmarshal
+endif
+
+gio-marshal.h: gio-marshal.list
+ $(glib_genmarshal) --prefix=_gio_marshal $(srcdir)/gio-marshal.list --header --internal > $@.tmp && \
+ mv $@.tmp $@
+
+gio-marshal.c: gio-marshal.h gio-marshal.list
+ (echo "#include \"gio-marshal.h\""; \
+ $(glib_genmarshal) --prefix=_gio_marshal $(srcdir)/gio-marshal.list --body --internal) > $@.tmp && \
+ mv $@.tmp $@
+
+local_sources = \
+ glocaldirectorymonitor.c \
+ glocaldirectorymonitor.h \
+ glocalfile.c \
+ glocalfile.h \
+ glocalfileenumerator.c \
+ glocalfileenumerator.h \
+ glocalfileinfo.c \
+ glocalfileinfo.h \
+ glocalfileinputstream.c \
+ glocalfileinputstream.h \
+ glocalfilemonitor.c \
+ glocalfilemonitor.h \
+ glocalfileoutputstream.c \
+ glocalfileoutputstream.h \
+ glocalvfs.c \
+ glocalvfs.h \
+ $(NULL)
+
+platform_libadd =
+platform_deps =
+appinfo_sources =
+
+if HAVE_INOTIFY
+SUBDIRS += inotify
+platform_libadd += inotify/libinotify.la
+platform_deps += inotify/libinotify.la
+endif
+
+if HAVE_FEN
+AM_CPPFLAGS += -DHAVE_FEN
+SUBDIRS += fen
+platform_libadd += fen/libfen.la
+platform_deps += fen/libfen.la
+endif
+
+if OS_WIN32
+SUBDIRS += win32
+platform_libadd += win32/libgiowin32.la
+platform_deps += win32/libgiowin32.la
+endif
+
+
+SUBDIRS += .
+
+if HAVE_FAM
+SUBDIRS += fam
+endif
+
+if OS_UNIX
+appinfo_sources += gdesktopappinfo.c gdesktopappinfo.h
+platform_libadd += xdgmime/libxdgmime.la
+platform_deps += xdgmime/libxdgmime.la
+unix_sources = \
+ gunixmount.c \
+ gunixmount.h \
+ gunixmounts.c \
+ gunixmounts.h \
+ gunixvolume.c \
+ gunixvolume.h \
+ gunixvolumemonitor.c \
+ gunixvolumemonitor.h \
+ gunixinputstream.c \
+ gunixoutputstream.c \
+ $(NULL)
+
+
+giounixincludedir=$(includedir)/gio-unix-2.0/gio
+giounixinclude_HEADERS = \
+ gdesktopappinfo.h \
+ gunixmounts.h \
+ gunixinputstream.h \
+ gunixoutputstream.h \
+ $(NULL)
+endif
+
+if OS_WIN32
+appinfo_sources += gwin32appinfo.c gwin32appinfo.h
+platform_libadd += -lshlwapi
+win32_sources = \
+ gwin32mount.c \
+ gwin32mount.h \
+ gwin32volumemonitor.c \
+ gwin32volumemonitor.h \
+ $(NULL)
+
+endif
+
+SUBDIRS += tests
+
+libgio_2_0_la_SOURCES = \
+ gappinfo.c \
+ gasynchelper.c \
+ gasynchelper.h \
+ gasyncresult.c \
+ gbufferedinputstream.c \
+ gbufferedoutputstream.c \
+ gcancellable.c \
+ gcontenttype.c \
+ gcontenttypeprivate.h \
+ gdatainputstream.c \
+ gdataoutputstream.c \
+ gdrive.c \
+ gdummyfile.h \
+ gdummyfile.c \
+ gemblem.h \
+ gemblem.c \
+ gemblemedicon.h \
+ gemblemedicon.c \
+ gfile.c \
+ gfileattribute.c \
+ gfileattribute-priv.h \
+ gfileenumerator.c \
+ gfileicon.c \
+ gfileinfo.c \
+ gfileinputstream.c \
+ gfilemonitor.c \
+ gfilenamecompleter.c \
+ gfileoutputstream.c \
+ gfilterinputstream.c \
+ gfilteroutputstream.c \
+ gicon.c \
+ ginputstream.c \
+ gioenums.h \
+ gioerror.c \
+ giomodule.c \
+ giomodule-priv.h \
+ gioscheduler.c \
+ gloadableicon.c \
+ gmount.c \
+ gmemoryinputstream.c \
+ gmemoryoutputstream.c \
+ gmountoperation.c \
+ gnativevolumemonitor.c \
+ gnativevolumemonitor.h \
+ goutputstream.c \
+ gpollfilemonitor.c \
+ gpollfilemonitor.h \
+ gseekable.c \
+ gsimpleasyncresult.c \
+ gthemedicon.c \
+ gunionvolumemonitor.c \
+ gunionvolumemonitor.h \
+ gvfs.c \
+ gvolume.c \
+ gvolumemonitor.c \
+ gmountprivate.h \
+ gioenumtypes.h \
+ gioenumtypes.c \
+ gioalias.h \
+ gioaliasdef.c \
+ $(appinfo_sources) \
+ $(unix_sources) \
+ $(win32_sources) \
+ $(local_sources) \
+ $(marshal_sources) \
+ $(NULL)
+
+$(libgio_2_0_la_OBJECTS): $(marshal_sources)
+
+libgio_2_0_la_LIBADD = \
+ $(top_builddir)/glib/libglib-2.0.la \
+ $(top_builddir)/gobject/libgobject-2.0.la \
+ $(top_builddir)/gmodule/libgmodule-2.0.la \
+ $(platform_libadd) \
+ $(SELINUX_LIBS) \
+ $(GLIB_LIBS) \
+ $(XATTR_LIBS) \
+ $(NULL)
+
+if PLATFORM_WIN32
+no_undefined = -no-undefined
+endif
+
+if OS_WIN32_AND_DLL_COMPILATION
+export_symbols = -export-symbols gio.def
+gio_def = gio.def
+
+install-def-file:
+ $(INSTALL) gio.def $(DESTDIR)$(libdir)/gio-2.0.def
+
+uninstall-def-file:
+ -rm $(DESTDIR)$(libdir)/gio-2.0.def
+else
+install-def-file:
+uninstall-def-file:
+
+export_symbols = -export-symbols-regex '^g_.*'
+endif
+
+install-data-local: install-ms-lib install-def-file
+ $(mkinstalldirs) $(DESTDIR)$(GIO_MODULE_DIR)
+
+uninstall-local: uninstall-ms-lib uninstall-def-file
+
+libgio_2_0_la_LDFLAGS = \
+ -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
+ -export-dynamic $(no_undefined) $(export_symbols)
+
+libgio_2_0_la_DEPENDENCIES = $(gio_def) $(platform_deps)
+
+gio_headers = \
+ gappinfo.h \
+ gasyncresult.h \
+ gbufferedinputstream.h \
+ gbufferedoutputstream.h \
+ gcancellable.h \
+ gcontenttype.h \
+ gdatainputstream.h \
+ gdataoutputstream.h \
+ gdrive.h \
+ gemblem.h \
+ gemblemedicon.h \
+ gfile.h \
+ gfileattribute.h \
+ gfileenumerator.h \
+ gfileicon.h \
+ gfileinfo.h \
+ gfileinputstream.h \
+ gfilemonitor.h \
+ gfilenamecompleter.h \
+ gfileoutputstream.h \
+ gfilterinputstream.h \
+ gfilteroutputstream.h \
+ gicon.h \
+ ginputstream.h \
+ gio.h \
+ giotypes.h \
+ gioenums.h \
+ gioerror.h \
+ giomodule.h \
+ gioscheduler.h \
+ gloadableicon.h \
+ gmount.h \
+ gmemoryinputstream.h \
+ gmemoryoutputstream.h \
+ gmountoperation.h \
+ gnativevolumemonitor.h \
+ goutputstream.h \
+ gseekable.h \
+ gsimpleasyncresult.h \
+ gthemedicon.h \
+ gvfs.h \
+ gvolume.h \
+ gvolumemonitor.h \
+ $(NULL)
+
+gioincludedir=$(includedir)/glib-2.0/gio/
+gioinclude_HEADERS = \
+ $(gio_headers) \
+ gioenumtypes.h
+
+# these sources (also mentioned above) are generated.
+BUILT_SOURCES = \
+ gio-marshal.h \
+ gio-marshal.c \
+ gioalias.h \
+ gioaliasdef.c \
+ gioenumtypes.h \
+ gioenumtypes.c \
+ $(NULL)
+
+EXTRA_DIST += \
+ gio-marshal.list \
+ gio.symbols \
+ gioenumtypes.h.template \
+ gioenumtypes.c.template \
+ makefile.msc \
+ makegioalias.pl \
+ abicheck.sh \
+ pltcheck.sh \
+ $(NULL)
+
+CLEANFILES = \
+ $(marshal_sources) \
+ $(NULL)
+
+gioenumtypes.h: $(gio_headers) gioenumtypes.h.template
+ ( top_builddir=`cd $(top_builddir) && pwd`; \
+ cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.h.template $(gio_headers) ) > \
+ gioenumtypes.h.tmp && mv gioenumtypes.h.tmp gioenumtypes.h
+
+gioenumtypes.c: $(gio_headers) gioenumtypes.c.template
+ ( top_builddir=`cd $(top_builddir) && pwd`; \
+ cd $(srcdir) && $$top_builddir/gobject/glib-mkenums --template gioenumtypes.c.template $(gio_headers) ) > \
+ gioenumtypes.c.tmp && mv gioenumtypes.c.tmp gioenumtypes.c
+
+gio-2.0.lib: libgio-2.0.la gio.def
+ lib -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:gio.def -out:$@
diff -Naur glib-2.18.3-virgin/gio/gunixinputstream.c glib-2.18.3/gio/gunixinputstream.c
--- glib-2.18.3-virgin/gio/gunixinputstream.c 2008-12-15 14:14:02.000000000 +0000
+++ glib-2.18.3/gio/gunixinputstream.c 2008-12-15 14:46:58.000000000 +0000
@@ -28,7 +28,9 @@
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
+#ifdef HAVE_POLL
#include <poll.h>
+#endif
#include <glib.h>
#include <glib/gstdio.h>
@@ -171,6 +173,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixInputStream *unix_stream;
gssize res;
struct pollfd poll_fds[2];
@@ -226,6 +231,7 @@
}
return res;
+#endif
}
static gboolean
@@ -331,6 +337,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) &&!defined(G_OS_HAIKU)
GSource *source;
GUnixInputStream *unix_stream;
ReadAsyncData *data;
@@ -353,6 +360,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -Naur glib-2.18.3-virgin/gio/gunixmounts.c glib-2.18.3/gio/gunixmounts.c
--- glib-2.18.3-virgin/gio/gunixmounts.c 2008-12-15 14:14:01.000000000 +0000
+++ glib-2.18.3/gio/gunixmounts.c 2008-12-15 14:48:11.000000000 +0000
@@ -594,6 +594,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -974,6 +984,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -Naur glib-2.18.3-virgin/gio/gunixoutputstream.c glib-2.18.3/gio/gunixoutputstream.c
--- glib-2.18.3-virgin/gio/gunixoutputstream.c 2008-12-15 14:14:01.000000000 +0000
+++ glib-2.18.3/gio/gunixoutputstream.c 2008-12-15 14:49:48.000000000 +0000
@@ -28,7 +28,9 @@
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
+#ifdef HAVE_POLL
#include <poll.h>
+#endif
#include <glib.h>
#include <glib/gstdio.h>
@@ -159,6 +161,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixOutputStream *unix_stream;
gssize res;
struct pollfd poll_fds[2];
@@ -215,6 +220,7 @@
}
return res;
+#endif
}
static gboolean
@@ -320,6 +326,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GSource *source;
GUnixOutputStream *unix_stream;
WriteAsyncData *data;
@@ -342,6 +349,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -Naur glib-2.18.3-virgin/gio/makegioalias.pl glib-2.18.3/gio/makegioalias.pl
--- glib-2.18.3-virgin/gio/makegioalias.pl 2008-12-15 14:14:01.000000000 +0000
+++ glib-2.18.3/gio/makegioalias.pl 2008-12-15 14:42:41.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -Naur glib-2.18.3-virgin/gio/xdgmime/xdgmimealias.c glib-2.18.3/gio/xdgmime/xdgmimealias.c
--- glib-2.18.3-virgin/gio/xdgmime/xdgmimealias.c 2008-12-15 14:14:02.000000000 +0000
+++ glib-2.18.3/gio/xdgmime/xdgmimealias.c 2008-12-15 14:42:41.000000000 +0000
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -Naur glib-2.18.3-virgin/gio/xdgmime/xdgmimecache.c glib-2.18.3/gio/xdgmime/xdgmimecache.c
--- glib-2.18.3-virgin/gio/xdgmime/xdgmimecache.c 2008-12-15 14:14:02.000000000 +0000
+++ glib-2.18.3/gio/xdgmime/xdgmimecache.c 2008-12-15 14:42:41.000000000 +0000
@@ -34,7 +34,7 @@
#include <fcntl.h>
#include <unistd.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#include <assert.h>
#include <netinet/in.h> /* for ntohl/ntohs */
diff -Naur glib-2.18.3-virgin/gio/xdgmime/xdgmimeglob.c glib-2.18.3/gio/xdgmime/xdgmimeglob.c
--- glib-2.18.3-virgin/gio/xdgmime/xdgmimeglob.c 2008-12-15 14:14:02.000000000 +0000
+++ glib-2.18.3/gio/xdgmime/xdgmimeglob.c 2008-12-15 14:42:41.000000000 +0000
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -Naur glib-2.18.3-virgin/gio/xdgmime/xdgmimeparent.c glib-2.18.3/gio/xdgmime/xdgmimeparent.c
--- glib-2.18.3-virgin/gio/xdgmime/xdgmimeparent.c 2008-12-15 14:14:02.000000000 +0000
+++ glib-2.18.3/gio/xdgmime/xdgmimeparent.c 2008-12-15 14:42:41.000000000 +0000
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -Naur glib-2.18.3-virgin/glib/Makefile.am glib-2.18.3/glib/Makefile.am
--- glib-2.18.3-virgin/glib/Makefile.am 2008-12-15 14:14:09.000000000 +0000
+++ glib-2.18.3/glib/Makefile.am 2008-12-15 14:42:41.000000000 +0000
@@ -19,7 +19,7 @@
gregex_h =
endif
-SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
+SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre .
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
diff -Naur glib-2.18.3-virgin/glib/gbacktrace.c glib-2.18.3/glib/gbacktrace.c
--- glib-2.18.3-virgin/glib/gbacktrace.c 2008-12-15 14:14:08.000000000 +0000
+++ glib-2.18.3/glib/gbacktrace.c 2008-12-15 15:04:11.000000000 +0000
@@ -158,7 +158,7 @@
void
g_on_error_stack_trace (const gchar *prg_name)
{
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
pid_t pid;
gchar buf[16];
gchar *args[4] = { "gdb", NULL, NULL, NULL };
@@ -193,7 +193,7 @@
#endif
}
-#ifndef G_OS_WIN32
+#if !defined(G_OS_WIN32) && !defined(G_OS_BEOS)
static gboolean stack_trace_done = FALSE;
diff -Naur glib-2.18.3-virgin/glib/gmain.c glib-2.18.3/glib/gmain.c
--- glib-2.18.3-virgin/glib/gmain.c 2008-12-15 14:14:09.000000000 +0000
+++ glib-2.18.3/glib/gmain.c 2008-12-15 14:53:50.000000000 +0000
@@ -82,6 +82,12 @@
#include <sys/wait.h>
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include "fcntl.h"
+#endif /* G_OS_HAIKU */
+
#ifdef G_OS_UNIX
#include <fcntl.h>
#include <sys/wait.h>
@@ -569,6 +575,10 @@
#undef NO_FD_SET
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#undef NO_FD_SET
+#endif /* G_OS_HAIKU */
+
#ifndef NO_FD_SET
# define SELECT_MASK fd_set
#else /* !NO_FD_SET */
@@ -4022,6 +4032,7 @@
static void
g_child_watch_source_init_multi_threaded (void)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GError *error = NULL;
struct sigaction action;
@@ -4041,6 +4052,7 @@
sigemptyset (&action.sa_mask);
action.sa_flags = SA_RESTART | SA_NOCLDSTOP;
sigaction (SIGCHLD, &action, NULL);
+#endif
}
static void
diff -Naur glib-2.18.3-virgin/glib/gslice.c glib-2.18.3/glib/gslice.c
--- glib-2.18.3-virgin/glib/gslice.c 2008-12-15 14:14:09.000000000 +0000
+++ glib-2.18.3/glib/gslice.c 2008-12-15 14:42:41.000000000 +0000
@@ -302,6 +302,8 @@
GetSystemInfo (&system_info);
sys_page_size = system_info.dwPageSize;
}
+#elif defined(G_OS_BEOS)
+ sys_page_size = 4096;
#else
sys_page_size = sysconf (_SC_PAGESIZE); /* = sysconf (_SC_PAGE_SIZE); = getpagesize(); */
#endif
diff -Naur glib-2.18.3-virgin/glib/gspawn.c glib-2.18.3/glib/gspawn.c
--- glib-2.18.3-virgin/glib/gspawn.c 2008-12-15 14:14:09.000000000 +0000
+++ glib-2.18.3/glib/gspawn.c 2008-12-15 14:55:23.000000000 +0000
@@ -238,6 +238,9 @@
gint *exit_status,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return FALSE;
+#else
gint outpipe = -1;
gint errpipe = -1;
GPid pid;
@@ -433,6 +436,7 @@
return TRUE;
}
+#endif
}
/**
@@ -908,7 +912,7 @@
gint fd;
gint res = 0;
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
struct rlimit rl;
#endif
@@ -951,7 +955,7 @@
#endif
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
diff -Naur glib-2.18.3-virgin/glib/gstdio.c glib-2.18.3/glib/gstdio.c
--- glib-2.18.3-virgin/glib/gstdio.c 2008-12-15 14:14:09.000000000 +0000
+++ glib-2.18.3/glib/gstdio.c 2008-12-15 14:56:19.000000000 +0000
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined(G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -Naur glib-2.18.3-virgin/glib/gstrfuncs.c glib-2.18.3/glib/gstrfuncs.c
--- glib-2.18.3-virgin/glib/gstrfuncs.c 2008-12-15 14:14:09.000000000 +0000
+++ glib-2.18.3/glib/gstrfuncs.c 2008-12-15 15:01:39.000000000 +0000
@@ -1328,7 +1328,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -Naur glib-2.18.3-virgin/glib/gtester.c glib-2.18.3/glib/gtester.c
--- glib-2.18.3-virgin/glib/gtester.c 2008-12-15 14:14:08.000000000 +0000
+++ glib-2.18.3/glib/gtester.c 2008-12-15 14:42:41.000000000 +0000
@@ -630,6 +630,7 @@
* we must fiddle with sigaction() *before* glib is used, otherwise
* we could revoke signal hanmdler setups from glib initialization code.
*/
+#ifdef SA_RESTART
if (TRUE)
{
struct sigaction sa;
@@ -639,6 +640,7 @@
sa.sa_flags = SA_RESTART;
sigaction (SIGCHLD, &sa, &osa);
}
+#endif
g_set_prgname (argv[0]);
parse_args (&argc, &argv);
diff -Naur glib-2.18.3-virgin/glib/gutils.c glib-2.18.3/glib/gutils.c
--- glib-2.18.3-virgin/glib/gutils.c 2008-12-15 14:14:08.000000000 +0000
+++ glib-2.18.3/glib/gutils.c 2008-12-15 15:03:09.000000000 +0000
@@ -458,7 +458,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
@@ -2279,6 +2279,21 @@
}
#endif /* G_OS_WIN32 */
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+static void
+load_user_special_dirs (void)
+{
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup("$HOME");
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
+}
+#endif /* G_OS_BEOS */
+
static void g_init_user_config_dir (void);
#if defined(G_OS_UNIX) && !defined(HAVE_CARBON)
diff -Naur glib-2.18.3-virgin/glib/makegalias.pl glib-2.18.3/glib/makegalias.pl
--- glib-2.18.3-virgin/glib/makegalias.pl 2008-12-15 14:14:08.000000000 +0000
+++ glib-2.18.3/glib/makegalias.pl 2008-12-15 14:42:41.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -Naur glib-2.18.3-virgin/gobject/makegobjectalias.pl glib-2.18.3/gobject/makegobjectalias.pl
--- glib-2.18.3-virgin/gobject/makegobjectalias.pl 2008-12-15 14:14:10.000000000 +0000
+++ glib-2.18.3/gobject/makegobjectalias.pl 2008-12-15 14:42:41.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;

View File

@@ -1,494 +0,0 @@
diff -urN glib-2.19.2/configure.in glib-2.19.2-haiku/configure.in
--- glib-2.19.2/configure.in 2008-12-18 07:13:29.000000000 -0800
+++ glib-2.19.2-haiku/configure.in 2008-12-18 07:36:31.000000000 -0800
@@ -112,6 +112,17 @@
esac
AC_MSG_RESULT([$glib_native_beos])
+AC_MSG_CHECKING([for Haiku])
+case $host in
+ *-*-haiku*)
+ glib_native_haiku="yes"
+ ;;
+ *)
+ glib_native_haiku="no"
+ ;;
+esac
+AC_MSG_RESULT([$glib_native_haiku])
+
dnl
AC_MSG_CHECKING([for Win32])
@@ -358,7 +369,7 @@
AC_PATH_PROG(PERL_PATH, [$PERL])
fi
if test "x$PERL_PATH" = x ; then
- PERL_PATH="/usr/bin/env perl"
+ PERL_PATH="/bin/env perl"
fi
AC_SUBST(PERL_PATH)
@@ -3277,11 +3288,18 @@
*-*-beos*)
glib_os="#define G_OS_BEOS"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU
+#define G_OS_UNIX"
+ ;;
*-*-cygwin*)
glib_os="#define G_OS_UNIX
#define G_PLATFORM_WIN32
#define G_WITH_CYGWIN"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU"
+ ;;
*-*-mingw*)
glib_os="#define G_OS_WIN32
#define G_PLATFORM_WIN32"
diff -urN glib-2.19.2/docs/reference/glib/glib-overrides.txt glib-2.19.2-haiku/docs/reference/glib/glib-overrides.txt
--- glib-2.19.2/docs/reference/glib/glib-overrides.txt 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/glib-overrides.txt 2008-12-18 07:35:30.000000000 -0800
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -urN glib-2.19.2/docs/reference/glib/glib-sections.txt glib-2.19.2-haiku/docs/reference/glib/glib-sections.txt
--- glib-2.19.2/docs/reference/glib/glib-sections.txt 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/glib-sections.txt 2008-12-18 07:36:44.000000000 -0800
@@ -125,7 +125,9 @@
<SUBSECTION>
G_OS_WIN32
G_OS_BEOS
+G_OS_HAIKU
G_OS_UNIX
+G_OS_HAIKU
<SUBSECTION>
G_DIR_SEPARATOR
diff -urN glib-2.19.2/docs/reference/glib/html/glib-Standard-Macros.html glib-2.19.2-haiku/docs/reference/glib/html/glib-Standard-Macros.html
--- glib-2.19.2/docs/reference/glib/html/glib-Standard-Macros.html 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/html/glib-Standard-Macros.html 2008-12-18 07:35:30.000000000 -0800
@@ -61,6 +61,7 @@
#define <a class="link" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS" title="G_OS_WIN32">G_OS_WIN32</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS" title="G_OS_BEOS">G_OS_BEOS</a>
+#define <a class="link" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS" title="G_OS_HAIKU">G_OS_HAIKU</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS" title="G_OS_UNIX">G_OS_UNIX</a>
#define <a class="link" href="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS" title="G_DIR_SEPARATOR">G_DIR_SEPARATOR</a>
@@ -116,6 +117,15 @@
BeOS-specific code in "#ifdef G_OS_BEOS".
</p>
</div>
+<div class="refsect2" lang="en">
+<a name="G-OS-HAIKU--CAPS"></a><h3>G_OS_HAIKU</h3>
+<pre class="programlisting">#define G_OS_HAIKU
+</pre>
+<p>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "#ifdef G_OS_HAIKU".
+</p>
+</div>
<hr>
<div class="refsect2" lang="en">
<a name="G-OS-UNIX--CAPS"></a><h3>G_OS_UNIX</h3>
diff -urN glib-2.19.2/docs/reference/glib/html/glib.devhelp glib-2.19.2-haiku/docs/reference/glib/html/glib.devhelp
--- glib-2.19.2/docs/reference/glib/html/glib.devhelp 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/html/glib.devhelp 2008-12-18 07:35:30.000000000 -0800
@@ -190,6 +190,7 @@
<function name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<function name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<function name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <function name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<function name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<function name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<function name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.19.2/docs/reference/glib/html/glib.devhelp2 glib-2.19.2-haiku/docs/reference/glib/html/glib.devhelp2
--- glib-2.19.2/docs/reference/glib/html/glib.devhelp2 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/html/glib.devhelp2 2008-12-18 07:35:30.000000000 -0800
@@ -190,6 +190,7 @@
<keyword type="macro" name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<keyword type="macro" name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<keyword type="macro" name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <keyword type="macro" name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<keyword type="macro" name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.19.2/docs/reference/glib/html/ix01.html glib-2.19.2-haiku/docs/reference/glib/html/ix01.html
--- glib-2.19.2/docs/reference/glib/html/ix01.html 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/html/ix01.html 2008-12-18 07:35:30.000000000 -0800
@@ -2115,6 +2115,8 @@
</dt>
<dt>G_OS_BEOS, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS">G_OS_BEOS</a>
</dt>
+<dt>G_OS_HAIKU, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS">G_OS_HAIKU</a>
+</dt>
<dt>G_OS_UNIX, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS">G_OS_UNIX</a>
</dt>
<dt>G_OS_WIN32, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS">G_OS_WIN32</a>
diff -urN glib-2.19.2/docs/reference/glib/tmpl/macros.sgml glib-2.19.2-haiku/docs/reference/glib/tmpl/macros.sgml
--- glib-2.19.2/docs/reference/glib/tmpl/macros.sgml 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/tmpl/macros.sgml 2008-12-18 07:36:44.000000000 -0800
@@ -31,6 +31,19 @@
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para>
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
+
+
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
+
<!-- ##### MACRO G_OS_UNIX ##### -->
diff -urN glib-2.19.2/docs/reference/glib/xml/api-index-full.xml glib-2.19.2-haiku/docs/reference/glib/xml/api-index-full.xml
--- glib-2.19.2/docs/reference/glib/xml/api-index-full.xml 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/xml/api-index-full.xml 2008-12-18 07:35:30.000000000 -0800
@@ -1024,6 +1024,7 @@
<indexentry><primaryie linkends="g-option-group-set-translation-domain"><link linkend="g-option-group-set-translation-domain">g_option_group_set_translation_domain</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OPTION-REMAINING--CAPS"><link linkend="G-OPTION-REMAINING--CAPS">G_OPTION_REMAINING</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-BEOS--CAPS"><link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link></primaryie></indexentry>
+<indexentry><primaryie linkends="G-OS-HAIKU--CAPS"><link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-UNIX--CAPS"><link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-WIN32--CAPS"><link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link></primaryie></indexentry>
</indexdiv>
diff -urN glib-2.19.2/docs/reference/glib/xml/macros.xml glib-2.19.2-haiku/docs/reference/glib/xml/macros.xml
--- glib-2.19.2/docs/reference/glib/xml/macros.xml 2008-12-18 07:13:28.000000000 -0800
+++ glib-2.19.2-haiku/docs/reference/glib/xml/macros.xml 2008-12-18 07:36:44.000000000 -0800
@@ -19,6 +19,7 @@
#define <link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link>
#define <link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link>
+#define <link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link>
#define <link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link>
#define <link linkend="G-DIR-SEPARATOR--CAPS">G_DIR_SEPARATOR</link>
@@ -81,6 +82,14 @@
This macro is defined only on BeOS. So you can bracket
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para></refsect2>
+<refsect2 id="G-OS-HAIKU--CAPS" role="macro">
+<title>G_OS_HAIKU</title>
+<indexterm zone="G-OS-HAIKU--CAPS"><primary sortas="G_OS_HAIKU">G_OS_HAIKU</primary></indexterm><programlisting>#define G_OS_HAIKU
+</programlisting>
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para></refsect2>
<refsect2 id="G-OS-UNIX--CAPS" role="macro">
<title>G_OS_UNIX</title>
<indexterm zone="G-OS-UNIX--CAPS"><primary sortas="OS_UNIX">G_OS_UNIX</primary></indexterm><programlisting>#define G_OS_UNIX
diff -urN glib-2.19.2/gio/gunixinputstream.c glib-2.19.2-haiku/gio/gunixinputstream.c
--- glib-2.19.2/gio/gunixinputstream.c 2008-12-18 07:13:27.000000000 -0800
+++ glib-2.19.2-haiku/gio/gunixinputstream.c 2008-12-18 07:35:30.000000000 -0800
@@ -170,6 +170,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixInputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -220,6 +223,7 @@
}
return res;
+#endif
}
static gboolean
@@ -325,6 +329,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) &&!defined(G_OS_HAIKU)
GSource *source;
GUnixInputStream *unix_stream;
ReadAsyncData *data;
@@ -347,6 +352,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.19.2/gio/gunixmounts.c glib-2.19.2-haiku/gio/gunixmounts.c
--- glib-2.19.2/gio/gunixmounts.c 2008-12-18 07:13:26.000000000 -0800
+++ glib-2.19.2-haiku/gio/gunixmounts.c 2008-12-18 07:36:44.000000000 -0800
@@ -594,6 +594,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -974,6 +984,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -urN glib-2.19.2/gio/gunixoutputstream.c glib-2.19.2-haiku/gio/gunixoutputstream.c
--- glib-2.19.2/gio/gunixoutputstream.c 2008-12-18 07:13:26.000000000 -0800
+++ glib-2.19.2-haiku/gio/gunixoutputstream.c 2008-12-18 07:35:31.000000000 -0800
@@ -158,6 +158,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixOutputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -209,6 +212,7 @@
}
return res;
+#endif
}
static gboolean
@@ -314,6 +318,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GSource *source;
GUnixOutputStream *unix_stream;
WriteAsyncData *data;
@@ -336,6 +341,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.19.2/glib/gbacktrace.c glib-2.19.2-haiku/glib/gbacktrace.c
--- glib-2.19.2/glib/gbacktrace.c 2008-12-18 07:13:31.000000000 -0800
+++ glib-2.19.2-haiku/glib/gbacktrace.c 2008-12-18 07:35:31.000000000 -0800
@@ -158,7 +158,7 @@
void
g_on_error_stack_trace (const gchar *prg_name)
{
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
pid_t pid;
gchar buf[16];
gchar *args[4] = { "gdb", NULL, NULL, NULL };
@@ -193,7 +193,7 @@
#endif
}
-#ifndef G_OS_WIN32
+#if !defined(G_OS_WIN32) && !defined(G_OS_BEOS)
static gboolean stack_trace_done = FALSE;
diff -urN glib-2.19.2/glib/gmain.c glib-2.19.2-haiku/glib/gmain.c
--- glib-2.19.2/glib/gmain.c 2008-12-18 07:13:43.000000000 -0800
+++ glib-2.19.2-haiku/glib/gmain.c 2008-12-18 07:35:31.000000000 -0800
@@ -70,6 +70,12 @@
#include <sys/wait.h>
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include "fcntl.h"
+#endif /* G_OS_HAIKU */
+
#ifdef G_OS_UNIX
#include <fcntl.h>
#include <sys/wait.h>
@@ -3701,6 +3707,7 @@
static void
g_child_watch_source_init_multi_threaded (void)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GError *error = NULL;
struct sigaction action;
@@ -3720,6 +3727,7 @@
sigemptyset (&action.sa_mask);
action.sa_flags = SA_RESTART | SA_NOCLDSTOP;
sigaction (SIGCHLD, &action, NULL);
+#endif
}
static void
diff -urN glib-2.19.2/glib/gslice.c glib-2.19.2-haiku/glib/gslice.c
--- glib-2.19.2/glib/gslice.c 2008-12-18 07:13:55.000000000 -0800
+++ glib-2.19.2-haiku/glib/gslice.c 2008-12-18 07:35:31.000000000 -0800
@@ -302,6 +302,8 @@
GetSystemInfo (&system_info);
sys_page_size = system_info.dwPageSize;
}
+#elif defined(G_OS_BEOS)
+ sys_page_size = 4096;
#else
sys_page_size = sysconf (_SC_PAGESIZE); /* = sysconf (_SC_PAGE_SIZE); = getpagesize(); */
#endif
diff -urN glib-2.19.2/glib/gspawn.c glib-2.19.2-haiku/glib/gspawn.c
--- glib-2.19.2/glib/gspawn.c 2008-12-18 07:13:48.000000000 -0800
+++ glib-2.19.2-haiku/glib/gspawn.c 2008-12-18 07:35:31.000000000 -0800
@@ -238,6 +238,9 @@
gint *exit_status,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return FALSE;
+#else
gint outpipe = -1;
gint errpipe = -1;
GPid pid;
@@ -433,6 +436,7 @@
return TRUE;
}
+#endif
}
/**
@@ -908,7 +912,7 @@
gint fd;
gint res = 0;
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
struct rlimit rl;
#endif
@@ -951,7 +955,7 @@
#endif
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
diff -urN glib-2.19.2/glib/gstdio.c glib-2.19.2-haiku/glib/gstdio.c
--- glib-2.19.2/glib/gstdio.c 2008-12-18 07:13:55.000000000 -0800
+++ glib-2.19.2-haiku/glib/gstdio.c 2008-12-18 07:36:44.000000000 -0800
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined(G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -urN glib-2.19.2/glib/gstrfuncs.c glib-2.19.2-haiku/glib/gstrfuncs.c
--- glib-2.19.2/glib/gstrfuncs.c 2008-12-18 07:13:40.000000000 -0800
+++ glib-2.19.2-haiku/glib/gstrfuncs.c 2008-12-18 07:35:31.000000000 -0800
@@ -1328,7 +1328,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -urN glib-2.19.2/glib/gtester.c glib-2.19.2-haiku/glib/gtester.c
--- glib-2.19.2/glib/gtester.c 2008-12-18 07:13:35.000000000 -0800
+++ glib-2.19.2-haiku/glib/gtester.c 2008-12-18 07:35:31.000000000 -0800
@@ -630,6 +630,7 @@
* we must fiddle with sigaction() *before* glib is used, otherwise
* we could revoke signal hanmdler setups from glib initialization code.
*/
+#ifdef SA_RESTART
if (TRUE)
{
struct sigaction sa;
@@ -639,6 +640,7 @@
sa.sa_flags = SA_RESTART;
sigaction (SIGCHLD, &sa, &osa);
}
+#endif
g_set_prgname (argv[0]);
parse_args (&argc, &argv);
diff -urN glib-2.19.2/glib/gutils.c glib-2.19.2-haiku/glib/gutils.c
--- glib-2.19.2/glib/gutils.c 2008-12-18 07:13:36.000000000 -0800
+++ glib-2.19.2-haiku/glib/gutils.c 2008-12-18 08:28:37.000000000 -0800
@@ -478,7 +478,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
@@ -2311,9 +2311,24 @@
}
#endif /* G_OS_WIN32 */
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+static void
+load_user_special_dirs (void)
+{
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup("$HOME");
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
+}
+#endif /* G_OS_BEOS */
+
static void g_init_user_config_dir (void);
-#if defined(G_OS_UNIX) && !defined(HAVE_CARBON)
+#if defined(G_OS_UNIX) && !defined(HAVE_CARBON) && !defined(G_OS_HAIKU)
/* adapted from xdg-user-dir-lookup.c
*

View File

@@ -1,552 +0,0 @@
diff -urN glib-2.19.6/configure.in glib-2.19.6-haiku/configure.in
--- glib-2.19.6/configure.in 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/configure.in 2009-02-08 07:48:49.000000000 +0000
@@ -112,6 +112,17 @@
esac
AC_MSG_RESULT([$glib_native_beos])
+AC_MSG_CHECKING([for Haiku])
+case $host in
+ *-*-haiku*)
+ glib_native_haiku="yes"
+ ;;
+ *)
+ glib_native_haiku="no"
+ ;;
+esac
+AC_MSG_RESULT([$glib_native_haiku])
+
dnl
AC_MSG_CHECKING([for Win32])
@@ -3301,6 +3312,9 @@
#define G_PLATFORM_WIN32
#define G_WITH_CYGWIN"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU"
+ ;;
*-*-mingw*)
glib_os="#define G_OS_WIN32
#define G_PLATFORM_WIN32"
diff -urN glib-2.19.6/docs/reference/glib/glib-overrides.txt glib-2.19.6-haiku/docs/reference/glib/glib-overrides.txt
--- glib-2.19.6/docs/reference/glib/glib-overrides.txt 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/glib-overrides.txt 2009-02-08 07:48:49.000000000 +0000
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -urN glib-2.19.6/docs/reference/glib/glib-sections.txt glib-2.19.6-haiku/docs/reference/glib/glib-sections.txt
--- glib-2.19.6/docs/reference/glib/glib-sections.txt 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/glib-sections.txt 2009-02-08 07:48:49.000000000 +0000
@@ -126,6 +126,7 @@
<SUBSECTION>
G_OS_WIN32
G_OS_BEOS
+G_OS_HAIKU
G_OS_UNIX
<SUBSECTION>
diff -urN glib-2.19.6/docs/reference/glib/html/glib-Standard-Macros.html glib-2.19.6-haiku/docs/reference/glib/html/glib-Standard-Macros.html
--- glib-2.19.6/docs/reference/glib/html/glib-Standard-Macros.html 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/html/glib-Standard-Macros.html 2009-02-08 07:48:49.000000000 +0000
@@ -61,6 +61,7 @@
#define <a class="link" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS" title="G_OS_WIN32">G_OS_WIN32</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS" title="G_OS_BEOS">G_OS_BEOS</a>
+#define <a class="link" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS" title="G_OS_HAIKU">G_OS_HAIKU</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS" title="G_OS_UNIX">G_OS_UNIX</a>
#define <a class="link" href="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS" title="G_DIR_SEPARATOR">G_DIR_SEPARATOR</a>
@@ -116,6 +117,15 @@
BeOS-specific code in "#ifdef G_OS_BEOS".
</p>
</div>
+<div class="refsect2" lang="en">
+<a name="G-OS-HAIKU--CAPS"></a><h3>G_OS_HAIKU</h3>
+<pre class="programlisting">#define G_OS_HAIKU
+</pre>
+<p>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "#ifdef G_OS_HAIKU".
+</p>
+</div>
<hr>
<div class="refsect2" lang="en">
<a name="G-OS-UNIX--CAPS"></a><h3>G_OS_UNIX</h3>
diff -urN glib-2.19.6/docs/reference/glib/html/glib.devhelp glib-2.19.6-haiku/docs/reference/glib/html/glib.devhelp
--- glib-2.19.6/docs/reference/glib/html/glib.devhelp 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/html/glib.devhelp 2009-02-08 07:48:49.000000000 +0000
@@ -191,6 +191,7 @@
<function name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<function name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<function name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <function name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<function name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<function name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<function name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.19.6/docs/reference/glib/html/glib.devhelp2 glib-2.19.6-haiku/docs/reference/glib/html/glib.devhelp2
--- glib-2.19.6/docs/reference/glib/html/glib.devhelp2 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/html/glib.devhelp2 2009-02-08 07:48:49.000000000 +0000
@@ -191,6 +191,7 @@
<keyword type="macro" name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<keyword type="macro" name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<keyword type="macro" name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <keyword type="macro" name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<keyword type="macro" name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.19.6/docs/reference/glib/html/ix01.html glib-2.19.6-haiku/docs/reference/glib/html/ix01.html
--- glib-2.19.6/docs/reference/glib/html/ix01.html 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/html/ix01.html 2009-02-08 07:48:50.000000000 +0000
@@ -2121,6 +2121,8 @@
</dt>
<dt>G_OS_BEOS, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS">G_OS_BEOS</a>
</dt>
+<dt>G_OS_HAIKU, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS">G_OS_HAIKU</a>
+</dt>
<dt>G_OS_UNIX, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS">G_OS_UNIX</a>
</dt>
<dt>G_OS_WIN32, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS">G_OS_WIN32</a>
diff -urN glib-2.19.6/docs/reference/glib/tmpl/macros.sgml glib-2.19.6-haiku/docs/reference/glib/tmpl/macros.sgml
--- glib-2.19.6/docs/reference/glib/tmpl/macros.sgml 2009-02-08 07:46:22.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/tmpl/macros.sgml 2009-02-08 07:48:50.000000000 +0000
@@ -33,6 +33,14 @@
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
+
+
+
<!-- ##### MACRO G_OS_UNIX ##### -->
<para>
This macro is defined only on UNIX. So you can bracket
diff -urN glib-2.19.6/docs/reference/glib/xml/api-index-full.xml glib-2.19.6-haiku/docs/reference/glib/xml/api-index-full.xml
--- glib-2.19.6/docs/reference/glib/xml/api-index-full.xml 2009-02-08 07:46:23.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/xml/api-index-full.xml 2009-02-08 07:48:50.000000000 +0000
@@ -1027,6 +1027,7 @@
<indexentry><primaryie linkends="g-option-group-set-translation-domain"><link linkend="g-option-group-set-translation-domain">g_option_group_set_translation_domain</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OPTION-REMAINING--CAPS"><link linkend="G-OPTION-REMAINING--CAPS">G_OPTION_REMAINING</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-BEOS--CAPS"><link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link></primaryie></indexentry>
+<indexentry><primaryie linkends="G-OS-HAIKU--CAPS"><link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-UNIX--CAPS"><link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-WIN32--CAPS"><link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link></primaryie></indexentry>
</indexdiv>
diff -urN glib-2.19.6/docs/reference/glib/xml/macros.xml glib-2.19.6-haiku/docs/reference/glib/xml/macros.xml
--- glib-2.19.6/docs/reference/glib/xml/macros.xml 2009-02-08 07:46:23.000000000 +0000
+++ glib-2.19.6-haiku/docs/reference/glib/xml/macros.xml 2009-02-08 07:48:50.000000000 +0000
@@ -19,6 +19,7 @@
#define <link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link>
#define <link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link>
+#define <link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link>
#define <link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link>
#define <link linkend="G-DIR-SEPARATOR--CAPS">G_DIR_SEPARATOR</link>
@@ -81,6 +82,14 @@
This macro is defined only on BeOS. So you can bracket
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para></refsect2>
+<refsect2 id="G-OS-HAIKU--CAPS" role="macro">
+<title>G_OS_HAIKU</title>
+<indexterm zone="G-OS-HAIKU--CAPS"><primary sortas="G_OS_HAIKU">G_OS_HAIKU</primary></indexterm><programlisting>#define G_OS_HAIKU
+</programlisting>
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para></refsect2>
<refsect2 id="G-OS-UNIX--CAPS" role="macro">
<title>G_OS_UNIX</title>
<indexterm zone="G-OS-UNIX--CAPS"><primary sortas="OS_UNIX">G_OS_UNIX</primary></indexterm><programlisting>#define G_OS_UNIX
diff -urN glib-2.19.6/gio/Makefile.am glib-2.19.6-haiku/gio/Makefile.am
--- glib-2.19.6/gio/Makefile.am 2009-02-08 07:46:25.000000000 +0000
+++ glib-2.19.6-haiku/gio/Makefile.am 2009-02-08 07:48:50.000000000 +0000
@@ -162,7 +162,7 @@
endif
-SUBDIRS += tests
+#SUBDIRS += tests
libgio_2_0_la_SOURCES = \
gappinfo.c \
diff -urN glib-2.19.6/gio/gunixinputstream.c glib-2.19.6-haiku/gio/gunixinputstream.c
--- glib-2.19.6/gio/gunixinputstream.c 2009-02-08 07:46:42.000000000 +0000
+++ glib-2.19.6-haiku/gio/gunixinputstream.c 2009-02-08 07:48:50.000000000 +0000
@@ -333,6 +333,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixInputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -383,6 +386,7 @@
}
return res;
+#endif
}
static gboolean
@@ -488,6 +492,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) &&!defined(G_OS_HAIKU)
GSource *source;
GUnixInputStream *unix_stream;
ReadAsyncData *data;
@@ -510,6 +515,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.19.6/gio/gunixmounts.c glib-2.19.6-haiku/gio/gunixmounts.c
--- glib-2.19.6/gio/gunixmounts.c 2009-02-08 07:46:42.000000000 +0000
+++ glib-2.19.6-haiku/gio/gunixmounts.c 2009-02-08 07:48:50.000000000 +0000
@@ -597,6 +597,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -975,6 +985,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -urN glib-2.19.6/gio/gunixoutputstream.c glib-2.19.6-haiku/gio/gunixoutputstream.c
--- glib-2.19.6/gio/gunixoutputstream.c 2009-02-08 07:46:25.000000000 +0000
+++ glib-2.19.6-haiku/gio/gunixoutputstream.c 2009-02-08 07:48:50.000000000 +0000
@@ -319,6 +319,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixOutputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -370,6 +373,7 @@
}
return res;
+#endif
}
static gboolean
@@ -475,6 +479,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GSource *source;
GUnixOutputStream *unix_stream;
WriteAsyncData *data;
@@ -497,6 +502,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.19.6/gio/makegioalias.pl glib-2.19.6-haiku/gio/makegioalias.pl
--- glib-2.19.6/gio/makegioalias.pl 2009-02-08 07:46:42.000000000 +0000
+++ glib-2.19.6-haiku/gio/makegioalias.pl 2009-02-08 07:48:50.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -urN glib-2.19.6/gio/xdgmime/xdgmimealias.c glib-2.19.6-haiku/gio/xdgmime/xdgmimealias.c
--- glib-2.19.6/gio/xdgmime/xdgmimealias.c 2009-02-08 07:46:42.000000000 +0000
+++ glib-2.19.6-haiku/gio/xdgmime/xdgmimealias.c 2009-02-08 07:48:50.000000000 +0000
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -urN glib-2.19.6/gio/xdgmime/xdgmimecache.c glib-2.19.6-haiku/gio/xdgmime/xdgmimecache.c
--- glib-2.19.6/gio/xdgmime/xdgmimecache.c 2009-02-08 07:46:42.000000000 +0000
+++ glib-2.19.6-haiku/gio/xdgmime/xdgmimecache.c 2009-02-08 07:48:50.000000000 +0000
@@ -35,7 +35,7 @@
#include <fcntl.h>
#include <unistd.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#include <assert.h>
#include <netinet/in.h> /* for ntohl/ntohs */
diff -urN glib-2.19.6/gio/xdgmime/xdgmimeparent.c glib-2.19.6-haiku/gio/xdgmime/xdgmimeparent.c
--- glib-2.19.6/gio/xdgmime/xdgmimeparent.c 2009-02-08 07:46:42.000000000 +0000
+++ glib-2.19.6-haiku/gio/xdgmime/xdgmimeparent.c 2009-02-08 07:48:50.000000000 +0000
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -urN glib-2.19.6/glib/Makefile.am glib-2.19.6-haiku/glib/Makefile.am
--- glib-2.19.6/glib/Makefile.am 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/Makefile.am 2009-02-08 07:48:50.000000000 +0000
@@ -19,7 +19,7 @@
gregex_h =
endif
-SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
+SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre .
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
diff -urN glib-2.19.6/glib/gbacktrace.c glib-2.19.6-haiku/glib/gbacktrace.c
--- glib-2.19.6/glib/gbacktrace.c 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/gbacktrace.c 2009-02-08 07:48:50.000000000 +0000
@@ -158,7 +158,7 @@
void
g_on_error_stack_trace (const gchar *prg_name)
{
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
pid_t pid;
gchar buf[16];
gchar *args[4] = { "gdb", NULL, NULL, NULL };
@@ -193,7 +193,7 @@
#endif
}
-#ifndef G_OS_WIN32
+#if !defined(G_OS_WIN32) && !defined(G_OS_BEOS)
static gboolean stack_trace_done = FALSE;
diff -urN glib-2.19.6/glib/gmain.c glib-2.19.6-haiku/glib/gmain.c
--- glib-2.19.6/glib/gmain.c 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/gmain.c 2009-02-08 07:48:51.000000000 +0000
@@ -70,6 +70,12 @@
#include <sys/wait.h>
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include "fcntl.h"
+#endif /* G_OS_HAIKU */
+
#ifdef G_OS_UNIX
#include <fcntl.h>
#include <sys/wait.h>
@@ -3699,6 +3705,7 @@
static void
g_child_watch_source_init_multi_threaded (void)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GError *error = NULL;
struct sigaction action;
@@ -3718,6 +3725,7 @@
sigemptyset (&action.sa_mask);
action.sa_flags = SA_RESTART | SA_NOCLDSTOP;
sigaction (SIGCHLD, &action, NULL);
+#endif
}
static void
diff -urN glib-2.19.6/glib/gslice.c glib-2.19.6-haiku/glib/gslice.c
--- glib-2.19.6/glib/gslice.c 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/gslice.c 2009-02-08 07:48:51.000000000 +0000
@@ -302,6 +302,8 @@
GetSystemInfo (&system_info);
sys_page_size = system_info.dwPageSize;
}
+#elif defined(G_OS_BEOS)
+ sys_page_size = 4096;
#else
sys_page_size = sysconf (_SC_PAGESIZE); /* = sysconf (_SC_PAGE_SIZE); = getpagesize(); */
#endif
diff -urN glib-2.19.6/glib/gspawn.c glib-2.19.6-haiku/glib/gspawn.c
--- glib-2.19.6/glib/gspawn.c 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/gspawn.c 2009-02-08 07:48:51.000000000 +0000
@@ -238,6 +238,9 @@
gint *exit_status,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return FALSE;
+#else
gint outpipe = -1;
gint errpipe = -1;
GPid pid;
@@ -433,6 +436,7 @@
return TRUE;
}
+#endif
}
/**
@@ -909,7 +913,7 @@
gint fd;
gint res = 0;
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
struct rlimit rl;
#endif
@@ -952,7 +956,7 @@
#endif
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
diff -urN glib-2.19.6/glib/gstdio.c glib-2.19.6-haiku/glib/gstdio.c
--- glib-2.19.6/glib/gstdio.c 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/gstdio.c 2009-02-08 07:48:51.000000000 +0000
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined(G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -urN glib-2.19.6/glib/gstrfuncs.c glib-2.19.6-haiku/glib/gstrfuncs.c
--- glib-2.19.6/glib/gstrfuncs.c 2009-02-08 07:46:23.000000000 +0000
+++ glib-2.19.6-haiku/glib/gstrfuncs.c 2009-02-08 07:48:51.000000000 +0000
@@ -1410,7 +1410,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -urN glib-2.19.6/glib/gtester.c glib-2.19.6-haiku/glib/gtester.c
--- glib-2.19.6/glib/gtester.c 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/gtester.c 2009-02-08 07:48:51.000000000 +0000
@@ -630,6 +630,7 @@
* we must fiddle with sigaction() *before* glib is used, otherwise
* we could revoke signal hanmdler setups from glib initialization code.
*/
+#ifdef SA_RESTART
if (TRUE)
{
struct sigaction sa;
@@ -639,6 +640,7 @@
sa.sa_flags = SA_RESTART;
sigaction (SIGCHLD, &sa, &osa);
}
+#endif
g_set_prgname (argv[0]);
parse_args (&argc, &argv);
diff -urN glib-2.19.6/glib/gutils.c glib-2.19.6-haiku/glib/gutils.c
--- glib-2.19.6/glib/gutils.c 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/gutils.c 2009-02-08 07:48:51.000000000 +0000
@@ -478,7 +478,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
@@ -2311,6 +2311,21 @@
}
#endif /* G_OS_WIN32 */
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+static void
+load_user_special_dirs (void)
+{
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup("$HOME");
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
+}
+#endif /* G_OS_BEOS */
+
static void g_init_user_config_dir (void);
#if defined(G_OS_UNIX) && !defined(HAVE_CARBON)
diff -urN glib-2.19.6/glib/makegalias.pl glib-2.19.6-haiku/glib/makegalias.pl
--- glib-2.19.6/glib/makegalias.pl 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/glib/makegalias.pl 2009-02-08 07:48:51.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -urN glib-2.19.6/gobject/makegobjectalias.pl glib-2.19.6-haiku/gobject/makegobjectalias.pl
--- glib-2.19.6/gobject/makegobjectalias.pl 2009-02-08 07:46:24.000000000 +0000
+++ glib-2.19.6-haiku/gobject/makegobjectalias.pl 2009-02-08 07:48:51.000000000 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;

View File

@@ -1,578 +0,0 @@
diff -urN glib-2.22.2/configure.in glib-2.22.2-haiku/configure.in
--- glib-2.22.2/configure.in 2009-10-07 06:29:47.000000000 -0700
+++ glib-2.22.2-haiku/configure.in 2009-11-20 08:22:30.000000000 -0800
@@ -116,6 +116,17 @@
esac
AC_MSG_RESULT([$glib_native_beos])
+AC_MSG_CHECKING([for Haiku])
+case $host in
+ *-*-haiku*)
+ glib_native_haiku="yes"
+ ;;
+ *)
+ glib_native_haiku="no"
+ ;;
+esac
+AC_MSG_RESULT([$glib_native_haiku])
+
dnl
AC_MSG_CHECKING([for Win32])
@@ -998,6 +1009,8 @@
AC_CHECK_HEADERS([netdb.h winsock2.h mswsock.h])
# For gio/libasyncns
+
+if test $glib_native_haiku = no; then
if test $glib_native_win32 = no; then
AC_CHECK_FUNCS(strndup setresuid setreuid)
AC_CHECK_HEADERS(sys/prctl.h arpa/nameser_compat.h)
@@ -1019,6 +1032,7 @@
]
)
AC_SUBST(LIBASYNCNS_LIBADD)
+fi else LIBS="-lnetwork $LIBS"
fi
case $host in
@@ -2682,8 +2696,6 @@
dnl *** Checks for gtk-doc ***
dnl **************************
-GTK_DOC_CHECK([1.11])
-
AC_ARG_ENABLE(man,
[AC_HELP_STRING([--enable-man],
[regenerate man pages from Docbook [default=no]])],enable_man=yes,
@@ -3410,6 +3422,9 @@
#define G_PLATFORM_WIN32
#define G_WITH_CYGWIN"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU"
+ ;;
*-*-mingw*)
glib_os="#define G_OS_WIN32
#define G_PLATFORM_WIN32"
diff -urN glib-2.22.2/docs/reference/glib/glib-overrides.txt glib-2.22.2-haiku/docs/reference/glib/glib-overrides.txt
--- glib-2.22.2/docs/reference/glib/glib-overrides.txt 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/glib-overrides.txt 2009-11-20 08:30:36.000000000 -0800
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -urN glib-2.22.2/docs/reference/glib/glib-sections.txt glib-2.22.2-haiku/docs/reference/glib/glib-sections.txt
--- glib-2.22.2/docs/reference/glib/glib-sections.txt 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/glib-sections.txt 2009-11-20 08:30:43.000000000 -0800
@@ -130,6 +130,7 @@
<SUBSECTION>
G_OS_WIN32
G_OS_BEOS
+G_OS_HAIKU
G_OS_UNIX
<SUBSECTION>
diff -urN glib-2.22.2/docs/reference/glib/html/glib-Standard-Macros.html glib-2.22.2-haiku/docs/reference/glib/html/glib-Standard-Macros.html
--- glib-2.22.2/docs/reference/glib/html/glib-Standard-Macros.html 2009-10-07 07:08:12.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/glib-Standard-Macros.html 2009-11-20 08:30:50.000000000 -0800
@@ -62,6 +62,7 @@
#define <a class="link" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS" title="G_OS_WIN32">G_OS_WIN32</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS" title="G_OS_BEOS">G_OS_BEOS</a>
+#define <a class="link" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS" title="G_OS_HAIKU">G_OS_HAIKU</a>
#define <a class="link" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS" title="G_OS_UNIX">G_OS_UNIX</a>
#define <a class="link" href="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS" title="G_DIR_SEPARATOR">G_DIR_SEPARATOR</a>
@@ -117,6 +118,15 @@
BeOS-specific code in "#ifdef G_OS_BEOS".
</p>
</div>
+<div class="refsect2" lang="en">
+<a name="G-OS-HAIKU--CAPS"></a><h3>G_OS_HAIKU</h3>
+<pre class="programlisting">#define G_OS_HAIKU
+</pre>
+<p>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "#ifdef G_OS_HAIKU".
+</p>
+</div>
<hr>
<div class="refsect2" title="G_OS_UNIX">
<a name="G-OS-UNIX--CAPS"></a><h3>G_OS_UNIX</h3>
diff -urN glib-2.22.2/docs/reference/glib/html/glib.devhelp glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp
--- glib-2.22.2/docs/reference/glib/html/glib.devhelp 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp 2009-11-20 08:30:55.000000000 -0800
@@ -196,6 +196,7 @@
<function name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<function name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<function name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <function name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<function name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<function name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<function name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.22.2/docs/reference/glib/html/glib.devhelp2 glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp2
--- glib-2.22.2/docs/reference/glib/html/glib.devhelp2 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/glib.devhelp2 2009-11-20 08:31:04.000000000 -0800
@@ -196,6 +196,7 @@
<keyword type="macro" name="G_MAXDOUBLE" link="glib-Limits-of-Basic-Types.html#G-MAXDOUBLE--CAPS"/>
<keyword type="macro" name="G_OS_WIN32" link="glib-Standard-Macros.html#G-OS-WIN32--CAPS"/>
<keyword type="macro" name="G_OS_BEOS" link="glib-Standard-Macros.html#G-OS-BEOS--CAPS"/>
+ <keyword type="macro" name="G_OS_HAIKU" link="glib-Standard-Macros.html#G-OS-HAIKU--CAPS"/>
<keyword type="macro" name="G_OS_UNIX" link="glib-Standard-Macros.html#G-OS-UNIX--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR" link="glib-Standard-Macros.html#G-DIR-SEPARATOR--CAPS"/>
<keyword type="macro" name="G_DIR_SEPARATOR_S" link="glib-Standard-Macros.html#G-DIR-SEPARATOR-S--CAPS"/>
diff -urN glib-2.22.2/docs/reference/glib/html/ix01.html glib-2.22.2-haiku/docs/reference/glib/html/ix01.html
--- glib-2.22.2/docs/reference/glib/html/ix01.html 2009-10-07 07:08:12.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/html/ix01.html 2009-11-20 08:31:11.000000000 -0800
@@ -2174,6 +2174,8 @@
</dt>
<dt>G_OS_BEOS, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-BEOS--CAPS">G_OS_BEOS</a>
</dt>
+<dt>G_OS_HAIKU, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-HAIKU--CAPS">G_OS_HAIKU</a>
+</dt>
<dt>G_OS_UNIX, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-UNIX--CAPS">G_OS_UNIX</a>
</dt>
<dt>G_OS_WIN32, <a class="indexterm" href="glib-Standard-Macros.html#G-OS-WIN32--CAPS">G_OS_WIN32</a>
diff -urN glib-2.22.2/docs/reference/glib/tmpl/macros.sgml glib-2.22.2-haiku/docs/reference/glib/tmpl/macros.sgml
--- glib-2.22.2/docs/reference/glib/tmpl/macros.sgml 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/tmpl/macros.sgml 2009-11-20 08:31:16.000000000 -0800
@@ -33,6 +33,14 @@
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
+
+
+
<!-- ##### MACRO G_OS_UNIX ##### -->
<para>
This macro is defined only on UNIX. So you can bracket
diff -urN glib-2.22.2/docs/reference/glib/xml/api-index-full.xml glib-2.22.2-haiku/docs/reference/glib/xml/api-index-full.xml
--- glib-2.22.2/docs/reference/glib/xml/api-index-full.xml 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/xml/api-index-full.xml 2009-11-20 08:31:23.000000000 -0800
@@ -1053,6 +1053,7 @@
<indexentry><primaryie linkends="g-option-group-set-translation-domain"><link linkend="g-option-group-set-translation-domain">g_option_group_set_translation_domain</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OPTION-REMAINING--CAPS"><link linkend="G-OPTION-REMAINING--CAPS">G_OPTION_REMAINING</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-BEOS--CAPS"><link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link></primaryie></indexentry>
+<indexentry><primaryie linkends="G-OS-HAIKU--CAPS"><link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-UNIX--CAPS"><link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link></primaryie></indexentry>
<indexentry><primaryie linkends="G-OS-WIN32--CAPS"><link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link></primaryie></indexentry>
</indexdiv>
diff -urN glib-2.22.2/docs/reference/glib/xml/macros.xml glib-2.22.2-haiku/docs/reference/glib/xml/macros.xml
--- glib-2.22.2/docs/reference/glib/xml/macros.xml 2009-10-07 07:08:11.000000000 -0700
+++ glib-2.22.2-haiku/docs/reference/glib/xml/macros.xml 2009-11-20 08:31:29.000000000 -0800
@@ -19,6 +19,7 @@
#define <link linkend="G-OS-WIN32--CAPS">G_OS_WIN32</link>
#define <link linkend="G-OS-BEOS--CAPS">G_OS_BEOS</link>
+#define <link linkend="G-OS-HAIKU--CAPS">G_OS_HAIKU</link>
#define <link linkend="G-OS-UNIX--CAPS">G_OS_UNIX</link>
#define <link linkend="G-DIR-SEPARATOR--CAPS">G_DIR_SEPARATOR</link>
@@ -81,6 +82,14 @@
This macro is defined only on BeOS. So you can bracket
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para></refsect2>
+<refsect2 id="G-OS-HAIKU--CAPS" role="macro">
+<title>G_OS_HAIKU</title>
+<indexterm zone="G-OS-HAIKU--CAPS"><primary sortas="G_OS_HAIKU">G_OS_HAIKU</primary></indexterm><programlisting>#define G_OS_HAIKU
+</programlisting>
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para></refsect2>
<refsect2 id="G-OS-UNIX--CAPS" role="macro">
<title>G_OS_UNIX</title>
<indexterm zone="G-OS-UNIX--CAPS"><primary sortas="OS_UNIX">G_OS_UNIX</primary></indexterm><programlisting>#define G_OS_UNIX
diff -urN glib-2.22.2/gio/Makefile.am glib-2.22.2-haiku/gio/Makefile.am
--- glib-2.22.2/gio/Makefile.am 2009-09-29 20:08:03.000000000 -0700
+++ glib-2.22.2-haiku/gio/Makefile.am 2009-11-20 08:31:42.000000000 -0800
@@ -174,7 +174,7 @@
endif
-SUBDIRS += tests
+#SUBDIRS += tests
libgio_2_0_la_SOURCES = \
gappinfo.c \
diff -urN glib-2.22.2/gio/gunixinputstream.c glib-2.22.2-haiku/gio/gunixinputstream.c
--- glib-2.22.2/gio/gunixinputstream.c 2009-09-18 16:20:05.000000000 -0700
+++ glib-2.22.2-haiku/gio/gunixinputstream.c 2009-11-20 08:31:46.000000000 -0800
@@ -329,6 +329,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixInputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -379,6 +382,7 @@
}
return res;
+#endif
}
static gboolean
@@ -484,6 +488,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) &&!defined(G_OS_HAIKU)
GSource *source;
GUnixInputStream *unix_stream;
ReadAsyncData *data;
@@ -506,6 +511,7 @@
g_source_attach (source, g_main_context_get_thread_default ());
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.22.2/gio/gunixmounts.c glib-2.22.2-haiku/gio/gunixmounts.c
--- glib-2.22.2/gio/gunixmounts.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/gunixmounts.c 2009-11-20 08:31:51.000000000 -0800
@@ -656,6 +656,16 @@
return return_list;
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -1040,6 +1050,16 @@
{
return _g_get_unix_mounts ();
}
+
+#elif defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -urN glib-2.22.2/gio/gunixoutputstream.c glib-2.22.2-haiku/gio/gunixoutputstream.c
--- glib-2.22.2/gio/gunixoutputstream.c 2009-09-18 16:20:05.000000000 -0700
+++ glib-2.22.2-haiku/gio/gunixoutputstream.c 2009-11-20 08:31:56.000000000 -0800
@@ -315,6 +315,9 @@
GCancellable *cancellable,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return -1;
+#else
GUnixOutputStream *unix_stream;
gssize res;
GPollFD poll_fds[2];
@@ -366,6 +369,7 @@
}
return res;
+#endif
}
static gboolean
@@ -471,6 +475,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GSource *source;
GUnixOutputStream *unix_stream;
WriteAsyncData *data;
@@ -493,6 +498,7 @@
g_source_attach (source, g_main_context_get_thread_default ());
g_source_unref (source);
+#endif
}
static gssize
diff -urN glib-2.22.2/gio/makegioalias.pl glib-2.22.2-haiku/gio/makegioalias.pl
--- glib-2.22.2/gio/makegioalias.pl 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/makegioalias.pl 2009-11-20 08:32:01.000000000 -0800
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -urN glib-2.22.2/gio/xdgmime/xdgmimealias.c glib-2.22.2-haiku/gio/xdgmime/xdgmimealias.c
--- glib-2.22.2/gio/xdgmime/xdgmimealias.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/xdgmime/xdgmimealias.c 2009-11-20 08:32:06.000000000 -0800
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -urN glib-2.22.2/gio/xdgmime/xdgmimecache.c glib-2.22.2-haiku/gio/xdgmime/xdgmimecache.c
--- glib-2.22.2/gio/xdgmime/xdgmimecache.c 2009-10-06 13:07:59.000000000 -0700
+++ glib-2.22.2-haiku/gio/xdgmime/xdgmimecache.c 2009-11-20 08:32:10.000000000 -0800
@@ -34,7 +34,7 @@
#include <fcntl.h>
#include <unistd.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#include <assert.h>
#include <netinet/in.h> /* for ntohl/ntohs */
diff -urN glib-2.22.2/gio/xdgmime/xdgmimeparent.c glib-2.22.2-haiku/gio/xdgmime/xdgmimeparent.c
--- glib-2.22.2/gio/xdgmime/xdgmimeparent.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gio/xdgmime/xdgmimeparent.c 2009-11-20 08:32:15.000000000 -0800
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
diff -urN glib-2.22.2/glib/Makefile.am glib-2.22.2-haiku/glib/Makefile.am
--- glib-2.22.2/glib/Makefile.am 2009-09-29 20:08:03.000000000 -0700
+++ glib-2.22.2-haiku/glib/Makefile.am 2009-11-20 08:32:21.000000000 -0800
@@ -19,7 +19,7 @@
gregex_h =
endif
-SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
+SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre .
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
diff -urN glib-2.22.2/glib/gbacktrace.c glib-2.22.2-haiku/glib/gbacktrace.c
--- glib-2.22.2/glib/gbacktrace.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gbacktrace.c 2009-11-20 08:32:30.000000000 -0800
@@ -158,7 +158,7 @@
void
g_on_error_stack_trace (const gchar *prg_name)
{
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
pid_t pid;
gchar buf[16];
gchar *args[4] = { "gdb", NULL, NULL, NULL };
@@ -193,7 +193,7 @@
#endif
}
-#ifndef G_OS_WIN32
+#if !defined(G_OS_WIN32) && !defined(G_OS_BEOS)
static gboolean stack_trace_done = FALSE;
diff -urN glib-2.22.2/glib/gmain.c glib-2.22.2-haiku/glib/gmain.c
--- glib-2.22.2/glib/gmain.c 2009-08-28 19:52:23.000000000 -0700
+++ glib-2.22.2-haiku/glib/gmain.c 2009-11-20 08:32:34.000000000 -0800
@@ -72,6 +72,12 @@
#include <sys/wait.h>
#endif /* G_OS_BEOS */
+#ifdef G_OS_HAIKU
+#include <sys/socket.h>
+#include <sys/wait.h>
+#include "fcntl.h"
+#endif /* G_OS_HAIKU */
+
#ifdef G_OS_UNIX
#include <fcntl.h>
#include <sys/wait.h>
@@ -3842,6 +3848,7 @@
static void
g_child_watch_source_init_multi_threaded (void)
{
+#if !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
GError *error = NULL;
struct sigaction action;
@@ -3861,6 +3868,7 @@
sigemptyset (&action.sa_mask);
action.sa_flags = SA_RESTART | SA_NOCLDSTOP;
sigaction (SIGCHLD, &action, NULL);
+#endif
}
static void
diff -urN glib-2.22.2/glib/gslice.c glib-2.22.2-haiku/glib/gslice.c
--- glib-2.22.2/glib/gslice.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gslice.c 2009-11-20 08:32:42.000000000 -0800
@@ -302,6 +302,8 @@
GetSystemInfo (&system_info);
sys_page_size = system_info.dwPageSize;
}
+#elif defined(G_OS_BEOS)
+ sys_page_size = 4096;
#else
sys_page_size = sysconf (_SC_PAGESIZE); /* = sysconf (_SC_PAGE_SIZE); = getpagesize(); */
#endif
diff -urN glib-2.22.2/glib/gspawn.c glib-2.22.2-haiku/glib/gspawn.c
--- glib-2.22.2/glib/gspawn.c 2009-08-27 20:51:21.000000000 -0700
+++ glib-2.22.2-haiku/glib/gspawn.c 2009-11-20 08:32:46.000000000 -0800
@@ -240,6 +240,9 @@
gint *exit_status,
GError **error)
{
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+ return FALSE;
+#else
gint outpipe = -1;
gint errpipe = -1;
GPid pid;
@@ -439,6 +442,7 @@
return TRUE;
}
+#endif
}
/**
@@ -915,7 +919,7 @@
gint fd;
gint res = 0;
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
struct rlimit rl;
#endif
@@ -958,7 +962,7 @@
#endif
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS) && !defined(G_OS_HAIKU)
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
diff -urN glib-2.22.2/glib/gstdio.c glib-2.22.2-haiku/glib/gstdio.c
--- glib-2.22.2/glib/gstdio.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gstdio.c 2009-11-20 08:32:50.000000000 -0800
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined(G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -urN glib-2.22.2/glib/gstrfuncs.c glib-2.22.2-haiku/glib/gstrfuncs.c
--- glib-2.22.2/glib/gstrfuncs.c 2009-08-27 20:48:13.000000000 -0700
+++ glib-2.22.2-haiku/glib/gstrfuncs.c 2009-11-20 08:32:55.000000000 -0800
@@ -1410,7 +1410,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -urN glib-2.22.2/glib/gtester.c glib-2.22.2-haiku/glib/gtester.c
--- glib-2.22.2/glib/gtester.c 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/gtester.c 2009-11-20 08:32:59.000000000 -0800
@@ -630,6 +630,7 @@
* we must fiddle with sigaction() *before* glib is used, otherwise
* we could revoke signal hanmdler setups from glib initialization code.
*/
+#ifdef SA_RESTART
if (TRUE)
{
struct sigaction sa;
@@ -639,6 +640,7 @@
sa.sa_flags = SA_RESTART;
sigaction (SIGCHLD, &sa, &osa);
}
+#endif
g_set_prgname (argv[0]);
parse_args (&argc, &argv);
diff -urN glib-2.22.2/glib/gutils.c glib-2.22.2-haiku/glib/gutils.c
--- glib-2.22.2/glib/gutils.c 2009-08-28 19:52:23.000000000 -0700
+++ glib-2.22.2-haiku/glib/gutils.c 2009-11-20 08:33:03.000000000 -0800
@@ -478,7 +478,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
@@ -2311,6 +2311,21 @@
}
#endif /* G_OS_WIN32 */
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU)
+static void
+load_user_special_dirs (void)
+{
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup("$HOME");
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup("$HOME/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
+}
+#endif /* G_OS_BEOS */
+
static void g_init_user_config_dir (void);
#if defined(G_OS_UNIX) && !defined(HAVE_CARBON)
diff -urN glib-2.22.2/glib/makegalias.pl glib-2.22.2-haiku/glib/makegalias.pl
--- glib-2.22.2/glib/makegalias.pl 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/glib/makegalias.pl 2009-11-20 08:33:08.000000000 -0800
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
diff -urN glib-2.22.2/gobject/makegobjectalias.pl glib-2.22.2-haiku/gobject/makegobjectalias.pl
--- glib-2.22.2/gobject/makegobjectalias.pl 2009-03-31 16:04:20.000000000 -0700
+++ glib-2.22.2-haiku/gobject/makegobjectalias.pl 2009-11-20 08:33:14.000000000 -0800
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;

View File

@@ -1,273 +0,0 @@
diff -urN glib-2.24.1/configure.in glib-2.24.1-haiku/configure.in
--- glib-2.24.1/configure.in 2010-05-02 23:58:58.044040192 +0000
+++ glib-2.24.1-haiku/configure.in 2010-06-06 21:09:40.325582848 +0000
@@ -140,6 +140,10 @@
;;
esac
;;
+ *-*-haiku*)
+ glib_native_win32=no
+ glib_pid_type='signed long int'
+ ;;
*)
glib_native_win32=no
glib_pid_type=int
@@ -375,7 +379,7 @@
AC_PATH_PROG(PERL_PATH, [$PERL])
fi
if test "x$PERL_PATH" = x ; then
- PERL_PATH="/usr/bin/env perl"
+ PERL_PATH="/bin/env perl"
fi
AC_SUBST(PERL_PATH)
@@ -1023,14 +1027,14 @@
[res_query("test", 0, 0, (void *)0, 0);],
[AC_MSG_RESULT([yes])],
[save_libs="$LIBS"
- LIBS="-lresolv $LIBS"
+ LIBS="-lnetwork $LIBS"
AC_TRY_LINK([#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>],
[res_query("test", 0, 0, (void *)0, 0);],
- [AC_MSG_RESULT([in -lresolv])
- LIBASYNCNS_LIBADD="-lresolv"],
+ [AC_MSG_RESULT([in -lnetwork])
+ LIBASYNCNS_LIBADD="-lnetwork"],
[LIBS="-lbind $save_libs"
AC_TRY_LINK([#include <resolv.h>],
[res_query("test", 0, 0, (void *)0, 0);],
@@ -3476,6 +3480,10 @@
*-*-beos*)
glib_os="#define G_OS_BEOS"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU
+#define G_OS_UNIX"
+ ;;
*-*-cygwin*)
glib_os="#define G_OS_UNIX
#define G_PLATFORM_WIN32
diff -urN glib-2.24.1/docs/reference/glib/glib-overrides.txt glib-2.24.1-haiku/docs/reference/glib/glib-overrides.txt
--- glib-2.24.1/docs/reference/glib/glib-overrides.txt 2009-03-31 23:04:20.040632320 +0000
+++ glib-2.24.1-haiku/docs/reference/glib/glib-overrides.txt 2010-06-06 21:09:40.327417856 +0000
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -urN glib-2.24.1/docs/reference/glib/glib-sections.txt glib-2.24.1-haiku/docs/reference/glib/glib-sections.txt
--- glib-2.24.1/docs/reference/glib/glib-sections.txt 2010-05-03 01:23:07.031981568 +0000
+++ glib-2.24.1-haiku/docs/reference/glib/glib-sections.txt 2010-06-06 21:09:40.338165760 +0000
@@ -131,6 +131,7 @@
G_OS_WIN32
G_OS_BEOS
G_OS_UNIX
+G_OS_HAIKU
<SUBSECTION>
G_DIR_SEPARATOR
diff -urN glib-2.24.1/docs/reference/glib/tmpl/macros.sgml glib-2.24.1-haiku/docs/reference/glib/tmpl/macros.sgml
--- glib-2.24.1/docs/reference/glib/tmpl/macros.sgml 2010-05-03 01:23:06.032768000 +0000
+++ glib-2.24.1-haiku/docs/reference/glib/tmpl/macros.sgml 2010-06-06 21:09:40.348127232 +0000
@@ -34,6 +34,11 @@
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para>
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
<!-- ##### MACRO G_OS_UNIX ##### -->
diff -urN glib-2.24.1/gio/gunixmounts.c glib-2.24.1-haiku/gio/gunixmounts.c
--- glib-2.24.1/gio/gunixmounts.c 2009-03-31 23:04:20.054525952 +0000
+++ glib-2.24.1-haiku/gio/gunixmounts.c 2010-06-06 21:09:40.359661568 +0000
@@ -656,6 +656,23 @@
return return_list;
}
+
+#elif defined(G_OS_HAIKU)
+
+static char *
+get_mtab_monitor_file (void)
+{
+ return NULL;
+}
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ /* TODO: implement me */
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -1040,6 +1057,16 @@
{
return _g_get_unix_mounts ();
}
+
+#elif defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -urN glib-2.24.1/gio/makegioalias.pl glib-2.24.1-haiku/gio/makegioalias.pl
--- glib-2.24.1/gio/makegioalias.pl 2009-03-31 23:04:20.004456448 +0000
+++ glib-2.24.1-haiku/gio/makegioalias.pl 2010-06-06 21:09:40.361496576 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
my $do_def = 0;
diff -urN glib-2.24.1/gio/tests/memory-output-stream.c glib-2.24.1-haiku/gio/tests/memory-output-stream.c
--- glib-2.24.1/gio/tests/memory-output-stream.c 2010-04-13 13:33:16.043253760 +0000
+++ glib-2.24.1-haiku/gio/tests/memory-output-stream.c 2010-06-06 21:09:50.734003200 +0000
@@ -91,6 +91,8 @@
GOutputStream *mo;
GDataOutputStream *o;
int i;
+ gsize data_size_fun, data_size_prop;
+ gpointer data_fun, data_prop;
GError *error = NULL;
g_test_bug ("605733");
@@ -107,13 +109,11 @@
g_assert_no_error (error);
}
- gsize data_size_fun = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mo));
- gsize data_size_prop;
+ data_size_fun = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mo));
g_object_get (mo, "data-size", &data_size_prop, NULL);
g_assert_cmpint (data_size_fun, ==, data_size_prop);
- gpointer data_fun = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mo));
- gpointer data_prop;
+ data_fun = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mo));
g_object_get (mo, "data", &data_prop, NULL);
g_assert_cmphex (data_fun, ==, data_prop);
diff -urN glib-2.24.1/glib/gen-script-table.pl glib-2.24.1-haiku/glib/gen-script-table.pl
--- glib-2.24.1/glib/gen-script-table.pl 2009-03-31 23:04:20.056885248 +0000
+++ glib-2.24.1-haiku/glib/gen-script-table.pl 2010-06-06 21:09:40.363069440 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
#
# Script to convert http://www.unicode.org/Public/UNIDATA/Scripts.txt
# into a machine-readable table.
diff -urN glib-2.24.1/glib/gen-unicode-tables.pl glib-2.24.1-haiku/glib/gen-unicode-tables.pl
--- glib-2.24.1/glib/gen-unicode-tables.pl 2009-03-31 23:04:20.061603840 +0000
+++ glib-2.24.1-haiku/glib/gen-unicode-tables.pl 2010-06-06 21:09:40.379584512 +0000
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /bin/env perl
# Copyright (C) 1998, 1999 Tom Tromey
# Copyright (C) 2001 Red Hat Software
diff -urN glib-2.24.1/glib/gstdio.c glib-2.24.1-haiku/glib/gstdio.c
--- glib-2.24.1/glib/gstdio.c 2010-05-02 23:58:59.055836672 +0000
+++ glib-2.24.1-haiku/glib/gstdio.c 2010-06-06 21:09:40.392167424 +0000
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined (G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -urN glib-2.24.1/glib/gstrfuncs.c glib-2.24.1-haiku/glib/gstrfuncs.c
--- glib-2.24.1/glib/gstrfuncs.c 2010-04-13 13:33:16.040632320 +0000
+++ glib-2.24.1-haiku/glib/gstrfuncs.c 2010-06-06 21:09:40.403439616 +0000
@@ -1410,7 +1410,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -urN glib-2.24.1/glib/gutils.c glib-2.24.1-haiku/glib/gutils.c
--- glib-2.24.1/glib/gutils.c 2010-04-13 13:33:16.062914560 +0000
+++ glib-2.24.1-haiku/glib/gutils.c 2010-06-06 21:09:40.414711808 +0000
@@ -478,7 +478,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
diff -urN glib-2.24.1/glib/makegalias.pl glib-2.24.1-haiku/glib/makegalias.pl
--- glib-2.24.1/glib/makegalias.pl 2009-03-31 23:04:20.055836672 +0000
+++ glib-2.24.1-haiku/glib/makegalias.pl 2010-06-06 21:09:40.416546816 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
my $do_def = 0;
diff -urN glib-2.24.1/gobject/makegobjectalias.pl glib-2.24.1-haiku/gobject/makegobjectalias.pl
--- glib-2.24.1/gobject/makegobjectalias.pl 2009-03-31 23:04:20.025952256 +0000
+++ glib-2.24.1-haiku/gobject/makegobjectalias.pl 2010-06-06 21:09:40.426508288 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
my $do_def = 0;
diff -urN glib-2.24.1/gobject/marshal-genstrings.pl glib-2.24.1-haiku/gobject/marshal-genstrings.pl
--- glib-2.24.1/gobject/marshal-genstrings.pl 2009-03-31 23:04:20.024641536 +0000
+++ glib-2.24.1-haiku/gobject/marshal-genstrings.pl 2010-06-06 21:09:40.434372608 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/bin/env perl
open (List, "gmarshal.list");
diff -urN glib-2.24.1/tests/gen-casefold-txt.pl glib-2.24.1-haiku/tests/gen-casefold-txt.pl
--- glib-2.24.1/tests/gen-casefold-txt.pl 2009-03-31 23:04:20.060030976 +0000
+++ glib-2.24.1-haiku/tests/gen-casefold-txt.pl 2010-06-06 21:09:40.446169088 +0000
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /bin/env perl
# Copyright (C) 1998, 1999 Tom Tromey
# Copyright (C) 2001 Red Hat Software
diff -urN glib-2.24.1/tests/gen-casemap-txt.pl glib-2.24.1-haiku/tests/gen-casemap-txt.pl
--- glib-2.24.1/tests/gen-casemap-txt.pl 2009-03-31 23:04:20.044564480 +0000
+++ glib-2.24.1-haiku/tests/gen-casemap-txt.pl 2010-06-06 21:09:40.448004096 +0000
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /bin/env perl
# Copyright (C) 1998, 1999 Tom Tromey
# Copyright (C) 2001 Red Hat Software

View File

@@ -1,273 +0,0 @@
diff -urN glib-2.24.2/configure.in glib-2.24.2-haiku/configure.in
--- glib-2.24.2/configure.in 2010-05-02 23:58:58.044040192 +0000
+++ glib-2.24.2-haiku/configure.in 2010-06-06 21:09:40.325582848 +0000
@@ -140,6 +140,10 @@
;;
esac
;;
+ *-*-haiku*)
+ glib_native_win32=no
+ glib_pid_type='signed long int'
+ ;;
*)
glib_native_win32=no
glib_pid_type=int
@@ -375,7 +379,7 @@
AC_PATH_PROG(PERL_PATH, [$PERL])
fi
if test "x$PERL_PATH" = x ; then
- PERL_PATH="/usr/bin/env perl"
+ PERL_PATH="/bin/env perl"
fi
AC_SUBST(PERL_PATH)
@@ -1023,14 +1027,14 @@
[res_query("test", 0, 0, (void *)0, 0);],
[AC_MSG_RESULT([yes])],
[save_libs="$LIBS"
- LIBS="-lresolv $LIBS"
+ LIBS="-lnetwork $LIBS"
AC_TRY_LINK([#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>],
[res_query("test", 0, 0, (void *)0, 0);],
- [AC_MSG_RESULT([in -lresolv])
- LIBASYNCNS_LIBADD="-lresolv"],
+ [AC_MSG_RESULT([in -lnetwork])
+ LIBASYNCNS_LIBADD="-lnetwork"],
[LIBS="-lbind $save_libs"
AC_TRY_LINK([#include <resolv.h>],
[res_query("test", 0, 0, (void *)0, 0);],
@@ -3476,6 +3480,10 @@
*-*-beos*)
glib_os="#define G_OS_BEOS"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU
+#define G_OS_UNIX"
+ ;;
*-*-cygwin*)
glib_os="#define G_OS_UNIX
#define G_PLATFORM_WIN32
diff -urN glib-2.24.2/docs/reference/glib/glib-overrides.txt glib-2.24.2-haiku/docs/reference/glib/glib-overrides.txt
--- glib-2.24.2/docs/reference/glib/glib-overrides.txt 2009-03-31 23:04:20.040632320 +0000
+++ glib-2.24.2-haiku/docs/reference/glib/glib-overrides.txt 2010-06-06 21:09:40.327417856 +0000
@@ -215,6 +215,11 @@
#define G_OS_BEOS
</MACRO>
+<MACRO>
+<NAME>G_OS_HAIKU</NAME>
+#define G_OS_HAIKU
+</MACRO>
+
# g_ascii_isxxx
<FUNCTION>
diff -urN glib-2.24.2/docs/reference/glib/glib-sections.txt glib-2.24.2-haiku/docs/reference/glib/glib-sections.txt
--- glib-2.24.2/docs/reference/glib/glib-sections.txt 2010-05-03 01:23:07.031981568 +0000
+++ glib-2.24.2-haiku/docs/reference/glib/glib-sections.txt 2010-06-06 21:09:40.338165760 +0000
@@ -131,6 +131,7 @@
G_OS_WIN32
G_OS_BEOS
G_OS_UNIX
+G_OS_HAIKU
<SUBSECTION>
G_DIR_SEPARATOR
diff -urN glib-2.24.2/docs/reference/glib/tmpl/macros.sgml glib-2.24.2-haiku/docs/reference/glib/tmpl/macros.sgml
--- glib-2.24.2/docs/reference/glib/tmpl/macros.sgml 2010-05-03 01:23:06.032768000 +0000
+++ glib-2.24.2-haiku/docs/reference/glib/tmpl/macros.sgml 2010-06-06 21:09:40.348127232 +0000
@@ -34,6 +34,11 @@
BeOS-specific code in "&num;ifdef G_OS_BEOS".
</para>
+<!-- ##### MACRO G_OS_HAIKU ##### -->
+<para>
+This macro is defined only on Haiku. So you can bracket
+Haiku-specific code in "&num;ifdef G_OS_HAIKU".
+</para>
<!-- ##### MACRO G_OS_UNIX ##### -->
diff -urN glib-2.24.2/gio/gunixmounts.c glib-2.24.2-haiku/gio/gunixmounts.c
--- glib-2.24.2/gio/gunixmounts.c 2009-03-31 23:04:20.054525952 +0000
+++ glib-2.24.2-haiku/gio/gunixmounts.c 2010-06-06 21:09:40.359661568 +0000
@@ -656,6 +656,23 @@
return return_list;
}
+
+#elif defined(G_OS_HAIKU)
+
+static char *
+get_mtab_monitor_file (void)
+{
+ return NULL;
+}
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ /* TODO: implement me */
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -1040,6 +1057,16 @@
{
return _g_get_unix_mounts ();
}
+
+#elif defined(G_OS_HAIKU)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
diff -urN glib-2.24.2/gio/makegioalias.pl glib-2.24.2-haiku/gio/makegioalias.pl
--- glib-2.24.2/gio/makegioalias.pl 2009-03-31 23:04:20.004456448 +0000
+++ glib-2.24.2-haiku/gio/makegioalias.pl 2010-06-06 21:09:40.361496576 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
my $do_def = 0;
diff -urN glib-2.24.2/gio/tests/memory-output-stream.c glib-2.24.2-haiku/gio/tests/memory-output-stream.c
--- glib-2.24.2/gio/tests/memory-output-stream.c 2010-04-13 13:33:16.043253760 +0000
+++ glib-2.24.2-haiku/gio/tests/memory-output-stream.c 2010-06-06 21:09:50.734003200 +0000
@@ -91,6 +91,8 @@
GOutputStream *mo;
GDataOutputStream *o;
int i;
+ gsize data_size_fun, data_size_prop;
+ gpointer data_fun, data_prop;
GError *error = NULL;
g_test_bug ("605733");
@@ -107,13 +109,11 @@
g_assert_no_error (error);
}
- gsize data_size_fun = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mo));
- gsize data_size_prop;
+ data_size_fun = g_memory_output_stream_get_data_size (G_MEMORY_OUTPUT_STREAM (mo));
g_object_get (mo, "data-size", &data_size_prop, NULL);
g_assert_cmpint (data_size_fun, ==, data_size_prop);
- gpointer data_fun = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mo));
- gpointer data_prop;
+ data_fun = g_memory_output_stream_get_data (G_MEMORY_OUTPUT_STREAM (mo));
g_object_get (mo, "data", &data_prop, NULL);
g_assert_cmphex (data_fun, ==, data_prop);
diff -urN glib-2.24.2/glib/gen-script-table.pl glib-2.24.2-haiku/glib/gen-script-table.pl
--- glib-2.24.2/glib/gen-script-table.pl 2009-03-31 23:04:20.056885248 +0000
+++ glib-2.24.2-haiku/glib/gen-script-table.pl 2010-06-06 21:09:40.363069440 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
#
# Script to convert http://www.unicode.org/Public/UNIDATA/Scripts.txt
# into a machine-readable table.
diff -urN glib-2.24.2/glib/gen-unicode-tables.pl glib-2.24.2-haiku/glib/gen-unicode-tables.pl
--- glib-2.24.2/glib/gen-unicode-tables.pl 2009-03-31 23:04:20.061603840 +0000
+++ glib-2.24.2-haiku/glib/gen-unicode-tables.pl 2010-06-06 21:09:40.379584512 +0000
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /bin/env perl
# Copyright (C) 1998, 1999 Tom Tromey
# Copyright (C) 2001 Red Hat Software
diff -urN glib-2.24.2/glib/gstdio.c glib-2.24.2-haiku/glib/gstdio.c
--- glib-2.24.2/glib/gstdio.c 2010-05-02 23:58:59.055836672 +0000
+++ glib-2.24.2-haiku/glib/gstdio.c 2010-06-06 21:09:40.392167424 +0000
@@ -47,7 +47,7 @@
#include "galias.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS) && !defined (G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -urN glib-2.24.2/glib/gstrfuncs.c glib-2.24.2-haiku/glib/gstrfuncs.c
--- glib-2.24.2/glib/gstrfuncs.c 2010-04-13 13:33:16.040632320 +0000
+++ glib-2.24.2-haiku/glib/gstrfuncs.c 2010-06-06 21:09:40.403439616 +0000
@@ -1410,7 +1410,7 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_BEOS) || defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
/* this is declared differently (const) in string.h on BeOS */
diff -urN glib-2.24.2/glib/gutils.c glib-2.24.2-haiku/glib/gutils.c
--- glib-2.24.2/glib/gutils.c 2010-04-13 13:33:16.062914560 +0000
+++ glib-2.24.2-haiku/glib/gutils.c 2010-06-06 21:09:40.414711808 +0000
@@ -478,7 +478,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_BEOS) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default
diff -urN glib-2.24.2/glib/makegalias.pl glib-2.24.2-haiku/glib/makegalias.pl
--- glib-2.24.2/glib/makegalias.pl 2009-03-31 23:04:20.055836672 +0000
+++ glib-2.24.2-haiku/glib/makegalias.pl 2010-06-06 21:09:40.416546816 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
my $do_def = 0;
diff -urN glib-2.24.2/gobject/makegobjectalias.pl glib-2.24.2-haiku/gobject/makegobjectalias.pl
--- glib-2.24.2/gobject/makegobjectalias.pl 2009-03-31 23:04:20.025952256 +0000
+++ glib-2.24.2-haiku/gobject/makegobjectalias.pl 2010-06-06 21:09:40.426508288 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/bin/env perl
my $do_def = 0;
diff -urN glib-2.24.2/gobject/marshal-genstrings.pl glib-2.24.2-haiku/gobject/marshal-genstrings.pl
--- glib-2.24.2/gobject/marshal-genstrings.pl 2009-03-31 23:04:20.024641536 +0000
+++ glib-2.24.2-haiku/gobject/marshal-genstrings.pl 2010-06-06 21:09:40.434372608 +0000
@@ -1,4 +1,4 @@
-#!/usr/bin/perl
+#!/bin/env perl
open (List, "gmarshal.list");
diff -urN glib-2.24.2/tests/gen-casefold-txt.pl glib-2.24.2-haiku/tests/gen-casefold-txt.pl
--- glib-2.24.2/tests/gen-casefold-txt.pl 2009-03-31 23:04:20.060030976 +0000
+++ glib-2.24.2-haiku/tests/gen-casefold-txt.pl 2010-06-06 21:09:40.446169088 +0000
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /bin/env perl
# Copyright (C) 1998, 1999 Tom Tromey
# Copyright (C) 2001 Red Hat Software
diff -urN glib-2.24.2/tests/gen-casemap-txt.pl glib-2.24.2-haiku/tests/gen-casemap-txt.pl
--- glib-2.24.2/tests/gen-casemap-txt.pl 2009-03-31 23:04:20.044564480 +0000
+++ glib-2.24.2-haiku/tests/gen-casemap-txt.pl 2010-06-06 21:09:40.448004096 +0000
@@ -1,4 +1,4 @@
-#! /usr/bin/perl -w
+#! /bin/env perl
# Copyright (C) 1998, 1999 Tom Tromey
# Copyright (C) 2001 Red Hat Software

View File

@@ -1,84 +0,0 @@
diff -urN glib-2.26.1/configure.ac glib-2.26.1-haiku/configure.ac
--- glib-2.26.1/configure.ac 2010-11-14 05:59:52.043778048 +0000
+++ glib-2.26.1-haiku/configure.ac 2011-01-13 11:12:11.055312384 +0000
@@ -111,6 +111,10 @@
*-*-beos*)
glib_native_beos="yes"
;;
+ *-*-haiku*)
+ glib_native_beos="yes"
+ LIBS="-lnetwork $LIBS"
+ ;;
*)
glib_native_beos="no"
;;
@@ -3595,6 +3599,9 @@
*-*-beos*)
glib_os="#define G_OS_BEOS"
;;
+ *-*-haiku*)
+ glib_os="#define G_OS_HAIKU"
+ ;;
*-*-cygwin*)
glib_os="#define G_OS_UNIX
#define G_PLATFORM_WIN32
diff -urN glib-2.26.1/glib/gmain.c glib-2.26.1-haiku/glib/gmain.c
--- glib-2.26.1/glib/gmain.c 2010-11-12 13:52:52.057409536 +0000
+++ glib-2.26.1-haiku/glib/gmain.c 2011-01-11 13:13:26.355991552 +0000
@@ -79,10 +79,11 @@
#include <windows.h>
#endif /* G_OS_WIN32 */
-#ifdef G_OS_BEOS
+#if defined G_OS_HAIKU
#include <sys/socket.h>
#include <sys/wait.h>
-#endif /* G_OS_BEOS */
+#include <fcntl.h>
+#endif /* G_OS_HAIKU */
#ifdef G_OS_UNIX
#include <fcntl.h>
diff -urN glib-2.26.1/glib/gstdio.c glib-2.26.1-haiku/glib/gstdio.c
--- glib-2.26.1/glib/gstdio.c 2010-09-13 13:40:53.047972352 +0000
+++ glib-2.26.1-haiku/glib/gstdio.c 2011-01-11 13:17:06.033292288 +0000
@@ -45,7 +45,7 @@
#include "gstdio.h"
-#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_BEOS)
+#if !defined (G_OS_UNIX) && !defined (G_OS_WIN32) && !defined (G_OS_HAIKU)
#error Please port this to your operating system
#endif
diff -urN glib-2.26.1/glib/gstrfuncs.c glib-2.26.1-haiku/glib/gstrfuncs.c
--- glib-2.26.1/glib/gstrfuncs.c 2010-09-04 01:40:14.015466496 +0000
+++ glib-2.26.1-haiku/glib/gstrfuncs.c 2011-01-11 12:43:29.319815680 +0000
@@ -1423,12 +1423,12 @@
#ifdef HAVE_STRSIGNAL
const char *msg_locale;
-#if defined(G_OS_BEOS) || defined(G_WITH_CYGWIN)
+#if defined(G_OS_HAIKU) || defined(G_WITH_CYGWIN)
extern const char *strsignal(int);
#else
- /* this is declared differently (const) in string.h on BeOS */
+ /* this is declared differently (const) in string.h on HAIKU */
extern char *strsignal (int sig);
-#endif /* !G_OS_BEOS && !G_WITH_CYGWIN */
+#endif /* !G_OS_HAIKU && !G_WITH_CYGWIN */
msg_locale = strsignal (signum);
if (g_get_charset (NULL))
return msg_locale;
diff -urN glib-2.26.1/glib/gutils.c glib-2.26.1-haiku/glib/gutils.c
--- glib-2.26.1/glib/gutils.c 2010-11-12 13:52:52.056098816 +0000
+++ glib-2.26.1-haiku/glib/gutils.c 2011-01-11 13:27:36.000000000 +0000
@@ -491,7 +491,7 @@
}
path = g_getenv ("PATH");
-#if defined(G_OS_UNIX) || defined(G_OS_BEOS)
+#if defined(G_OS_UNIX) || defined(G_OS_HAIKU)
if (path == NULL)
{
/* There is no `PATH' in the environment. The default

View File

@@ -1,374 +0,0 @@
Index: gio/gunixmounts.c
===================================================================
--- gio/gunixmounts.c (revision 6849)
+++ gio/gunixmounts.c (working copy)
@@ -592,6 +592,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS)
+
+static GList *
+_g_get_unix_mounts (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No _g_get_unix_mounts() implementation for system
#endif
@@ -972,6 +982,16 @@
return g_list_reverse (return_list);
}
+
+#elif defined(G_OS_BEOS)
+
+static GList *
+_g_get_unix_mount_points (void)
+{
+ GList *return_list = NULL;
+ return return_list;
+}
+
#else
#error No g_get_mount_table() implementation for system
#endif
Index: gio/makegioalias.pl
===================================================================
--- gio/makegioalias.pl (revision 6849)
+++ gio/makegioalias.pl (working copy)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
Index: gio/gunixinputstream.c
===================================================================
--- gio/gunixinputstream.c (revision 6849)
+++ gio/gunixinputstream.c (working copy)
@@ -28,7 +28,9 @@
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
+#ifdef HAVE_POLL
#include <poll.h>
+#endif
#include <glib.h>
#include <glib/gstdio.h>
@@ -172,6 +174,9 @@
GCancellable *cancellable,
GError **error)
{
+#ifdef G_OS_BEOS
+ return -1;
+#else
GUnixInputStream *unix_stream;
gssize res;
struct pollfd poll_fds[2];
@@ -227,6 +232,7 @@
}
return res;
+#endif
}
static gboolean
@@ -332,6 +338,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#ifndef G_OS_BEOS
GSource *source;
GUnixInputStream *unix_stream;
ReadAsyncData *data;
@@ -354,6 +361,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
Index: gio/Makefile.am
===================================================================
--- gio/Makefile.am (revision 6849)
+++ gio/Makefile.am (working copy)
@@ -148,7 +148,7 @@
platform_libadd += -lshlwapi
endif
-SUBDIRS += tests
+#SUBDIRS += tests
libgio_2_0_la_SOURCES = \
gappinfo.c \
Index: gio/xdgmime/xdgmimeglob.c
===================================================================
--- gio/xdgmime/xdgmimeglob.c (revision 6849)
+++ gio/xdgmime/xdgmimeglob.c (working copy)
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
Index: gio/xdgmime/xdgmimealias.c
===================================================================
--- gio/xdgmime/xdgmimealias.c (revision 6849)
+++ gio/xdgmime/xdgmimealias.c (working copy)
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
Index: gio/xdgmime/xdgmimeparent.c
===================================================================
--- gio/xdgmime/xdgmimeparent.c (revision 6849)
+++ gio/xdgmime/xdgmimeparent.c (working copy)
@@ -35,7 +35,7 @@
#include <stdio.h>
#include <assert.h>
#include <string.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#ifndef FALSE
#define FALSE (0)
Index: gio/xdgmime/xdgmimecache.c
===================================================================
--- gio/xdgmime/xdgmimecache.c (revision 6849)
+++ gio/xdgmime/xdgmimecache.c (working copy)
@@ -34,7 +34,7 @@
#include <fcntl.h>
#include <unistd.h>
-#include <fnmatch.h>
+//#include <fnmatch.h>
#include <assert.h>
#include <netinet/in.h> /* for ntohl/ntohs */
Index: gio/gunixoutputstream.c
===================================================================
--- gio/gunixoutputstream.c (revision 6849)
+++ gio/gunixoutputstream.c (working copy)
@@ -28,7 +28,9 @@
#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
+#ifdef HAVE_POLL
#include <poll.h>
+#endif
#include <glib.h>
#include <glib/gstdio.h>
@@ -160,6 +162,9 @@
GCancellable *cancellable,
GError **error)
{
+#ifdef G_OS_BEOS
+ return -1;
+#else
GUnixOutputStream *unix_stream;
gssize res;
struct pollfd poll_fds[2];
@@ -216,6 +221,7 @@
}
return res;
+#endif
}
static gboolean
@@ -321,6 +327,7 @@
GAsyncReadyCallback callback,
gpointer user_data)
{
+#ifndef G_OS_BEOS
GSource *source;
GUnixOutputStream *unix_stream;
WriteAsyncData *data;
@@ -343,6 +350,7 @@
g_source_attach (source, NULL);
g_source_unref (source);
+#endif
}
static gssize
Index: gobject/makegobjectalias.pl
===================================================================
--- gobject/makegobjectalias.pl (revision 6849)
+++ gobject/makegobjectalias.pl (working copy)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;
Index: glib/gutils.c
===================================================================
--- glib/gutils.c (revision 6849)
+++ glib/gutils.c (working copy)
@@ -2236,6 +2236,21 @@
}
#endif /* G_OS_WIN32 */
+#if defined(G_OS_BEOS)
+static void
+load_user_special_dirs (void)
+{
+ g_user_special_dirs[G_USER_DIRECTORY_DESKTOP] = g_strdup("/boot/home/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_DOCUMENTS] = g_strdup("/boot/home");
+ g_user_special_dirs[G_USER_DIRECTORY_DOWNLOAD] = g_strdup("/boot/home/Desktop");
+ g_user_special_dirs[G_USER_DIRECTORY_MUSIC] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PICTURES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_PUBLIC_SHARE] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_TEMPLATES] = NULL;
+ g_user_special_dirs[G_USER_DIRECTORY_VIDEOS] = NULL;
+}
+#endif /* G_OS_BEOS */
+
static void g_init_user_config_dir (void);
#if defined(G_OS_UNIX) && !defined(HAVE_CARBON)
Index: glib/gmain.c
===================================================================
--- glib/gmain.c (revision 6849)
+++ glib/gmain.c (working copy)
@@ -3876,6 +3876,7 @@
static void
g_child_watch_source_init_multi_threaded (void)
{
+#ifndef G_OS_BEOS
GError *error = NULL;
struct sigaction action;
@@ -3895,6 +3896,7 @@
sigemptyset (&action.sa_mask);
action.sa_flags = SA_RESTART | SA_NOCLDSTOP;
sigaction (SIGCHLD, &action, NULL);
+#endif
}
static void
Index: glib/gbacktrace.c
===================================================================
--- glib/gbacktrace.c (revision 6849)
+++ glib/gbacktrace.c (working copy)
@@ -193,7 +193,7 @@
#endif
}
-#ifndef G_OS_WIN32
+#if !defined(G_OS_WIN32) && !defined(G_OS_BEOS)
static gboolean stack_trace_done = FALSE;
Index: glib/Makefile.am
===================================================================
--- glib/Makefile.am (revision 6849)
+++ glib/Makefile.am (working copy)
@@ -19,7 +19,7 @@
gregex_h =
endif
-SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre . tests
+SUBDIRS = libcharset $(PRINTF_SUBDIR) $(MAYBE_PCRE) update-pcre .
DIST_SUBDIRS = libcharset gnulib pcre update-pcre tests
Index: glib/gslice.c
===================================================================
--- glib/gslice.c (revision 6849)
+++ glib/gslice.c (working copy)
@@ -302,6 +302,8 @@
GetSystemInfo (&system_info);
sys_page_size = system_info.dwPageSize;
}
+#elif defined(G_OS_BEOS)
+ sys_page_size = 4096;
#else
sys_page_size = sysconf (_SC_PAGESIZE); /* = sysconf (_SC_PAGE_SIZE); = getpagesize(); */
#endif
Index: glib/gtester.c
===================================================================
--- glib/gtester.c (revision 6849)
+++ glib/gtester.c (working copy)
@@ -630,6 +630,7 @@
* we must fiddle with sigaction() *before* glib is used, otherwise
* we could revoke signal hanmdler setups from glib initialization code.
*/
+#ifdef SA_RESTART
if (TRUE)
{
struct sigaction sa;
@@ -639,6 +640,7 @@
sa.sa_flags = SA_RESTART;
sigaction (SIGCHLD, &sa, &osa);
}
+#endif
g_set_prgname (argv[0]);
parse_args (&argc, &argv);
Index: glib/gspawn.c
===================================================================
--- glib/gspawn.c (revision 6849)
+++ glib/gspawn.c (working copy)
@@ -230,6 +230,9 @@
gint *exit_status,
GError **error)
{
+#ifdef G_OS_BEOS
+ return FALSE;
+#else
gint outpipe = -1;
gint errpipe = -1;
GPid pid;
@@ -425,6 +428,7 @@
return TRUE;
}
+#endif
}
/**
@@ -896,7 +900,7 @@
gint fd;
gint res = 0;
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS)
struct rlimit rl;
#endif
@@ -939,7 +943,7 @@
#endif
-#ifdef HAVE_SYS_RESOURCE_H
+#if defined(HAVE_SYS_RESOURCE_H) && !defined(G_OS_BEOS)
if (getrlimit(RLIMIT_NOFILE, &rl) == 0 && rl.rlim_max != RLIM_INFINITY)
open_max = rl.rlim_max;
Index: glib/makegalias.pl
===================================================================
--- glib/makegalias.pl (revision 6849)
+++ glib/makegalias.pl (working copy)
@@ -1,4 +1,4 @@
-#!/usr/bin/perl -w
+#!/boot/home/config/bin/perl -w
my $do_def = 0;

View File

@@ -1,71 +0,0 @@
diff -Naur glib-1.2.10-original/Makefile.am glib-1.2.10/Makefile.am
--- glib-1.2.10-original/Makefile.am 2009-01-22 23:29:09.000000000 +0000
+++ glib-1.2.10/Makefile.am 2009-01-22 23:32:21.000000000 +0000
@@ -1,5 +1,7 @@
## Process this file with automake to produce Makefile.in
+ACLOCAL_AMFLAGS = -I m4
+
# require automake 1.4
AUTOMAKE_OPTIONS = 1.4
@@ -7,8 +9,8 @@
configincludedir = $(pkglibdir)/include
-noinst_SCRIPTS=glib-config
-#BUILT_SOURCES=glib-config
+bin_SCRIPTS=glib-config
+BUILT_SOURCES=glib-config
glib-config: glib-config.in
INCLUDES = -DG_LOG_DOMAIN=g_log_domain_glib @GLIB_DEBUG_FLAGS@
@@ -30,7 +32,7 @@
gthread.pc.in
-noinst_LTLIBRARIES = libglib.la
+lib_LTLIBRARIES = libglib.la
libglib_la_SOURCES = \
garray.c \
@@ -60,11 +62,11 @@
gutils.c
glibincludedir=$(includedir)/glib-1.2
-noinst_HEADERS = \
+glibinclude_HEADERS = \
glib.h
-#noinst_DATA = \
-# glibconfig.h
+configinclude_DATA = \
+ glibconfig.h
CONFIGURE_DEPENDENCIES = acglib.m4
@@ -86,10 +88,10 @@
testgdateparser_LDADD = libglib.la
m4datadir = $(datadir)/aclocal
-noinst_DATA = glib.m4
+m4data_DATA = glib.m4
pkgconfigdir = $(libdir)/pkgconfig
-noinst_DATA = glib.pc gmodule.pc gthread.pc
+pkgconfig_DATA = glib.pc gmodule.pc gthread.pc
glibconfig.h.win32: $(top_builddir)/config.status $(top_srcdir)/glibconfig.h.win32.in
cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
diff -Naur glib-1.2.10-original/configure.in glib-1.2.10/configure.in
--- glib-1.2.10-original/configure.in 2009-01-22 23:29:09.000000000 +0000
+++ glib-1.2.10/configure.in 2009-01-22 23:30:28.000000000 +0000
@@ -9,6 +9,8 @@
# init autoconf (and check for presence of glist.c)
AC_INIT(glist.c)
+AC_CONFIG_MACRO_DIR([m4])
+
# Save this value here, since automake will set cflags later
cflags_set=${CFLAGS+set}

View File

@@ -0,0 +1,80 @@
SUMMARY="Library for creating CORBA Interface Definition Language files"
DESCRIPTION="
libIDL is a library for creating trees of CORBA Interface Definition Language \
(IDL) files, which is a specification for defining portable interfaces. libIDL \
was initially written for ORBit (the ORB from the GNOME project, and the \
primary means of libIDL distribution). However, the functionality was designed \
to be as reusable and portable as possible.
"
HOMEPAGE="http://andrewtv.org/libIDL/"
SRC_URI="http://andrewtv.org/libIDL/libIDL-0.6.8.tar.gz"
CHECKSUM_MD5="97e2da9229cdb0445719b6cf802c1782"
COPYRIGHT="1998-1999 Andrew T. Veliath"
LICENSE="GNU LGPL v2"
REVISION="1"
ARCHITECTURES="x86 ?x86_gcc2"
SECONDARY_ARCHITECTURES="x86 ?x86_gcc2"
PROVIDES="
libidl$secondaryArchSuffix = $portVersion
lib:libIDL$secondaryArchSuffix = $portVersion compat = 0.4.4
lib:libIDL_0.6$secondaryArchSuffix = $portVersion compat = 0.4.4
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libglib
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
devel:libglib$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc$secondaryArchSuffix
cmd:libtoolize
cmd:autoconf
cmd:flex
cmd:bison
"
PROVIDES_devel="
libidl${secondaryArchSuffix}_devel = $portVersion
cmd:libIDL_config = $portVersion
devel:libIDL$secondaryArchSuffix = $portVersion
devel:libIDL_0.6$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
libidl$secondaryArchSuffix == $portVersion
"
SOURCE_DIR="libIDL-$portVersion"
PATCHES="libidl-0.6.8.patchset"
BUILD()
{
libtoolize -fci
aclocal
autoconf
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs libIDL libIDL-0.6
fixDevelopLibDirReferences $binDir/libIDL-config \
$libDir/libIDLConf.sh
packageEntries devel \
$developDir $binDir \
$dataDir $infoDir \
$libDir/libIDLConf.sh
}

View File

@@ -0,0 +1,51 @@
From 5b768320419c034d19d2f4646365c3e3f2b93ff8 Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Mon, 9 Dec 2013 18:27:26 -0700
Subject: Attempt to bring libIDL into the modern age
diff --git a/acinclude.m4 b/acinclude.m4
index 0481a2f..0fc8e87 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -1,4 +1,15 @@
dnl Autoconf extension macros for libIDL
+# GLIB_AC_DIVERT_BEFORE_HELP(STUFF)
+# ---------------------------------
+# Put STUFF early enough so that they are available for $ac_help expansion.
+# Handle both classic (<= v2.13) and modern autoconf
+AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
+[ifdef([m4_divert_text], [m4_divert_text([NOTICE],[$1])],
+ [ifdef([AC_DIVERT], [AC_DIVERT([NOTICE],[$1])],
+ [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+$1
+AC_DIVERT_POP()])])])
+
AC_DEFUN(AC_CPP_ACCEPT_IDL,
[AC_CACHE_CHECK([if C preprocessor likes IDL],
ac_cv_cpp_accept_idl,
diff --git a/configure.in b/configure.in
index 3b32bbe..a4af53d 100644
--- a/configure.in
+++ b/configure.in
@@ -3,7 +3,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(IDL.h.new.in)
-AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
+GLIB_AC_DIVERT_BEFORE_HELP([
#
# Making releases:
# LIBIDL_MICRO_VERSION += 1;
@@ -20,7 +20,7 @@ LIBIDL_INTERFACE_AGE=4
LIBIDL_BINARY_AGE=8
LIBIDL_LIBRARY_VERSION=$LIBIDL_MAJOR_VERSION.$LIBIDL_MINOR_VERSION.$LIBIDL_MICRO_VERSION
GLIB_VERSION_REQUIRED=1.2.0
-AC_DIVERT_POP()dnl
+])
AC_SUBST(LIBIDL_MAJOR_VERSION)
AC_SUBST(LIBIDL_MINOR_VERSION)
--
1.8.3.4

View File

@@ -28,7 +28,6 @@ BUILD_REQUIRES="
BUILD_PREREQUIRES="
cmd:gcc
cmd:make
"
BUILD()
@@ -36,7 +35,7 @@ BUILD()
g++ -c src/bdh_main.cpp -o bdh_main.o
g++ -c src/bdh_view.cpp -o bdh_view.o
g++ -lbe bdh_main.o bdh_view.o -o bdhcalc
xres bdhcalc Ressources/bdh.rsrc
xres -o bdhcalc Ressources/bdh.rsrc
mimeset -f bdhcalc
}

View File

@@ -1,33 +0,0 @@
DESCRIPTION="BurnItNow - GUI CD burning app for Haiku"
HOMEPAGE="http://dev.osdrawer.net/projects/burnitnow"
SRC_URI="svn+http://svn.osdrawer.net/burnitnow/branches/legacy#27"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/cmake >= 2.8.0
app-cdr/cdrtools > 3.00"
#CHECKSUM_MD5=""
BUILD()
{
cd burnitnow-27
cmake .
make
}
INSTALL()
{
cd burnitnow-27
mkdir -p ${DESTDIR}/boot/apps/BurnItNow
cp -a BurnItNow ${DESTDIR}/boot/apps/BurnItNow
cp -a LICENSE ${DESTDIR}/boot/apps/BurnItNow/LICENSE
cp -a TODO ${DESTDIR}/boot/apps/BurnItNow/TODO
cp -a README ${DESTDIR}/boot/apps/BurnItNow/README
mkdir -p ${DESTDIR}/boot/apps/BurnItNow/Docs
cp -a Docs/BurnItNowHelp.html ${DESTDIR}/boot/apps/BurnItNow/Docs/BurnItNowHelp.html
cp -a Docs/helpbg.gif ${DESTDIR}/boot/apps/BurnItNow/Docs/helpbg.gif
if [ -z ${DESTDIR} ];then
find /boot/apps/BurnItNow -type d -name ".svn" | xargs rm -rf
fi
}
LICENSE="MIT"
COPYRIGHT="2000-2002 Johan Nilsson
2010 BurnItNow Maintainers"

View File

@@ -1,33 +0,0 @@
DESCRIPTION="BurnItNow - GUI CD burning app for Haiku"
HOMEPAGE="http://dev.osdrawer.net/projects/burnitnow"
SRC_URI="svn+http://svn.osdrawer.net/burnitnow/branches/legacy#38"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/cmake >= 2.8.0
app-cdr/cdrtools > 3.00"
#CHECKSUM_MD5=""
BUILD()
{
cd burnitnow-38
cmake .
make
}
INSTALL()
{
cd burnitnow-38
mkdir -p ${DESTDIR}/boot/apps/BurnItNow
cp -a BurnItNow ${DESTDIR}/boot/apps/BurnItNow
cp -a LICENSE ${DESTDIR}/boot/apps/BurnItNow/LICENSE
cp -a TODO ${DESTDIR}/boot/apps/BurnItNow/TODO
cp -a README ${DESTDIR}/boot/apps/BurnItNow/README
mkdir -p ${DESTDIR}/boot/apps/BurnItNow/Docs
cp -a Docs/BurnItNowHelp.html ${DESTDIR}/boot/apps/BurnItNow/Docs/BurnItNowHelp.html
cp -a Docs/helpbg.gif ${DESTDIR}/boot/apps/BurnItNow/Docs/helpbg.gif
if [ -z ${DESTDIR} ];then
find /boot/apps/BurnItNow -type d -name ".svn" | xargs rm -rf
fi
}
LICENSE="MIT"
COPYRIGHT="2000-2002 Johan Nilsson
2010 BurnItNow Maintainers"

View File

@@ -1,33 +0,0 @@
DESCRIPTION="BurnItNow - GUI CD burning app for Haiku"
HOMEPAGE="http://dev.osdrawer.net/projects/burnitnow"
SRC_URI="svn+http://svn.osdrawer.net/burnitnow/branches/legacy#39"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/cmake >= 2.8.0
app-cdr/cdrtools > 3.00"
#CHECKSUM_MD5=""
BUILD()
{
cd burnitnow-39
cmake .
make
}
INSTALL()
{
cd burnitnow-39
mkdir -p ${DESTDIR}/boot/apps/BurnItNow
cp -a BurnItNow ${DESTDIR}/boot/apps/BurnItNow
cp -a LICENSE ${DESTDIR}/boot/apps/BurnItNow/LICENSE
cp -a TODO ${DESTDIR}/boot/apps/BurnItNow/TODO
cp -a README ${DESTDIR}/boot/apps/BurnItNow/README
mkdir -p ${DESTDIR}/boot/apps/BurnItNow/Docs
cp -a Docs/BurnItNowHelp.html ${DESTDIR}/boot/apps/BurnItNow/Docs/BurnItNowHelp.html
cp -a Docs/helpbg.gif ${DESTDIR}/boot/apps/BurnItNow/Docs/helpbg.gif
if [ -z ${DESTDIR} ];then
find /boot/apps/BurnItNow -type d -name ".svn" | xargs rm -rf
fi
}
LICENSE="MIT"
COPYRIGHT="2000-2002 Johan Nilsson
2010 BurnItNow Maintainers"

View File

@@ -1,33 +0,0 @@
DESCRIPTION="BurnItNow - GUI CD burning app for Haiku"
HOMEPAGE="http://dev.osdrawer.net/projects/burnitnow"
SRC_URI="svn+http://svn.osdrawer.net/burnitnow/branches/legacy#43"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/cmake >= 2.8.0
app-cdr/cdrtools > 3.00"
#CHECKSUM_MD5=""
BUILD()
{
cd burnitnow-43
cmake .
make
}
INSTALL()
{
cd burnitnow-43
mkdir -p ${DESTDIR}/boot/apps/BurnItNow
cp -a BurnItNow ${DESTDIR}/boot/apps/BurnItNow
cp -a LICENSE ${DESTDIR}/boot/apps/BurnItNow/LICENSE
cp -a TODO ${DESTDIR}/boot/apps/BurnItNow/TODO
cp -a README ${DESTDIR}/boot/apps/BurnItNow/README
mkdir -p ${DESTDIR}/boot/apps/BurnItNow/Docs
cp -a Docs/BurnItNowHelp.html ${DESTDIR}/boot/apps/BurnItNow/Docs/BurnItNowHelp.html
cp -a Docs/helpbg.gif ${DESTDIR}/boot/apps/BurnItNow/Docs/helpbg.gif
if [ -z ${DESTDIR} ];then
find /boot/apps/BurnItNow -type d -name ".svn" | xargs rm -rf
fi
}
LICENSE="MIT"
COPYRIGHT="2000-2002 Johan Nilsson
2010-2011 BurnItNow Maintainers"

View File

@@ -1,33 +0,0 @@
DESCRIPTION="BurnItNow - GUI CD burning app for Haiku"
HOMEPAGE="http://dev.osdrawer.net/projects/burnitnow"
SRC_URI="svn+http://svn.osdrawer.net/burnitnow/branches/legacy"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/cmake >= 2.8.0
app-cdr/cdrtools > 3.00"
#CHECKSUM_MD5=""
BUILD()
{
cd burnitnow-beta5-svn
cmake .
make
}
INSTALL()
{
cd burnitnow-beta5-svn
mkdir -p ${DESTDIR}/boot/apps/BurnItNow
cp -a BurnItNow ${DESTDIR}/boot/apps/BurnItNow
cp -a LICENSE ${DESTDIR}/boot/apps/BurnItNow/LICENSE
cp -a TODO ${DESTDIR}/boot/apps/BurnItNow/TODO
cp -a README ${DESTDIR}/boot/apps/BurnItNow/README
mkdir -p ${DESTDIR}/boot/apps/BurnItNow/Docs
cp -a Docs/BurnItNowHelp.html ${DESTDIR}/boot/apps/BurnItNow/Docs/BurnItNowHelp.html
cp -a Docs/helpbg.gif ${DESTDIR}/boot/apps/BurnItNow/Docs/helpbg.gif
if [ -z ${DESTDIR} ];then
find /boot/apps/BurnItNow -type d -name ".svn" | xargs rm -rf
fi
}
LICENSE="MIT"
COPYRIGHT="2000-2002 Johan Nilsson
2010-2011 BurnItNow Maintainers"

View File

@@ -1,35 +0,0 @@
DESCRIPTION="BurnItNow - GUI CD burning app for Haiku"
HOMEPAGE="http://github.com/scottmc/burnitnow"
SRC_URI="git://github.com/scottmc/BurnItNow.git#6367b5beb2"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="app-cdr/cdrtools > 3.00"
#CHECKSUM_MD5=""
BUILD()
{
cd burnitnow-beta6/legacy
cmake .
make
}
INSTALL()
{
cd burnitnow-beta6/legacy
BURNITNOWDIR=${DESTDIR}/`finddir B_APPS_DIRECTORY`/BurnItNow
mkdir -p ${BURNITNOWDIR}/Docs
cp -a BurnItNow ${BURNITNOWDIR}
cp -a LICENSE ${BURNITNOWDIR}/LICENSE
cp -a TODO ${BURNITNOWDIR}/TODO
cp -a README ${BURNITNOWDIR}/README
cp -a AUTHORS ${BURNITNOWDIR}/AUTHORS
cp -a Changes ${BURNITNOWDIR}/Changes
cp -a Docs ${BURNITNOWDIR}/
if [ -z ${DESTDIR} ];then
find /boot/apps/BurnItNow -type d -name ".svn" | xargs rm -rf
fi
}
LICENSE="MIT"
COPYRIGHT="2000-2002 Johan Nilsson
2010-2013 BurnItNow Maintainers"

View File

@@ -1,18 +1,15 @@
SUMMARY="A utility for burning CD"
DESCRIPTION="BurnItNow is a CD burning utility application for Haiku"
HOMEPAGE="https://github.com/HaikuArchives/BurnItNow"
SRC_URI="git+https://github.com/HaikuArchives/BurnItNow#5036e55"
SRC_URI="git+https://github.com/HaikuArchives/BurnItNow.git#3e7e69d048"
REVISION="1"
COPYRIGHT="
2010-2013 BurnItNow Team
2005-2007 Ingo Weinhold <bonefish@users.sf.net>
2007 Haiku, Inc.
1991-2000 Be Incorporated
"
LICENSE="MIT"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
burnitnow = $portVersion
@@ -20,21 +17,21 @@ PROVIDES="
"
REQUIRES="
haiku >= $haikuVersion
cmd:cdrecord
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
makefile_engine
cmd:cmake
cmd:make
cmd:gcc
cmd:gcc$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
"
SOURCE_DIR="$portName/trunk"
SOURCE_DIR="$portName/burnitnow2"
BUILD()
{

View File

@@ -0,0 +1,63 @@
SUMMARY="Custom widget library"
DESCRIPTION="libsanta has some useful custom widgets."
HOMEPAGE="https://github.com/HaikuArchives/SantasGiftBag"
COPYRIGHT="briant@timelinevista.com"
LICENSE="libsanta"
SRC_URI="git+https://github.com/HaikuArchives/SantasGiftBag#4b62541"
REVISION="1"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 ?x86"
PROVIDES="
libsanta$secondaryArchSuffix = $portVersion
lib:libsanta$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
"
BUILD_PREREQUIRES="
makefile_engine
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
BUILD()
{
make TYPE=STATIC \
OBJ_DIR=build \
BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY`
make TYPE=SHARED \
OBJ_DIR=build \
BUILDHOME=`finddir B_SYSTEM_DEVELOP_DIRECTORY`
}
INSTALL()
{
mkdir -p $developLibDir $libDir
cp -R Documentation $developLibDir
cd build
cp libsanta.a $developLibDir
cp libsanta $libDir/libsanta.so
packageEntries devel \
$developLibDir
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
libsanta${secondaryArchSuffix}_devel = $portVersion
libsanta$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
libsanta$secondaryArchSuffix == $portVersion base
"

View File

@@ -0,0 +1,12 @@
License
The source code, object code, libraries, and the other components of Santa's Gift Bag are being made publicly available and free to use in freeware and shareware products with a price under $25 (I believe that shareware should be cheap). For overpriced shareware (hehehe) or commercial products, please contact me to negotiate a fee for use. After all, I did work hard on these classes and invested a lot of time into it. That being said, DON'T WORRY I don't want much. It totally depends on the sort of project you're working on and how much you expect to make off it. If someone makes money using my work, I'd like to get at least a little something for my contribution to that profit.
If any of the components of Santa's Gift Bag are is used in a shareware or commercial product, I get a free copy. The source is made available so that you can improve and extend it as you need. In general it is best to customize these classes through inheritance, leaving the original Santa's Gift Bag source code unmodified, so that you can take advantage of enhancements and bug fixes as they become available.
Feel free to distribute any components of this archive, but you are required to keep the documentation and license with it. If you wish to distribute modified source, also feel free to do so, but do so in such a manner that it is very clear what was modified, why, how, that it is not an official Santa's Gift Bag release, and you are also required to keep the documentation and license with any modified versions.
I can be contacted at:
briant@timelinevista.com
Thank you for using Santa's Gift Bag, and enjoy!