diff -up global-6.2.9/configure.ac.orig global-6.2.9/configure.ac
--- global-6.2.9/configure.ac.orig	2013-08-26 00:22:17.045350912 -0600
+++ global-6.2.9/configure.ac	2013-10-16 16:41:31.312475648 -0600
@@ -57,7 +57,7 @@ LTDL_INIT([recursive])
 dnl Checks for libraries.
 
 dnl Checks for header files.
-AC_CHECK_HEADERS(limits.h string.h unistd.h stdarg.h sys/time.h fcntl.h)
+AC_CHECK_HEADERS(limits.h string.h unistd.h stdarg.h stdint.h sys/time.h fcntl.h)
 AC_CHECK_HEADERS(sys/resource.h)
 AC_HEADER_DIRENT
 if test ${ac_header_dirent} = no; then
diff -up global-6.2.9/libdb/db.h.orig global-6.2.9/libdb/db.h
--- global-6.2.9/libdb/db.h.orig	2013-08-26 00:22:17.003407872 -0600
+++ global-6.2.9/libdb/db.h	2013-10-16 16:41:31.329252864 -0600
@@ -42,6 +42,9 @@
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
 
 #include "compat.h"
 
diff -up global-6.2.9/libutil/conf.c.orig global-6.2.9/libutil/conf.c
diff -up global-6.2.9/libutil/conf.h.orig global-6.2.9/libutil/conf.h
--- global-6.2.9/libutil/conf.h.orig	2013-08-26 00:22:17.054001664 -0600
+++ global-6.2.9/libutil/conf.h	2013-10-16 16:41:31.350748672 -0600
@@ -35,7 +35,11 @@
 
 				/** for compatibility */
 #define OLD_DEBIANCONF  "/etc/gtags/global.conf"
+#ifdef __HAIKU__
+#define GTAGSRC 	"globalrc"
+#else
 #define GTAGSRC 	".globalrc"
+#endif
 #ifdef __DJGPP__
 #define DOS_GTAGSRC	"_globalrc"
 #endif
diff -up global-6.2.9/libutil/env.c.orig global-6.2.9/libutil/env.c
--- global-6.2.9/libutil/env.c.orig	2013-10-16 16:48:01.123731968 -0600
+++ global-6.2.9/libutil/env.c	2013-10-16 16:50:38.467402752 -0600
@@ -32,6 +32,11 @@
 #include <home_etc.h>
 #endif
 
+#ifdef __HAIKU__
+#include <FindDirectory.h>
+#include <fs_info.h>
+#endif
+
 #include "die.h"
 #include "env.h"
 #include "strbuf.h"
@@ -72,6 +77,11 @@ get_home_directory(void)
 {
 #ifdef HAVE_HOME_ETC_H
 	return _HEdir;
+#elif defined(__HAIKU__)
+	char buffer[B_PATH_NAME_LENGTH+B_FILE_NAME_LENGTH];
+	if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, buffer, sizeof(buffer)) != B_OK)
+		return NULL;
+	return strdup(buffer);
 #else
 	return getenv("HOME");
 #endif
diff -up global-6.2.9/m4/check_curses.m4.orig global-6.2.9/m4/check_curses.m4
--- global-6.2.9/m4/check_curses.m4.orig	2013-08-26 00:22:17.045088768 -0600
+++ global-6.2.9/m4/check_curses.m4	2013-10-16 16:41:31.338690048 -0600
@@ -240,6 +240,9 @@ AC_DEFUN([AC_SEARCH_NCURSES], [
 
     AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
 
+    AC_NCURSES(/boot/system/develop/headers, ncurses.h, -lncurses, -I/boot/system/develop/headers/, "ncurses in /boot/system")
+    AC_NCURSES(/boot/home/config/develop/headers, ncurses.h, -lncurses, -I/boot/home/config/develop/headers, "ncurses in /boot/home/config")
+
     dnl
     dnl We couldn't find ncurses, try SysV curses
     dnl
