Rename glib-2.38.1 to glib2-2.38.1 and drop old beps/patches

This is to avoid a name clash with the legacy version that will be
needed for bezilla

--HG--
rename : dev-libs/glib/glib-2.38.1.recipe => dev-libs/glib/glib2-2.38.1.recipe
rename : dev-libs/glib/patches/glib-2.38.1.patch => dev-libs/glib/patches/glib2-2.38.1.patch
This commit is contained in:
Chris Roberts
2013-12-09 15:25:16 -07:00
parent bb79aabe4b
commit a5fdec8a37
18 changed files with 40 additions and 4432 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

@@ -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

@@ -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;