X-Git-Url: https://jxself.org/git/?p=mes.git;a=blobdiff_plain;f=module%2Flanguage%2Fc99%2Fcompiler.mes;h=ce602786da88d5e1132e02d15e6b8d2cbba5c416;hp=92d69cfdd5e6a60c531f79f752aa446ddcbc1d6d;hb=4b1de28449a8c28ffa72639fda001714f7f0c1be;hpb=62e7809725146c8b647958bf751efef4041f7288 diff --git a/module/language/c99/compiler.mes b/module/language/c99/compiler.mes index 92d69cfd..ce602786 100644 --- a/module/language/c99/compiler.mes +++ b/module/language/c99/compiler.mes @@ -48,42 +48,20 @@ (define (stderr string . rest) (apply logf (cons* (current-error-port) string rest))) -(define %datadir (if (string-prefix? "@DATADIR" "@DATADIR@") "" "@DATADIR@")) -(define %docdir (if (string-prefix? "@DOCDIR" "@DOCDIR@") "doc/" "@DOCDIR@")) -(define %moduledir "module/") -(define %prefix (if (string-prefix? "@PREFIX" "@PREFIX@") "" "@PREFIX@")) -(define %version (if (string-prefix? "@VERSION" "@VERSION@") "git" "@VERSION@")) +(define %prefix (if (string-prefix? "@PREFIX" "@PREFIX@") (or (getenv "PREFIX") "") "@PREFIX@")) (define mes? (pair? (current-module))) (define* (c99-input->full-ast #:key (defines '()) (includes '())) (let ((include (if (equal? %prefix "") "mlibc/include" (string-append %prefix "/share/mlibc/include")))) (parse-c99 - #:inc-dirs (append includes (cons* "." "mlibc" "src" "out" "out/src" include (or (and=> (getenv "C_INCLUDE_PATH") (cut string-split <> #\:)) '()))) + #:inc-dirs (append includes (cons* include "mlibc/include" "mlibc" (or (and=> (getenv "C_INCLUDE_PATH") (cut string-split <> #\:)) '()))) #:cpp-defs `( "POSIX=0" "_POSIX_SOURCE=0" "__MESC__=1" - "EOF=-1" - "STDIN=0" - "STDOUT=1" - "STDERR=2" - - "INT_MIN=-2147483648" - "INT_MAX=2147483647" - "NULL=0" - - "FIXED_PRIMITIVES=1" - ,(if mes? "__MESC_MES__=1" "__MESC_MES__=0") - - ,(string-append "DATADIR=\"" %datadir "\"") - ,(string-append "DOCDIR=\"" %docdir "\"") - ,(string-append "PREFIX=\"" %prefix "\"") - ,(string-append "MODULEDIR=\"" %moduledir "\"") - ,(string-append "VERSION=\"" %version "\"") - ,@defines - ) + ,@defines) #:mode 'code))) (define (ast-strip-comment o)