source: project/release/4/r7rs/trunk/r7rs.setup @ 30898

Last change on this file since 30898 was 30898, checked in by evhan, 6 years ago

r7rs: read/write for shared data

File size: 1.5 KB
Line 
1;; -*- Scheme -*-
2
3
4(use make srfi-1)
5
6(define scheme-modules
7  '("case-lambda" "char" "complex" "cxr" "eval" "file" "inexact" "lazy" "load" "process-context" "r5rs" "read" "repl" "time" "write"))
8
9(make (("r7rs-compile-time.so" ("r7rs-compile-time.scm" "r7rs-compile-time-module.scm")
10        (compile -s -O3 -d1 r7rs-compile-time-module.scm -J -o r7rs-compile-time.so)
11        (compile -s -O3 -d0 r7rs-compile-time.import.scm))
12       ("scheme.base.so" ("scheme.base.scm" "scheme.base-interface.scm")
13        (compile -s -O3 -d1 scheme.base.scm -J -emit-type-file scheme.base.types)
14        (compile -s -O3 -d0 scheme.base.import.scm)))
15  '("r7rs-compile-time.so" "scheme.base.so"))
16
17(for-each
18 (lambda (m)
19   (let* ((mname (string-append "scheme." m))
20          (so (string-append mname ".so"))
21          (scm (string-append mname ".scm")))
22     (make/proc (list (list so (list scm)
23                            (lambda ()
24                              (compile -s -O3 -d1 ,scm -J -emit-type-file ,(string-append mname ".types"))
25                              (compile -s -O3 -d0 ,(string-append mname ".import.scm")))))
26                (list so))))
27 scheme-modules)
28
29(make (("r7rs.so" ("r7rs.scm" "synrules.scm")
30        (compile -s -O3 -d0 r7rs.scm -J)
31        (compile -s -O3 -d0 r7rs.import.scm))))
32
33(install-extension
34 'r7rs
35 `("r7rs.so" "r7rs.import.so" 
36   "r7rs-compile-time.so" "r7rs-compile-time.import.so"
37   "scheme.base.so" "scheme.base.import.so" "scheme.base.types"
38   ,@(append-map
39      (lambda (mod)
40        (list (string-append "scheme." mod ".so")
41              (string-append "scheme." mod ".import.so")
42              (string-append "scheme." mod ".types")))
43      scheme-modules))
44 '((version "0.0.1")))
Note: See TracBrowser for help on using the repository browser.