Index: /trunk/source/lisp-kernel/lisp.h
===================================================================
--- /trunk/source/lisp-kernel/lisp.h	(revision 13607)
+++ /trunk/source/lisp-kernel/lisp.h	(revision 13608)
@@ -79,39 +79,5 @@
 #define PLATFORM_OS_WINDOWS 5
 
-#ifdef LINUX
-#define PLATFORM_OS PLATFORM_OS_LINUX
-#endif
 
-#ifdef DARWIN
-#define PLATFORM_OS PLATFORM_OS_DARWIN
-#endif
-
-#ifdef FREEBSD
-#define PLATFORM_OS PLATFORM_OS_FREEBSD
-#endif
-
-#ifdef SOLARIS
-#define PLATFORM_OS PLATFORM_OS_SOLARIS
-#endif
-
-#ifdef WINDOWS
-#define PLATFORM_OS PLATFORM_OS_WINDOWS
-#endif
-
-#ifdef PPC
-#define PLATFORM_CPU PLATFORM_CPU_PPC
-#endif
-
-#ifdef X86
-#define PLATFORM_CPU PLATFORM_CPU_X86
-#endif
-
-#if (WORD_SIZE == 32)
-#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
-#endif
-
-#if (WORD_SIZE == 64)
-#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
-#endif
 
 #define PLATFORM (PLATFORM_OS|PLATFORM_CPU|PLATFORM_WORD_SIZE)
Index: /trunk/source/lisp-kernel/platform-darwinppc.h
===================================================================
--- /trunk/source/lisp-kernel/platform-darwinppc.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-darwinppc.h	(revision 13608)
@@ -16,5 +16,11 @@
 */
 
-#define WORD_SIZE 32
+#define WORD_SIZE 3
+#define PLATFORM_OS PLATFORM_OS_DARWIN
+#define PLATFORM_CPU PLATFORM_CPU_PPC
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
+
+#include <sys/signal.h>
+#include <sys/ucontext.h>
 
 /* ucontext/mcontext stuff; saner if OS >= 10.5 */
@@ -22,2 +28,4 @@
 typedef mcontext_t MCONTEXT_T;
 #define UC_MCONTEXT(UC) UC->uc_mcontext
+
+#include "standard-inttypes.h"
Index: /trunk/source/lisp-kernel/platform-darwinppc64.h
===================================================================
--- /trunk/source/lisp-kernel/platform-darwinppc64.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-darwinppc64.h	(revision 13608)
@@ -17,16 +17,15 @@
 
 #define WORD_SIZE 64
+#define PLATFORM_OS PLATFORM_OS_DARWIN
+#define PLATFORM_CPU PLATFORM_CPU_PPC
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
+
+/* ucontext/mcontext stuff; saner if OS >= 10.5 */
+#include <sys/signal.h>
+#include <sys/ucontext.h>
+typedef _STRUCT_UCONTEXT64 ExceptionInformation;
+typedef _STRUCT_MCONTEXT64 *MCONTEXT_T;
+#define UC_MCONTEXT(UC) UC->uc_mcontext64
 
 
-/* ucontext/mcontext stuff; saner if OS >= 10.5 */
-typedef struct ucontext64 ExceptionInformation;
-typedef struct mcontext64 MCONTEXT_T;
-#define UC_MCONTEXT(UC) UC->uc_mcontext
-
-/* Define "standard" C integer types.  There are lots of standards; we
-   basically want to define signed/unsigned 8/16/32/64-bit integer
-   types (s8_t, u32_t) with names that we can use consistently in
-   this code.  (We may or may not actually use them consistently.)
- */
-
 #include "standard-inttypes.h"
Index: /trunk/source/lisp-kernel/platform-darwinx8632.h
===================================================================
--- /trunk/source/lisp-kernel/platform-darwinx8632.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-darwinx8632.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 32
+#define PLATFORM_OS PLATFORM_OS_DARWIN
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
 
 /* ucontext/mcontext stuff; saner if OS >= 10.5 */
Index: /trunk/source/lisp-kernel/platform-darwinx8664.h
===================================================================
--- /trunk/source/lisp-kernel/platform-darwinx8664.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-darwinx8664.h	(revision 13608)
@@ -17,4 +17,8 @@
 
 #define WORD_SIZE 64
+#define PLATFORM_OS PLATFORM_OS_DARWIN
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
+
 
 #include <sys/signal.h>
Index: /trunk/source/lisp-kernel/platform-freebsdx8632.h
===================================================================
--- /trunk/source/lisp-kernel/platform-freebsdx8632.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-freebsdx8632.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 32
+#define PLATFORM_OS PLATFORM_OS_FREEBSD
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
 
 typedef struct __ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-freebsdx8664.h
===================================================================
--- /trunk/source/lisp-kernel/platform-freebsdx8664.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-freebsdx8664.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 64
+#define PLATFORM_OS PLATFORM_OS_FREEBSD
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
 
 typedef struct __ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-linuxppc.h
===================================================================
--- /trunk/source/lisp-kernel/platform-linuxppc.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-linuxppc.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 32
+#define PLATFORM_OS PLATFORM_OS_LINUX
+#define PLATFORM_CPU PLATFORM_CPU_PPC
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
 
 typedef struct ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-linuxppc64.h
===================================================================
--- /trunk/source/lisp-kernel/platform-linuxppc64.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-linuxppc64.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 64
+#define PLATFORM_OS PLATFORM_OS_LINUX
+#define PLATFORM_CPU PLATFORM_CPU_PPC
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
 
 typedef struct ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-linuxx8632.h
===================================================================
--- /trunk/source/lisp-kernel/platform-linuxx8632.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-linuxx8632.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 32
+#define PLATFORM_OS PLATFORM_OS_LINUX
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
 
 typedef struct ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-linuxx8664.h
===================================================================
--- /trunk/source/lisp-kernel/platform-linuxx8664.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-linuxx8664.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 64
+#define PLATFORM_OS PLATFORM_OS_LINUX
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
 
 typedef struct ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-solarisx64.h
===================================================================
--- /trunk/source/lisp-kernel/platform-solarisx64.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-solarisx64.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 64
+#define PLATFORM_OS PLATFORM_OS_SOLARIS
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
 
 typedef struct ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-solarisx86.h
===================================================================
--- /trunk/source/lisp-kernel/platform-solarisx86.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-solarisx86.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 32
+#define PLATFORM_OS PLATFORM_OS_SOLARIS
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
 
 typedef struct ucontext ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-win32.h
===================================================================
--- /trunk/source/lisp-kernel/platform-win32.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-win32.h	(revision 13608)
@@ -17,4 +17,7 @@
 
 #define WORD_SIZE 32
+#define PLATFORM_OS PLATFORM_OS_WINDOWS
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_32
 
 typedef CONTEXT ExceptionInformation;
Index: /trunk/source/lisp-kernel/platform-win64.h
===================================================================
--- /trunk/source/lisp-kernel/platform-win64.h	(revision 13607)
+++ /trunk/source/lisp-kernel/platform-win64.h	(revision 13608)
@@ -0,0 +1,25 @@
+/*
+   Copyright (C) 2010 Clozure Associates
+   Copyright (C) 1994-2001 Digitool, Inc
+   This file is part of Clozure CL.  
+
+   Clozure CL is licensed under the terms of the Lisp Lesser GNU Public
+   License , known as the LLGPL and distributed with Clozure CL as the
+   file "LICENSE".  The LLGPL consists of a preamble and the LGPL,
+   which is distributed with Clozure CL as the file "LGPL".  Where these
+   conflict, the preamble takes precedence.  
+
+   Clozure CL is referenced in the preamble as the "LIBRARY."
+
+   The LLGPL is also available online at
+   http://opensource.franz.com/preamble.html
+*/
+
+#define WORD_SIZE 64
+#define PLATFORM_OS PLATFORM_OS_WINDOWS
+#define PLATFORM_CPU PLATFORM_CPU_X86
+#define PLATFORM_WORD_SIZE PLATFORM_WORD_SIZE_64
+
+typedef CONTEXT ExceptionInformation;
+
+#include "windows-inttypes.h"
