1.0.11.30: restore buildability on Windows after 1.0.11.27.
authorkreuter <kreuter>
Sun, 18 Nov 2007 19:46:01 +0000 (19:46 +0000)
committerkreuter <kreuter>
Sun, 18 Nov 2007 19:46:01 +0000 (19:46 +0000)
src/runtime/wrap.c: move conditional definition of WIN32_LEAN_AND_MEAN
                    so that it precedes other #includes, to prevent
    conflicting win32 stuff from being pulled in by the
                    new wrap.h.

src/runtime/wrap.h: Add preprocessor conditionals to guard against repeated
                    inclusion.

tools-for-build/grovel-headers.c: grovel the wrapped stat types on win32.

src/runtime/wrap.c
src/runtime/wrap.h
tools-for-build/grovel-headers.c
version.lisp-expr

index 1d17e9a..8daf076 100644 (file)
 #endif
 #include <stdio.h>
 
+#if defined(LISP_FEATURE_WIN32)
+#define WIN32_LEAN_AND_MEAN
+#endif
+
 #include "runtime.h"
 #include "util.h"
 #include "wrap.h"
@@ -307,7 +311,6 @@ wrapped_environ()
 }
 
 #ifdef LISP_FEATURE_WIN32
-#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #include <time.h>
 /*
index 6cf9f64..6942fbb 100644 (file)
@@ -4,7 +4,8 @@
  * src/tools-for-build/grovel-headers.c can grovel the sizes of
  * things.
  */
-
+#ifndef _SBCL_WRAP_H_
+#define _SBCL_WRAP_H_
 
 /* As of 0.6.12, the FFI can't handle 64-bit values. For now, we use
  * these munged-to-32-bits values for might-be-64-bit slots of
@@ -32,7 +33,6 @@
  * employed. */
 
 #include "sbcl.h"
-#include "runtime.h"
 
 /* We use an extra layer of aliasing because Linux/MIPS struct stat
    doesn't use dev_t. This type is not defined on the Lisp side. */
@@ -46,8 +46,10 @@ typedef dev_t aliased_dev_t;
 typedef aliased_dev_t wst_dev_t;
 typedef off_t wst_off_t;
 #else
-typedef u32 wst_dev_t; /* since Linux dev_t can be 64 bits */
-typedef u32 wst_off_t; /* since OpenBSD 2.8 st_size is 64 bits */
+/* These wrappers shouldn't exist, and since pulling in runtime.h caused
+ * problems on Win32, we don't use the u32 typedef. */
+typedef unsigned int wst_dev_t; /* since Linux dev_t can be 64 bits */
+typedef unsigned int wst_off_t; /* since OpenBSD 2.8 st_size is 64 bits */
 #endif
 
 #ifdef LISP_FEATURE_OS_PROVIDES_BLKSIZE_T
@@ -94,3 +96,5 @@ struct stat_wrapper {
     time_t        wrapped_st_mtime;       /* time_t of last modification */
     time_t        wrapped_st_ctime;       /* time_t of last change */
 };
+
+#endif /* _SBCL_WRAP_H_ */
index 7058a48..ae6a1bf 100644 (file)
@@ -219,6 +219,14 @@ main(int argc, char *argv[])
     DEFTYPE("size-t", size_t);
     DEFTYPE("mode-t", mode_t);
 
+    DEFTYPE("wst-dev-t", wst_dev_t);
+    DEFTYPE("wst-off-t", wst_off_t);
+    DEFTYPE("wst-blksize-t", wst_blksize_t);
+    DEFTYPE("wst-blkcnt-t", wst_blkcnt_t);
+    DEFTYPE("wst-nlink-t", wst_nlink_t);
+    DEFTYPE("wst-uid-t", wst_uid_t);
+    DEFTYPE("wst-gid-t", wst_gid_t);
+    printf("\n");
 #else
     printf("(in-package \"SB!ALIEN\")\n\n");
 
index 4cff566..81e0aa8 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.11.29"
+"1.0.11.30"