0.9.8.2: constraint propagation
[sbcl.git] / tools-for-build / grovel-headers.c
index 5a78c71..3a2b615 100644 (file)
@@ -12,7 +12,7 @@
  * While most of SBCL is derived from the CMU CL system, many
  * utilities for the build process (like this one) were written from
  * scratch after the fork from CMU CL.
- * 
+ *
  * This software is in the public domain and is provided with
  * absolutely no warranty. See the COPYING and CREDITS files for
  * more information.
@@ -46,19 +46,26 @@ void
 defconstant(char* lisp_name, long unix_number)
 {
     printf("(defconstant %s %ld) ; #x%lx\n",
-          lisp_name, unix_number, unix_number);
+           lisp_name, unix_number, unix_number);
 }
 
-#define DEFERRNO(name) defconstant(#name, name)
-#define DEFSIGNAL(name) defconstant(#name, name)
+void deferrno(char* lisp_name, long unix_number)
+{
+    defconstant(lisp_name, unix_number);
+}
+
+void defsignal(char* lisp_name, long unix_number)
+{
+    defconstant(lisp_name, unix_number);
+}
 
 int
 main(int argc, char *argv[])
 {
     /* don't need no steenking command line arguments */
     if (1 != argc) {
-       fprintf(stderr, "argh! command line argument(s)\n");
-       exit(1);
+        fprintf(stderr, "argh! command line argument(s)\n");
+        exit(1);
     }
 
     /* don't need no steenking hand-editing */
@@ -71,11 +78,11 @@ main(int argc, char *argv[])
     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");
@@ -119,18 +126,18 @@ main(int argc, char *argv[])
     defconstant("s-ifblk", S_IFBLK);
     defconstant("s-ifreg", S_IFREG);
     printf("\n");
-  
+
     defconstant("s-iflnk",  S_IFLNK);
     defconstant("s-ifsock", S_IFSOCK);
     printf("\n");
 
     printf(";;; error numbers\n");
-    DEFERRNO(ENOENT);
-    DEFERRNO(EINTR);
-    DEFERRNO(EIO);
-    DEFERRNO(EEXIST);
-    DEFERRNO(ESPIPE);
-    DEFERRNO(EWOULDBLOCK);
+    deferrno("enoent", ENOENT);
+    deferrno("eintr", EINTR);
+    deferrno("eio", EIO);
+    deferrno("eexist", EEXIST);
+    deferrno("espipe", ESPIPE);
+    deferrno("ewouldblock", EWOULDBLOCK);
     printf("\n");
 
     printf(";;; for wait3(2) in run-program.lisp\n");
@@ -174,47 +181,47 @@ main(int argc, char *argv[])
     printf("\n");
 
     printf(";;; signals\n");
-    DEFSIGNAL(SIGALRM);
-    DEFSIGNAL(SIGBUS);
-    DEFSIGNAL(SIGCHLD);
-    DEFSIGNAL(SIGCONT);
+    defsignal("sigalrm", SIGALRM);
+    defsignal("sigbus", SIGBUS);
+    defsignal("sigchld", SIGCHLD);
+    defsignal("sigcont", SIGCONT);
 #ifdef SIGEMT
-    DEFSIGNAL(SIGEMT);
+    defsignal("sigemt", SIGEMT);
 #endif
-    DEFSIGNAL(SIGFPE);
-    DEFSIGNAL(SIGHUP);
-    DEFSIGNAL(SIGILL);
-    DEFSIGNAL(SIGINT);
-    DEFSIGNAL(SIGIO);
-    DEFSIGNAL(SIGIOT);
-    DEFSIGNAL(SIGKILL);
-    DEFSIGNAL(SIGPIPE);
-    DEFSIGNAL(SIGPROF);
-    DEFSIGNAL(SIGQUIT);
-    DEFSIGNAL(SIGSEGV);
+    defsignal("sigfpe", SIGFPE);
+    defsignal("sighup", SIGHUP);
+    defsignal("sigill", SIGILL);
+    defsignal("sigint", SIGINT);
+    defsignal("sigio", SIGIO);
+    defsignal("sigiot", SIGIOT);
+    defsignal("sigkill", SIGKILL);
+    defsignal("sigpipe", SIGPIPE);
+    defsignal("sigprof", SIGPROF);
+    defsignal("sigquit", SIGQUIT);
+    defsignal("sigsegv", SIGSEGV);
 #if ((defined LISP_FEATURE_LINUX) && (defined LISP_FEATURE_X86))
-    DEFSIGNAL(SIGSTKFLT);
+    defsignal("sigstkflt", SIGSTKFLT);
 #endif
-    DEFSIGNAL(SIGSTOP);
-#if (!((defined LISP_FEATURE_LINUX) && (defined LISP_FEATURE_X86))) 
-    DEFSIGNAL(SIGSYS);
+    defsignal("sigstop", SIGSTOP);
+#if (!((defined LISP_FEATURE_LINUX) && (defined LISP_FEATURE_X86)))
+    defsignal("sigsys", SIGSYS);
 #endif
-    DEFSIGNAL(SIGTERM);
-    DEFSIGNAL(SIGTRAP);
-    DEFSIGNAL(SIGTSTP);
-    DEFSIGNAL(SIGTTIN);
-    DEFSIGNAL(SIGTTOU);
-    DEFSIGNAL(SIGURG);
-    DEFSIGNAL(SIGUSR1);
-    DEFSIGNAL(SIGUSR2);
-    DEFSIGNAL(SIGVTALRM);
+    defsignal("sigterm", SIGTERM);
+    defsignal("sigtrap", SIGTRAP);
+    defsignal("sigtstp", SIGTSTP);
+    defsignal("sigttin", SIGTTIN);
+    defsignal("sigttou", SIGTTOU);
+    defsignal("sigurg", SIGURG);
+    defsignal("sigusr1", SIGUSR1);
+    defsignal("sigusr2", SIGUSR2);
+    defsignal("sigvtalrm", SIGVTALRM);
 #ifdef LISP_FEATURE_SUNOS
-    DEFSIGNAL(SIGWAITING);
+    defsignal("sigwaiting", SIGWAITING);
 #endif
-    DEFSIGNAL(SIGWINCH);
+    defsignal("sigwinch", SIGWINCH);
 #ifndef LISP_FEATURE_HPUX
-    DEFSIGNAL(SIGXCPU);
-    DEFSIGNAL(SIGXFSZ);
+    defsignal("sigxcpu", SIGXCPU);
+    defsignal("sigxfsz", SIGXFSZ);
 #endif
     return 0;
 }