X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fgrovel-headers.c;h=dc5005416de3f9624caca2f4035fc9ffdd9dcb48;hb=21ff212864ff015b34b0cdc82b40c990e71a5c71;hp=2254aa3c446a547258e60601c096bc41422498b3;hpb=4ed3f0d08c3a57a6762018d9622f253ab9d0f2b6;p=sbcl.git diff --git a/tools-for-build/grovel-headers.c b/tools-for-build/grovel-headers.c index 2254aa3..dc50054 100644 --- a/tools-for-build/grovel-headers.c +++ b/tools-for-build/grovel-headers.c @@ -28,6 +28,8 @@ #include #include #include +#include +#include #include "genesis/config.h" @@ -41,6 +43,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 @@ -55,10 +58,18 @@ main(int argc, char *argv[]) /* don't need no steenking hand-editing */ printf( ";;;; This is an automatically generated file, please do not hand-edit it.\n\ -;;;; See the program \"grovel_headers.c\".\n\ +;;;; See the program \"grovel-headers.c\".\n\ \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(";;; types, types, types\n"); @@ -74,7 +85,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 +115,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 +169,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); @@ -188,9 +207,5 @@ main(int argc, char *argv[]) DEFSIGNAL(SIGXCPU); DEFSIGNAL(SIGXFSZ); #endif -#ifdef LISP_FEATURE_SB_THREAD - /* FIXME OAOOM alert: this information is duplicated in linux-os.h */ - defconstant("sig-dequeue",SIGRTMIN+2); -#endif return 0; }