mescc: Add <include>/<kernel>/<arch> to include path.
[mes.git] / module / mescc / mescc.scm
index fbb28f07a2877f34437da0762c97bf79422c387c..a9eecc00546cca3d428ceb82cd89a84bdbab23b9 100644 (file)
          (includes (cons dir includes))
          (prefix (option-ref options 'prefix ""))
          (machine (option-ref options 'machine "32"))
-         (arch (if (equal? machine "32") "__i386__=1" "__x86_64__=1"))
+         (arch (arch-get options))
          (defines (cons (arch-get-define options) defines)))
     (with-output-to-file ast-file-name
-      (lambda _ (for-each (cut c->ast prefix defines includes pretty-print/write <>) files)))))
+      (lambda _ (for-each (cut c->ast prefix defines includes arch pretty-print/write <>) files)))))
 
-(define (c->ast prefix defines includes write file-name)
+(define (c->ast prefix defines includes arch write file-name)
   (with-input-from-file file-name
-    (cut write (c99-input->ast #:prefix prefix #:defines defines #:includes includes))))
+    (cut write (c99-input->ast #:prefix prefix #:defines defines #:includes includes #:arch arch))))
 
 (define (mescc:compile options)
   (let* ((files (option-ref options '() '("a.c")))
          (dir (dirname file-name))
          (includes (cons dir includes))
          (prefix (option-ref options 'prefix ""))
-         (defines (cons (arch-get-define options) defines)))
+         (defines (cons (arch-get-define options) defines))
+         (arch (arch-get options)))
     (with-input-from-file file-name
-      (cut c99-input->info (arch-get-info options) #:prefix prefix #:defines defines #:includes includes))))
+      (cut c99-input->info (arch-get-info options) #:prefix prefix #:defines defines #:includes includes #:arch arch))))
 
 (define (E->info options file-name)
   (let ((ast (with-input-from-file file-name read)))