diff -urN readline-5.2/configure.in readline-5.2-haiku/configure.in --- readline-5.2/configure.in 2006-09-28 16:04:24.000000000 +0000 +++ readline-5.2-haiku/configure.in 2008-08-22 11:14:49.000000000 +0000 @@ -87,6 +87,9 @@ i[[3456]]86-*-beos*) cross_cache=${srcdir}/cross-build/x86-beos.cache ;; + i[[3456]]86-*-haiku*) + cross_cache=${srcdir}/cross-build/x86-haiku.cache + ;; *) echo "configure: cross-compiling for $host is not supported" >&2 ;; esac diff -urN readline-5.2/histfile.c readline-5.2-haiku/histfile.c --- readline-5.2/histfile.c 2006-03-31 20:48:43.000000000 +0000 +++ readline-5.2-haiku/histfile.c 2008-08-22 10:45:20.000000000 +0000 @@ -400,7 +400,7 @@ { write (file, bp, chars_read - (bp - buffer)); -#if defined (__BEOS__) +#if defined (__BEOS__) && !defined(__HAIKU__) /* BeOS ignores O_TRUNC. */ ftruncate (file, chars_read - (bp - buffer)); #endif diff -urN readline-5.2/input.c readline-5.2-haiku/input.c --- readline-5.2/input.c 2006-08-16 19:15:16.000000000 +0000 +++ readline-5.2-haiku/input.c 2008-08-22 11:08:52.000000000 +0000 @@ -471,7 +471,7 @@ if (result == 0) return (EOF); -#if defined (__BEOS__) +#if defined (__BEOS__) && !defined(__HAIKU__) if (errno == EINTR) continue; #endif