diff --git a/.gitattributes b/.gitattributes
index dd9e270ef582c89b24a03d2208a92f0c16e02673..b0c11208de33ab8a1ffc885c4938852dc1fc0bfe 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -35,9 +35,12 @@ testfont binary
 /src/lex.c foreign_ident
 /src/main.c foreign_ident
 /src/mapping.c foreign_ident
+/src/modules/Gdbm/acconfig.h foreign_ident
 /src/modules/Gdbm/gdbmmod.c foreign_ident
 /src/modules/Gmp/mpz_glue.c foreign_ident
+/src/modules/Gz/acconfig.h foreign_ident
 /src/modules/Gz/zlibmod.c foreign_ident
+/src/modules/Image/acconfig.h foreign_ident
 /src/modules/Image/blit.c foreign_ident
 /src/modules/Image/blit_layer_include.h foreign_ident
 /src/modules/Image/colortable.c foreign_ident
@@ -72,6 +75,7 @@ testfont binary
 /src/modules/Oracle/acconfig.h foreign_ident
 /src/modules/Oracle/configure.in foreign_ident
 /src/modules/Oracle/oracle.c foreign_ident
+/src/modules/Pipe/acconfig.h foreign_ident
 /src/modules/Pipe/pipe.c foreign_ident
 /src/modules/Regexp/acconfig.h foreign_ident
 /src/modules/Ssleay/ssleay.c foreign_ident
@@ -99,7 +103,9 @@ testfont binary
 /src/modules/_Crypto/pipe.c foreign_ident
 /src/modules/_Crypto/rc4.c foreign_ident
 /src/modules/call_out/call_out.c foreign_ident
+/src/modules/files/acconfig.h foreign_ident
 /src/modules/files/file.c foreign_ident
+/src/modules/readline/acconfig.h foreign_ident
 /src/modules/spider/accesseddb.h foreign_ident
 /src/modules/spider/dumudp.c foreign_ident
 /src/modules/sprintf/sprintf.c foreign_ident
diff --git a/src/modules/Gdbm/.cvsignore b/src/modules/Gdbm/.cvsignore
index aad00c7c3e38431b47ce053f2856beef3ae02f9a..c4809fbc2c0ce2a08fca89df0c5167d67d68a102 100644
--- a/src/modules/Gdbm/.cvsignore
+++ b/src/modules/Gdbm/.cvsignore
@@ -8,3 +8,5 @@ dependencies
 gdbm_machine.h
 linker_options
 stamp-h
+stamp-h.in
+gdbm_machine.h.in
diff --git a/src/modules/Gdbm/.gitignore b/src/modules/Gdbm/.gitignore
index 0a44e558401781df0a628ad2fdf403d806f568ba..d62d255c66138e63fe34b4ff45c2f7658955eb31 100644
--- a/src/modules/Gdbm/.gitignore
+++ b/src/modules/Gdbm/.gitignore
@@ -8,3 +8,5 @@
 /gdbm_machine.h
 /linker_options
 /stamp-h
+/stamp-h.in
+/gdbm_machine.h.in
diff --git a/src/modules/Gdbm/acconfig.h b/src/modules/Gdbm/acconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..969bacb2d5279414372290348b7a7bc330181997
--- /dev/null
+++ b/src/modules/Gdbm/acconfig.h
@@ -0,0 +1,11 @@
+/*
+ * $Id: acconfig.h,v 1.1 1997/05/22 16:09:38 grubba Exp $
+ */
+
+#ifndef GDBM_MACHINE_H
+#define GDBM_MACHINE_H
+
+@TOP@
+@BOTTOM@
+
+#endif
diff --git a/src/modules/Gdbm/gdbm_machine.h.in b/src/modules/Gdbm/gdbm_machine.h.in
deleted file mode 100644
index e0768c6db7f225e501834cd19279e66561c2a6c6..0000000000000000000000000000000000000000
--- a/src/modules/Gdbm/gdbm_machine.h.in
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef GDBM_MACHINE_H
-#define GDBM_MACHINE_H
-
-/* Define this if you have <gdbm.h> */
-#undef HAVE_GDBM_H
-
-/* Define this if you have libgdbm */
-#undef HAVE_LIBGDBM
-
-#endif
diff --git a/src/modules/Gz/.cvsignore b/src/modules/Gz/.cvsignore
index b60f1913a1ded943910c93507177d28ab055c55c..796fbfa54d847e0b7e3cfec462f7ea27287a7abf 100644
--- a/src/modules/Gz/.cvsignore
+++ b/src/modules/Gz/.cvsignore
@@ -7,3 +7,5 @@ dependencies
 linker_options
 stamp-h
 zlib_machine.h
+stamp-h.in
+zlib_machine.h.in 
diff --git a/src/modules/Gz/.gitignore b/src/modules/Gz/.gitignore
index f4cfce0a1e458466cce958d18029e91a3f73c208..375eb67f6bc5fc8c2aeb825c68cd7486a32e27a2 100644
--- a/src/modules/Gz/.gitignore
+++ b/src/modules/Gz/.gitignore
@@ -7,3 +7,5 @@
 /linker_options
 /stamp-h
 /zlib_machine.h
+/stamp-h.in
+/zlib_machine.h.in
diff --git a/src/modules/Gz/acconfig.h b/src/modules/Gz/acconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..9fe2d021c333461a575f3e4a6f7ac29e50ea6bc5
--- /dev/null
+++ b/src/modules/Gz/acconfig.h
@@ -0,0 +1,14 @@
+/*
+ * $Id: acconfig.h,v 1.1 1997/05/22 16:13:18 grubba Exp $
+ */
+
+#ifndef GMP_MACHINE_H
+#define GMP_MACHINE_H
+
+@TOP@
+@BOTTOM@
+
+/* Define this if you have -lz */
+#undef HAVE_LIBZ
+
+#endif
diff --git a/src/modules/Gz/zlib_machine.h.in b/src/modules/Gz/zlib_machine.h.in
deleted file mode 100644
index 7751a13fcd8c43413bf8bea820c72dfc7e0659ea..0000000000000000000000000000000000000000
--- a/src/modules/Gz/zlib_machine.h.in
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef GMP_MACHINE_H
-#define GMP_MACHINE_H
-
-/* Define this if you have <libz.h> */
-#undef HAVE_ZLIB_H
-
-/* Define this if you have -lz */
-#undef HAVE_LIBZ
-
-/* Define this if you have -lgz */
-#undef HAVE_LIBGZ
-
-#endif
diff --git a/src/modules/Image/.cvsignore b/src/modules/Image/.cvsignore
index 47c84b07459ebcb78e36ee8c2e1a30cee7f440ff..2092bb66577ddfc2772e921f3a9c9b2e1db2a10c 100644
--- a/src/modules/Image/.cvsignore
+++ b/src/modules/Image/.cvsignore
@@ -6,3 +6,5 @@ config.status
 configure
 dependencies
 stamp-h
+stamp-h.in
+config.h.in 
diff --git a/src/modules/Image/.gitignore b/src/modules/Image/.gitignore
index b27587e1b501d0baa775ec479e1a69e7da31aef0..7291e4ea6d3112fee5447c48b162613ab47bf35e 100644
--- a/src/modules/Image/.gitignore
+++ b/src/modules/Image/.gitignore
@@ -6,3 +6,5 @@
 /configure
 /dependencies
 /stamp-h
+/stamp-h.in
+/config.h.in
diff --git a/src/modules/Image/acconfig.h b/src/modules/Image/acconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..39d90cbd7a4b8eb4fa994ffe8a9afbb4bac64ca1
--- /dev/null
+++ b/src/modules/Image/acconfig.h
@@ -0,0 +1,11 @@
+/*
+ * $Id: acconfig.h,v 1.1 1997/05/22 16:15:40 grubba Exp $
+ */
+
+#ifndef IMAGE_MACHINE_H
+#define IMAGE_MACHINE_H
+
+@TOP@
+@BOTTOM@
+
+#endif
diff --git a/src/modules/Image/config.h.in b/src/modules/Image/config.h.in
deleted file mode 100644
index 573e31d4ca89134b34b9caaabc21aaf9f392fcad..0000000000000000000000000000000000000000
--- a/src/modules/Image/config.h.in
+++ /dev/null
@@ -1,19 +0,0 @@
-/* config.h.in.  Generated automatically from configure.in by autoheader.  */
-
-/* Define if you have a working `mmap' system call.  */
-#undef HAVE_MMAP
-
-/* Define if you have the getpagesize function.  */
-#undef HAVE_GETPAGESIZE
-
-/* Define if you have the <fcntl.h> header file.  */
-#undef HAVE_FCNTL_H
-
-/* Define if you have the <stdlib.h> header file.  */
-#undef HAVE_STDLIB_H
-
-/* Define if you have the <sys/fcntl.h> header file.  */
-#undef HAVE_SYS_FCNTL_H
-
-/* Define if you have the <unistd.h> header file.  */
-#undef HAVE_UNISTD_H
diff --git a/src/modules/Pipe/.cvsignore b/src/modules/Pipe/.cvsignore
index 47c84b07459ebcb78e36ee8c2e1a30cee7f440ff..2092bb66577ddfc2772e921f3a9c9b2e1db2a10c 100644
--- a/src/modules/Pipe/.cvsignore
+++ b/src/modules/Pipe/.cvsignore
@@ -6,3 +6,5 @@ config.status
 configure
 dependencies
 stamp-h
+stamp-h.in
+config.h.in 
diff --git a/src/modules/Pipe/.gitignore b/src/modules/Pipe/.gitignore
index b27587e1b501d0baa775ec479e1a69e7da31aef0..7291e4ea6d3112fee5447c48b162613ab47bf35e 100644
--- a/src/modules/Pipe/.gitignore
+++ b/src/modules/Pipe/.gitignore
@@ -6,3 +6,5 @@
 /configure
 /dependencies
 /stamp-h
+/stamp-h.in
+/config.h.in
diff --git a/src/modules/Pipe/acconfig.h b/src/modules/Pipe/acconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..8c568eaeec00cb303dfa4fedf870f737fa48e0e2
--- /dev/null
+++ b/src/modules/Pipe/acconfig.h
@@ -0,0 +1,11 @@
+/*
+ * $Id: acconfig.h,v 1.1 1997/05/22 16:17:19 grubba Exp $
+ */
+
+#ifndef PIPE_MACHINE_H
+#define PIPE_MACHINE_H
+
+@TOP@
+@BOTTOM@
+
+#endif
diff --git a/src/modules/Pipe/config.h.in b/src/modules/Pipe/config.h.in
deleted file mode 100644
index 508a935ac246d6d24a59b2a5c7117feb8fc9ef50..0000000000000000000000000000000000000000
--- a/src/modules/Pipe/config.h.in
+++ /dev/null
@@ -1,13 +0,0 @@
-/* config.h.in.  Generated automatically from configure.in by autoheader.  */
-
-/* Define if you have the mmap function.  */
-#undef HAVE_MMAP
-
-/* Define if you have the munmap function.  */
-#undef HAVE_MUNMAP
-
-/* Define if you have the <linux/mman.h> header file.  */
-#undef HAVE_LINUX_MMAN_H
-
-/* Define if you have the <sys/mman.h> header file.  */
-#undef HAVE_SYS_MMAN_H
diff --git a/src/modules/Pipe/pipe.c b/src/modules/Pipe/pipe.c
index 149bb51a9a7710a4c7cf610f572ba46e738c226e..de7fd2fc8fab8797be93bb2034cc380f8babae76 100644
--- a/src/modules/Pipe/pipe.c
+++ b/src/modules/Pipe/pipe.c
@@ -4,6 +4,8 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
+#include <errno.h>
+
 #ifdef HAVE_SYS_MMAN_H
 #include <sys/mman.h>
 #else
@@ -20,7 +22,7 @@
 #include <fcntl.h>
 
 #include "global.h"
-RCSID("$Id: pipe.c,v 1.8 1997/05/19 22:51:33 hubbe Exp $");
+RCSID("$Id: pipe.c,v 1.9 1997/05/22 16:17:20 grubba Exp $");
 
 #include "stralloc.h"
 #include "pike_macros.h"
@@ -371,7 +373,7 @@ static INLINE void input_finish(void)
 static INLINE struct pike_string* gimme_some_data(unsigned long pos)
 {
    struct buffer *b;
-   unsigned long len;
+   long len;
 
    /* We have a file cache, read from it */
    if (THIS->fd!=-1)
@@ -380,7 +382,14 @@ static INLINE struct pike_string* gimme_some_data(unsigned long pos)
       len=THIS->pos-pos;
       if (len>READ_BUFFER_SIZE) len=READ_BUFFER_SIZE;
       lseek(THIS->fd,pos,0); /* SEEK_SET */
-      read(THIS->fd,static_buffer,len);
+      do {
+	len = read(THIS->fd,static_buffer,len);
+	if (len < 0) {
+	  if (errno != EINTR) {
+	    return(NULL);
+	  }
+	}
+      } while(len < 0);
       return make_shared_binary_string(static_buffer,len);
    }
 
diff --git a/src/modules/files/.cvsignore b/src/modules/files/.cvsignore
index f1f5f6bfffb6dc397c020a651ab73141686cddc5..77d299a6e06ca51cc6fe7bf7f4ce9fb6ef054b0c 100644
--- a/src/modules/files/.cvsignore
+++ b/src/modules/files/.cvsignore
@@ -7,3 +7,5 @@ dependencies
 file_machine.h
 linker_options
 stamp-h
+stamp-h.in
+file_machine.h.in
diff --git a/src/modules/files/.gitignore b/src/modules/files/.gitignore
index 339069d7fffc518a0d1bf9b7a4aa662f8a587a4d..317875f2b986e67cfc18c196e337b5d522458a01 100644
--- a/src/modules/files/.gitignore
+++ b/src/modules/files/.gitignore
@@ -7,3 +7,5 @@
 /file_machine.h
 /linker_options
 /stamp-h
+/stamp-h.in
+/file_machine.h.in
diff --git a/src/modules/files/acconfig.h b/src/modules/files/acconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..6e33d3823c69c1e675ff385c8f2f3bb3ddbd46ba
--- /dev/null
+++ b/src/modules/files/acconfig.h
@@ -0,0 +1,33 @@
+/*
+ * $Id: acconfig.h,v 1.1 1997/05/22 16:18:50 grubba Exp $
+ */
+
+#ifndef FILE_MACHINE_H
+#define FILE_MACHINE_H
+
+@TOP@
+@BOTTOM@
+
+/* Define if your readdir_r is POSIX compatible. */
+#undef HAVE_POSIX_READDIR_R
+
+/* Define if your readdir_r is Solaris compatible. */
+#undef HAVE_SOLARIS_READDIR_R
+
+/* Define if your readdir_r is HPUX compatible. */
+#undef HAVE_HPUX_READDIR_R
+
+/* Define if you have strerror.  */
+#undef HAVE_STRERROR
+
+/* Define if you have a working getcwd */
+#undef HAVE_WORKING_GETCWD
+
+/* Do we have socketpair() ? */
+#undef HAVE_SOCKETPAIR
+
+/* Buffer size to use on open sockets */
+#undef SOCKET_BUFFER_MAX 
+
+#endif
+
diff --git a/src/modules/files/file_machine.h.in b/src/modules/files/file_machine.h.in
deleted file mode 100644
index fcbcdc862913532d9c04dde8e14870d7687dd24f..0000000000000000000000000000000000000000
--- a/src/modules/files/file_machine.h.in
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef FILE_MACHINE_H
-#define FILE_MACHINE_H
-
-/* Define if you have arpa/inhet.h */
-#undef HAVE_ARPA_INET_H
-
-/* Define if you have the <sys/socketvar.h> header file.  */
-#undef HAVE_SYS_SOCKETVAR_H
-
-/* Define if you have the <netinet/in.h> header file.  */
-#undef HAVE_NETINET_IN_H
-
-/* Define if you have the <sys/straem.h> header file.  */
-#undef HAVE_SYS_STREAM_H
-
-/* Define if you have the <sys/protosw.h> header file.  */
-#undef HAVE_SYS_PROTOSW_H
-
-/* Define if you have the <netdb.h> header file.  */
-#undef HAVE_NETDB_H
-
-/* Define if you have dirent.h.  */
-#undef HAVE_DIRENT_H
-
-/* Define if you don't have dirent.h, but have ndir.h.  */
-#undef HAVE_NDIR_H
-
-/* Define if you don't have dirent.h, but have sys/dir.h.  */
-#undef HAVE_SYS_DIR_H
-
-/* Define if you don't have dirent.h, but have sys/ndir.h.  */
-#undef HAVE_SYS_NDIR_H
-
-/* Buffer size to use on open sockets */
-#undef SOCKET_BUFFER_MAX 
-
-/* Do we have socketpair() ? */
-#undef HAVE_SOCKETPAIR
-
-/* Define if you have getwd.  */
-#undef HAVE_GETWD
-
-/* Define if you have fork1.  */
-#undef HAVE_FORK1
-
-/* Define if you have readdir_r.  */
-#undef HAVE_READDIR_R
-
-/* Define if your readdir_r is POSIX compatible. */
-#undef HAVE_POSIX_READDIR_R
-
-/* Define if your readdir_r is Solaris compatible. */
-#undef HAVE_SOLARIS_READDIR_R
-
-/* Define if your readdir_r is HPUX compatible. */
-#undef HAVE_HPUX_READDIR_R
-
-/* Define if you have strerror.  */
-#undef HAVE_STRERROR
-
-/* Define if you have a working getcwd */
-#undef HAVE_WORKING_GETCWD
-
-/* Define this if you have perror() */
-#undef HAVE_PERROR
-
-#endif
-
diff --git a/src/modules/readline/.cvsignore b/src/modules/readline/.cvsignore
index 74ee34e458820cc9a20357e972f33acb4b423f03..0f014b098c91ff9e60d95190585599ef78fd836a 100644
--- a/src/modules/readline/.cvsignore
+++ b/src/modules/readline/.cvsignore
@@ -8,3 +8,5 @@ lib_dirs
 linker_options
 readline_machine.h
 stamp-h
+stamp-h.in
+readline_machine.h.in 
diff --git a/src/modules/readline/.gitignore b/src/modules/readline/.gitignore
index 85b1cf5830cd9ca112606ef69527ffa8b619bbbf..1eb749705853ffbb8f93384f66fa8b88bc830f80 100644
--- a/src/modules/readline/.gitignore
+++ b/src/modules/readline/.gitignore
@@ -8,3 +8,5 @@
 /linker_options
 /readline_machine.h
 /stamp-h
+/stamp-h.in
+/readline_machine.h.in
diff --git a/src/modules/readline/acconfig.h b/src/modules/readline/acconfig.h
new file mode 100644
index 0000000000000000000000000000000000000000..e4a37f8b3a9b6e632412b838f45fcc7ce0ff947d
--- /dev/null
+++ b/src/modules/readline/acconfig.h
@@ -0,0 +1,11 @@
+/*
+ * $Id: acconfig.h,v 1.1 1997/05/22 16:20:25 grubba Exp $
+ */
+
+#ifndef READLINE_MACHINE_H
+#define READLINE_MACHINE_H
+
+@TOP@
+@BOTTOM@
+
+#endif
diff --git a/src/modules/readline/readline_machine.h.in b/src/modules/readline/readline_machine.h.in
deleted file mode 100644
index 7ce5c2ec3ae6a7ec83311f5c10fc614513a3f908..0000000000000000000000000000000000000000
--- a/src/modules/readline/readline_machine.h.in
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef GDBM_MACHINE_H
-#define GDBM_MACHINE_H
-
-/* Define this if you have <readline.h> */
-#undef HAVE_READLINE_H
-#undef HAVE_READLINE_READLINE_H
-
-/* Define this if you have <history.h> */
-#undef HAVE_HISTORY_H
-#undef HAVE_HISTORY_HISTORY_H
-#undef HAVE_READLINE_HISTORY_H
-
-/* Define this if you have -lreadline */
-#undef HAVE_LIBREADLINE
-
-/* Define this if you have -ltermcap */
-#undef HAVE_LIBTERMCAP
-
-#endif