aboutsummaryrefslogtreecommitdiff
path: root/module/c/cpp.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/c/cpp.scm')
-rw-r--r--module/c/cpp.scm7
1 files changed, 5 insertions, 2 deletions
diff --git a/module/c/cpp.scm b/module/c/cpp.scm
index 69e21d27..2fe842c8 100644
--- a/module/c/cpp.scm
+++ b/module/c/cpp.scm
@@ -114,7 +114,10 @@
(string-append "cpp -dM " header-file))
read-lines)))
-(define-macro (include# header-file)
+(define-macro (include# header-file . args)
+
+ (define define-form (if (null? args) 'define (car args)))
+
(define lines (remove (compose private-c-symbol? car)
(tokenize-header-file header-file)))
@@ -131,7 +134,7 @@
(define graph (add-node graph* (cons '_POSIX_VDISABLE #f) '()))
`(begin
- ,@(map (lambda (pair) `(define ,(car pair) ,(cdr pair)))
+ ,@(map (lambda (pair) `(,define-form ,(car pair) ,(cdr pair)))
(resolve-dependency-graph graph))))