diff -up doxygen-1.7.4/Makefile.in.orig doxygen-1.7.4/Makefile.in
--- doxygen-1.7.4/Makefile.in.orig	2009-08-20 13:41:13.056098816 -0600
+++ doxygen-1.7.4/Makefile.in	2011-05-14 12:14:04.776208384 -0600
@@ -2,7 +2,7 @@
 #	cd qtools ; $(MAKE)
 #	cd src ; $(MAKE)
 
-DESTDIR = 
+#DESTDIR = 
 
 clean: FORCE
 	cd examples ; $(MAKE) clean
diff -up doxygen-1.7.4/PLATFORMS.orig doxygen-1.7.4/PLATFORMS
--- doxygen-1.7.4/PLATFORMS.orig	2007-11-24 09:12:35.056360960 -0700
+++ doxygen-1.7.4/PLATFORMS	2011-05-14 12:14:04.777519104 -0600
@@ -4,6 +4,7 @@ beos-g++
 dgux-g++
 freebsd-g++
 gnu-g++
+haiku-g++
 hpux-acc
 hpux-cc
 hpux-g++
diff -up doxygen-1.7.4/configure.orig doxygen-1.7.4/configure
--- doxygen-1.7.4/configure.orig	2011-03-28 07:12:47.055050240 -0600
+++ doxygen-1.7.4/configure	2011-05-14 12:14:04.783548416 -0600
@@ -180,6 +180,9 @@ if test -z "$f_platform"; then
         f_insttool=/usr/bin/install
       fi
       ;;
+    Haiku:*)
+      f_platform=haiku-g++
+      ;;
     HP-UX:*)
       f_platform=hpux-g++
       if test "$f_insttool" = NO; then
diff -up doxygen-1.7.4/qtools/qglobal.h.orig doxygen-1.7.4/qtools/qglobal.h
--- doxygen-1.7.4/qtools/qglobal.h.orig	2010-06-09 03:49:13.006553600 -0600
+++ doxygen-1.7.4/qtools/qglobal.h	2011-05-14 12:14:04.784859136 -0600
@@ -150,6 +150,8 @@
 #define _OS_CYGWIN_
 #elif defined(__BEOS__)
 #define _OS_BEOS_
+#elif defined(__HAIKU__)
+#define _OS_HAIKU_
 #elif defined(__MINT__)
 #define _OS_MINT_
 #else
diff -up doxygen-1.7.4/qtools/qthread_unix.cpp.orig doxygen-1.7.4/qtools/qthread_unix.cpp
--- doxygen-1.7.4/qtools/qthread_unix.cpp.orig	2010-05-15 09:48:47.012058624 -0600
+++ doxygen-1.7.4/qtools/qthread_unix.cpp	2011-05-14 12:14:04.785645568 -0600
@@ -123,7 +123,7 @@ void QThread::start()
     pthread_attr_t attr;
     pthread_attr_init(&attr);
     pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
-    pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED);
+    //pthread_attr_setinheritsched(&attr, PTHREAD_INHERIT_SCHED);
     if (d->stackSize>0)
     {
 #if defined(_POSIX_THREAD_ATTR_STACKSIZE) && (_POSIX_THREAD_ATTR_STACKSIZE-0>0)
diff -up doxygen-1.7.4/src/doxygen.cpp.orig doxygen-1.7.4/src/doxygen.cpp
--- doxygen-1.7.4/src/doxygen.cpp.orig	2011-03-22 15:56:58.029360128 -0600
+++ doxygen-1.7.4/src/doxygen.cpp	2011-05-14 12:14:04.802684928 -0600
@@ -9465,7 +9465,7 @@ void readConfiguration(int argc, char **
         {
           if (optind+4<argc || QFileInfo("Doxyfile").exists())
           {
-            QCString df = optind+4<argc ? argv[optind+4] : QCString("Doxyfile");
+            QCString df = optind+4<argc ? (QCString)argv[optind+4] : QCString("Doxyfile");
             if (!Config::instance()->parse(df))
             {
               err("error opening or reading configuration file %s!\n",argv[optind+4]);
diff -up doxygen-1.7.4/src/doxygen.pro.in.orig doxygen-1.7.4/src/doxygen.pro.in
--- doxygen-1.7.4/src/doxygen.pro.in.orig	2011-01-03 13:14:46.046661632 -0700
+++ doxygen-1.7.4/src/doxygen.pro.in	2011-05-14 12:15:50.176947200 -0600
@@ -18,7 +18,8 @@ TEMPLATE     =	app.t
 CONFIG       =	console warn_on $extraopts
 HEADERS      =	doxygen.h 
 SOURCES      =	main.cpp 
-unix:LIBS                  += -L../lib -ldoxygen -ldoxycfg -lqtools -lmd5 -lpthread
+unix:LIBS                  += -L../lib -ldoxygen -ldoxycfg -lqtools -lmd5
+haiku-g++:LIBS             += -L/boot/common/lib -liconv
 win32:INCLUDEPATH          += .
 win32-mingw:LIBS           += -L../lib -ldoxygen -ldoxycfg -lqtools -lmd5 -lpthread
 win32-msvc:LIBS            += qtools.lib md5.lib doxygen.lib doxycfg.lib shell32.lib iconv.lib
diff -up doxygen-1.7.4/tmake/lib/haiku-g++/app.t.orig doxygen-1.7.4/tmake/lib/haiku-g++/app.t
--- doxygen-1.7.4/tmake/lib/haiku-g++/app.t.orig	2011-05-14 12:14:04.823132160 -0600
+++ doxygen-1.7.4/tmake/lib/haiku-g++/app.t	2011-05-14 12:14:04.818937856 -0600
@@ -0,0 +1,2 @@
+#! Use the common Unix template
+#$ IncludeTemplate("../unix/app.t");
diff -up doxygen-1.7.4/tmake/lib/haiku-g++/lib.t.orig doxygen-1.7.4/tmake/lib/haiku-g++/lib.t
--- doxygen-1.7.4/tmake/lib/haiku-g++/lib.t.orig	2011-05-14 12:14:04.828375040 -0600
+++ doxygen-1.7.4/tmake/lib/haiku-g++/lib.t	2011-05-14 12:14:04.827326464 -0600
@@ -0,0 +1,2 @@
+#! Use the common Unix template
+#$ IncludeTemplate("../unix/lib.t");
diff -up doxygen-1.7.4/tmake/lib/haiku-g++/subdirs.t.orig doxygen-1.7.4/tmake/lib/haiku-g++/subdirs.t
--- doxygen-1.7.4/tmake/lib/haiku-g++/subdirs.t.orig	2011-05-14 12:14:04.830210048 -0600
+++ doxygen-1.7.4/tmake/lib/haiku-g++/subdirs.t	2011-05-14 12:14:04.828899328 -0600
@@ -0,0 +1,2 @@
+#! Use the common Unix template
+#$ IncludeTemplate("../unix/subdirs.t");
diff -up doxygen-1.7.4/tmake/lib/haiku-g++/tmake.conf.orig doxygen-1.7.4/tmake/lib/haiku-g++/tmake.conf
--- doxygen-1.7.4/tmake/lib/haiku-g++/tmake.conf.orig	2011-05-14 12:14:04.832045056 -0600
+++ doxygen-1.7.4/tmake/lib/haiku-g++/tmake.conf	2011-05-14 12:14:04.830734336 -0600
@@ -0,0 +1,51 @@
+#
+# 
+#
+# tmake configuration for haiku-g++
+#
+
+TEMPLATE		= app
+CONFIG			= qt warn_on release
+
+TMAKE_CC		= gcc
+TMAKE_CFLAGS		=
+TMAKE_CFLAGS_WARN_ON	= -Wall -W
+TMAKE_CFLAGS_WARN_OFF	=
+TMAKE_CFLAGS_RELEASE	=
+TMAKE_CFLAGS_DEBUG	= -g
+TMAKE_CFLAGS_SHLIB	= -fPIC
+TMAKE_CFLAGS_YACC	= -Wno-unused -Wno-parentheses
+
+TMAKE_CXX		= g++
+TMAKE_CXXFLAGS		= $$TMAKE_CFLAGS
+TMAKE_CXXFLAGS_WARN_ON	= $$TMAKE_CFLAGS_WARN_ON
+TMAKE_CXXFLAGS_WARN_OFF	= $$TMAKE_CFLAGS_WARN_OFF
+TMAKE_CXXFLAGS_RELEASE	= $$TMAKE_CFLAGS_RELEASE
+TMAKE_CXXFLAGS_DEBUG	= $$TMAKE_CFLAGS_DEBUG
+TMAKE_CXXFLAGS_SHLIB	= $$TMAKE_CFLAGS_SHLIB
+TMAKE_CXXFLAGS_YACC	= $$TMAKE_CFLAGS_YACC
+
+TMAKE_INCDIR		=
+TMAKE_LIBDIR		=
+TMAKE_INCDIR_QT		= $(QTDIR)/include
+TMAKE_LIBDIR_QT		= $(QTDIR)/lib
+
+TMAKE_LINK		= g++
+TMAKE_LINK_SHLIB	= g++
+TMAKE_LFLAGS		= -Wl,-rpath=/lib:$(QTDIR)/lib
+TMAKE_LFLAGS_RELEASE	=
+TMAKE_LFLAGS_DEBUG	=
+TMAKE_LFLAGS_SHLIB	= -shared
+TMAKE_LFLAGS_SONAME	= -Wl,-soname,
+
+TMAKE_LIBS		=
+TMAKE_LIBS_QT		= -lqt
+TMAKE_LIBS_QT_MT	= -lqt-mt
+
+TMAKE_MOC		= moc
+
+TMAKE_AR		= ar cqs
+TMAKE_RANLIB		=
+
+TMAKE_TAR		= tar -cf
+TMAKE_GZIP		= gzip -9f
