I am not 100% clear on this one, but I think the basic issue is that the
code was defining errno always, and that could lose depending on whether
it matched the system definition. Perhaps we need HAVE_ERRNO_H, but in
general I'm in favor of checking for C99/etc. and trying that, and only
if not found trying to work around.
$NetBSD: patch-aj,v 1.3 2007/07/20 00:09:23 gdt Exp $
--- libguile/_scm.h.orig 2007-05-09 16:22:03.000000000 -0400
+++ libguile/_scm.h
@@ -119,7 +119,9 @@
# define SCM_SYSCALL(line) line;
#endif /* ndef SCM_SYSCALL */
-#if !defined (MSDOS) && !defined (__MINGW32__)
+#include <errno.h>
+
+#if !defined (MSDOS) && !defined (__MINGW32__) && !defined(errno)
# ifdef ARM_ULIB
extern volatile int errno;
# else