+
+/* This is now really the approach recommended by Autoconf. If this
+ doesn't cause trouble anywhere, remove the original code, which is
+ #if'd out below. */
+
+#if 1
+#include <sys/types.h>
+
+#ifdef HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid definitions. */
+#include <sys/wait.h>
+#endif /* !HAVE_SYS_WAIT_H */
+
+#ifndef WCOREDUMP /* not POSIX */
+#define WCOREDUMP(status) ((status) & 0x80)
+#endif
+#ifndef WEXITSTATUS
+#define WEXITSTATUS(status) (((status) & 0xff00) >> 8)
+#endif
+#ifndef WIFEXITED
+#define WIFEXITED(status) (WTERMSIG(status) == 0)
+#endif
+#ifndef WIFSTOPPED
+#define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
+#endif
+#ifndef WIFSIGNALED
+#define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status))
+#endif
+#ifndef WSTOPSIG
+#define WSTOPSIG(status) WEXITSTATUS(status)
+#endif
+#ifndef WTERMSIG
+#define WTERMSIG(status) ((status) & 0x7f)
+#endif
+
+#undef WAITTYPE
+#define WAITTYPE int
+#undef WRETCODE
+#define WRETCODE(status) WEXITSTATUS (status)
+
+#else /* 0 */
+