diff -urNp libiconv.orig/configure libiconv/configure
--- libiconv.orig/configure	2009-06-30 22:51:53.000000000 +0200
+++ libiconv/configure	2009-11-12 04:41:02.000000000 +0100
@@ -20344,6 +20344,7 @@ rm -f conftest*
 
 
 fi
+gl_cv_header_signal_h_SIGPIPE=yes
 { $as_echo "$as_me:$LINENO: result: $gl_cv_header_signal_h_SIGPIPE" >&5
 $as_echo "$gl_cv_header_signal_h_SIGPIPE" >&6; }
 
@@ -23459,7 +23460,6 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <signal.h>
 /* Mingw defines sigset_t not in <signal.h>, but in <sys/types.h>.  */
 #include <sys/types.h>
 
diff -urNp libiconv.orig/signal.h libiconv/signal.h
--- libiconv.orig/signal.h	1970-01-01 01:00:00.000000000 +0100
+++ libiconv/signal.h	2009-11-12 04:39:24.000000000 +0100
@@ -0,0 +1,11 @@
+#ifndef	_SIGNAL_H_
+#define	_SIGNAL_H_
+
+#define	SIGABRT		22	/* Abnormal termination (abort) */
+
+typedef	void (*__p_sig_fn_t)(int);
+#define	SIG_DFL	((__p_sig_fn_t) 0)
+#define	SIG_IGN	((__p_sig_fn_t) 1)
+#define	SIG_ERR ((__p_sig_fn_t) -1)
+
+#endif	/* Not _SIGNAL_H_ */
