X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fgrovel-headers.c;h=6c42bd1e8c76249337e1a38d364ee6d85608ff57;hb=1f03c7f326823245708a84af86b31ac72bdb1742;hp=58458b0209207760fbe663051682374d87f88552;hpb=2b0851c405b494143009f68e2bc7e91017a809d4;p=sbcl.git diff --git a/tools-for-build/grovel-headers.c b/tools-for-build/grovel-headers.c index 58458b0..6c42bd1 100644 --- a/tools-for-build/grovel-headers.c +++ b/tools-for-build/grovel-headers.c @@ -22,9 +22,13 @@ #include #include #ifdef _WIN32 + /* KLUDGE: From src/runtime/runtime.h, avoid double definition of + boolean. We really should clean up our act on this one. */ + #define boolean rpcndr_boolean #define WIN32_LEAN_AND_MEAN #include #include + #undef boolean #else #include #include @@ -57,6 +61,7 @@ #endif #include "wrap.h" +#include "gc.h" #define DEFTYPE(lispname,cname) { cname foo; \ printf("(define-alien-type " lispname " (%s %d))\n", (((foo=-1)<0) ? "sb!alien:signed" : "unsigned"), (8 * (sizeof foo))); } @@ -437,10 +442,11 @@ main(int argc, char *argv[]) defconstant("fpe-fltsub", -1); #endif #endif // !WIN32 + printf("\n"); #ifdef LISP_FEATURE_BSD printf(";;; sysctl(3) names\n"); - printf("(in-package \"SB!IMPL\")\n\n"); + printf("(in-package \"SB!IMPL\")\n"); defconstant("ctl-kern", CTL_KERN); defconstant("ctl-hw", CTL_HW); defconstant("ctl-maxname", CTL_MAXNAME); @@ -450,5 +456,14 @@ main(int argc, char *argv[]) defconstant("hw-pagesize", HW_PAGESIZE); printf("\n"); #endif + +#ifdef LISP_FEATURE_GENCGC + printf(";;; GENCGC related\n"); + printf("(in-package \"SB!KERNEL\")\n"); + DEFTYPE("page-index-t", page_index_t); + DEFTYPE("generation-index-t", generation_index_t); + printf("\n"); +#endif + return 0; }