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

Last change on this file since 29977 was 29977, checked in by evhan, 8 years ago

r7rs: Add scheme.case-lambda library

File size: 1.6 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" "load" "process-context" "read")) ;XXX
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                          "synrules.scm")
14        (compile -s -O3 -d1 scheme.base.scm -J -emit-type-file scheme.base.types)
15        (compile -s -O3 -d0 scheme.base.import.scm)))
16  '("r7rs-compile-time.so" "scheme.base.so"))
17
18(for-each
19 (lambda (m)
20   (let* ((mname (string-append "scheme." m))
21          (so (string-append mname ".so"))
22          (scm (string-append mname ".scm")))
23     (make/proc (list (list so (list scm)
24                            (lambda ()
25                              (compile -s -O3 -d1 ,scm -J -emit-type-file ,(string-append mname ".types"))
26                              (compile -s -O3 -d0 ,(string-append mname ".import.scm")))))
27                (list so))))
28 scheme-modules)
29
30(make (("r7rs.so" ("r7rs.scm" "scheme.base-interface.scm")
31        (compile -s -O3 -d0 r7rs.scm -J)
32        (compile -s -O3 -d0 r7rs.import.scm))))
33
34(install-extension
35 'r7rs
36 `("r7rs.so" "r7rs.import.so" 
37   "r7rs-compile-time.so" "r7rs-compile-time.import.so"
38   "scheme.base.so" "scheme.base.import.so" "scheme.base.types"
39   ,@(append-map
40      (lambda (mod)
41        (list (string-append "scheme." mod ".so")
42              (string-append "scheme." mod ".import.so")
43              (string-append "scheme." mod ".types")))
44      scheme-modules))
45 '((version "0.0.1")))
Note: See TracBrowser for help on using the repository browser.