diff -up texinfo-4.13/gnulib/lib/config.charset.orig texinfo-4.13/gnulib/lib/config.charset
--- texinfo-4.13/gnulib/lib/config.charset.orig	2009-12-29 21:12:13.000000000 -0700
+++ texinfo-4.13/gnulib/lib/config.charset	2009-12-29 21:16:35.000000000 -0700
@@ -478,8 +478,8 @@ case "$os" in
 	# space nevertheless.
 	echo "* UTF-8"
 	;;
-    beos*)
-	# BeOS has a single locale, and it has UTF-8 encoding.
+    beos*|haiku*)
+	# BeOS has a single locale, and it has UTF-8 encoding. Same for Haiku.
 	echo "* UTF-8"
 	;;
     msdosdjgpp*)
diff -up texinfo-4.13/system.h.orig texinfo-4.13/system.h
--- texinfo-4.13/system.h.orig	2009-12-29 21:12:00.000000000 -0700
+++ texinfo-4.13/system.h	2009-12-29 21:19:49.000000000 -0700
@@ -151,7 +151,7 @@ extern int strcoll ();
 # define va_end(args)
 #endif
 
-#if O_BINARY
+#if O_BINARY && !defined(__HAIKU__)
 # ifdef HAVE_IO_H
 #  include <io.h>
 # endif
@@ -220,6 +220,10 @@ extern int strcoll ();
 # define PIPE_USE_FORK	1
 #endif /* not O_BINARY */
 
+#if defined(__HAIKU__)
+# define DEFAULT_INFOPATH "/boot/common/info;/boot/common/share/info;/boot/home/config/info;/boot/home/config/share/info;."
+#endif
+
 /* Everything but DJGPP.  */
 #ifndef ALSO_NULL_DEVICE
 # define ALSO_NULL_DEVICE  ""
