From: kreuter Date: Sun, 18 Nov 2007 19:46:01 +0000 (+0000) Subject: 1.0.11.30: restore buildability on Windows after 1.0.11.27. X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=4a859f21bcda6fc578fc442effe9230b781eb943;p=sbcl.git 1.0.11.30: restore buildability on Windows after 1.0.11.27. 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. --- diff --git a/src/runtime/wrap.c b/src/runtime/wrap.c index 1d17e9a..8daf076 100644 --- a/src/runtime/wrap.c +++ b/src/runtime/wrap.c @@ -39,6 +39,10 @@ #endif #include +#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 #include /* diff --git a/src/runtime/wrap.h b/src/runtime/wrap.h index 6cf9f64..6942fbb 100644 --- a/src/runtime/wrap.h +++ b/src/runtime/wrap.h @@ -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_ */ diff --git a/tools-for-build/grovel-headers.c b/tools-for-build/grovel-headers.c index 7058a48..ae6a1bf 100644 --- a/tools-for-build/grovel-headers.c +++ b/tools-for-build/grovel-headers.c @@ -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"); diff --git a/version.lisp-expr b/version.lisp-expr index 4cff566..81e0aa8 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"