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 + +G_OS_HAIKU +#define G_OS_HAIKU + + # g_ascii_isxxx 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 @@ G_OS_WIN32 G_OS_BEOS +G_OS_HAIKU G_OS_UNIX 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 G_OS_WIN32 #define G_OS_BEOS +#define G_OS_HAIKU #define G_OS_UNIX #define G_DIR_SEPARATOR @@ -115,6 +116,15 @@ BeOS-specific code in "#ifdef G_OS_BEOS".

+
+

G_OS_HAIKU

+
#define G_OS_HAIKU
+
+

+This macro is defined only on Haiku. So you can bracket +Haiku-specific code in "#ifdef G_OS_HAIKU". +

+

G_OS_UNIX

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 @@ + 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 @@ + 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 @@
G_OS_BEOS, G_OS_BEOS
+
G_OS_HAIKU, G_OS_HAIKU +
G_OS_UNIX, G_OS_UNIX
G_OS_WIN32, G_OS_WIN32 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 @@ + + +This macro is defined only on Haiku. So you can bracket +Haiku-specific code in "#ifdef G_OS_HAIKU". + + + + 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 @@ g_option_group_set_translation_domain G_OPTION_REMAINING G_OS_BEOS +G_OS_HAIKU G_OS_UNIX G_OS_WIN32 g_parse_debug_string 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 G_OS_WIN32 #define G_OS_BEOS +#define G_OS_HAIKU #define G_OS_UNIX #define G_DIR_SEPARATOR @@ -81,6 +82,14 @@ This macro is defined only on BeOS. So you can bracket BeOS-specific code in "#ifdef G_OS_BEOS". + +G_OS_HAIKU +G_OS_HAIKU#define G_OS_HAIKU + + +This macro is defined only on Haiku. So you can bracket +Haiku-specific code in "#ifdef G_OS_HAIKU". + G_OS_UNIX G_OS_UNIX#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 #include #include +#ifdef HAVE_POLL #include +#endif #include #include @@ -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 #include #include +#ifdef HAVE_POLL #include +#endif #include #include @@ -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 #include #include -#include +//#include #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 #include -#include +//#include #include #include /* 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 #include #include -#include +//#include #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 #include #include -#include +//#include #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 #endif /* G_OS_BEOS */ +#ifdef G_OS_HAIKU +#include +#include +#include "fcntl.h" +#endif /* G_OS_HAIKU */ + #ifdef G_OS_UNIX #include #include @@ -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;