X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fgrovel-headers.c;h=5a78c718b4298b8aa84aa1cee756bf86430664c0;hb=77d94d36bcfd3d5eea73ad51e6ee621a8938f995;hp=facc3f8273225cc081ad2c8339e782103a985d3c;hpb=dcf5978d9d33098e868ae6eea28e1b310038c03d;p=sbcl.git diff --git a/tools-for-build/grovel-headers.c b/tools-for-build/grovel-headers.c index facc3f8..5a78c71 100644 --- a/tools-for-build/grovel-headers.c +++ b/tools-for-build/grovel-headers.c @@ -28,6 +28,14 @@ #include #include #include +#include +#ifdef __APPLE_CC__ + #include "../src/runtime/ppc-darwin-dlshim.h" + #include "../src/runtime/ppc-darwin-langinfo.h" +#else + #include + #include +#endif #include "genesis/config.h" @@ -41,6 +49,7 @@ defconstant(char* lisp_name, long unix_number) lisp_name, unix_number, unix_number); } +#define DEFERRNO(name) defconstant(#name, name) #define DEFSIGNAL(name) defconstant(#name, name) int @@ -59,8 +68,19 @@ main(int argc, char *argv[]) \n\ "); + printf("(in-package \"SB!ALIEN\")\n\n"); + + printf (";;;flags for dlopen()\n"); + + defconstant ("rtld-lazy", RTLD_LAZY); + defconstant ("rtld-now", RTLD_NOW); + defconstant ("rtld-global", RTLD_GLOBAL); + printf("(in-package \"SB!UNIX\")\n\n"); + printf(";;; langinfo\n"); + defconstant("codeset", CODESET); + printf(";;; types, types, types\n"); DEFTYPE("clock-t", clock_t); DEFTYPE("dev-t", dev_t); @@ -74,7 +94,7 @@ main(int argc, char *argv[]) DEFTYPE("uid-t", uid_t); printf("\n"); - printf(";;; fcntl.h (or unistd.h on OpenBSD)\n"); + printf(";;; fcntl.h (or unistd.h on OpenBSD and NetBSD)\n"); defconstant("r_ok", R_OK); defconstant("w_ok", W_OK); defconstant("x_ok", X_OK); @@ -104,6 +124,15 @@ main(int argc, char *argv[]) defconstant("s-ifsock", S_IFSOCK); printf("\n"); + printf(";;; error numbers\n"); + DEFERRNO(ENOENT); + DEFERRNO(EINTR); + DEFERRNO(EIO); + DEFERRNO(EEXIST); + DEFERRNO(ESPIPE); + DEFERRNO(EWOULDBLOCK); + printf("\n"); + printf(";;; for wait3(2) in run-program.lisp\n"); defconstant("wnohang", WNOHANG); defconstant("wuntraced", WUNTRACED); @@ -149,8 +178,7 @@ main(int argc, char *argv[]) DEFSIGNAL(SIGBUS); DEFSIGNAL(SIGCHLD); DEFSIGNAL(SIGCONT); -/* FIXME: Maybe #ifdef SIGEMT would be a smarter conditional? */ -#if (!(defined LISP_FEATURE_LINUX) || !((defined LISP_FEATURE_PPC) || (defined LISP_FEATURE_X86))) +#ifdef SIGEMT DEFSIGNAL(SIGEMT); #endif DEFSIGNAL(SIGFPE);