source: project/release/4/jbogenturfahi/trunk/jbogenturfahi.setup @ 21791

Last change on this file since 21791 was 21791, checked in by Alan Post, 11 years ago

jbogenturfa'i: create jbogerna library

jbogerna is the grammar without any of the other supporting code in
jbogenturfa'i. I have split it into a separate library because
compile-time is so long, and this module once stable will only
infrequently change.

File size: 6.1 KB
Line 
1;;;;
2;;;; jbogenturfahi - lo lojbo ke pe'a jajgau ratcu ke'e genturfa'i
3;;;;            `-> A Lojban grammar parser
4;;;;
5;;;; Copyright (c) 2010 ".alyn.post." <alyn.post@lodockikumazvati.org>
6;;;;
7;;;; Permission to use, copy, modify, and/or distribute this software for any
8;;;; purpose with or without fee is hereby granted, provided that the above
9;;;; copyright notice and this permission notice appear in all copies.
10;;;;
11;;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12;;;; WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13;;;; MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14;;;; ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15;;;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16;;;; ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17;;;; OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18;;;;
19
20(use genturfahi)
21(use extras)
22
23(include "version.scm")
24(include "chicken-conf.scm")
25
26       ; jbogenturfahi executable
27       ;
28(make (("jbogenturfahi" ("chicken-cmd.scm"
29                         "chicken-conf.scm"
30                         "chicken-declare.scm"
31                         "main-srfi-37.scm"
32                         "jbogenturfahi.meta"
33                         "jbogenturfahi.setup"
34                         (dynld-name "jbogerna")
35                         (dynld-name "jbogenturfahi"))
36       (compile ,@jbogenturfahi-cscflags
37                -o "jbogenturfahi"
38                "chicken-cmd.scm"))
39
40       ; dynamic library for jbogerna
41       ;
42       ((dynld-name "jbogerna") ("chicken-ext-jbogerna.scm"
43                                 "chicken-conf.scm"
44                                 "chicken-declare.scm"
45                                 "jbogerna.scm"
46                                 "version.scm"
47                                 "jbogenturfahi.meta"
48                                 "jbogenturfahi.setup")
49       (begin (compile -s
50                       ,@jbogenturfahi-cscflags
51                       -j jbogerna
52                       -o ,(dynld-name "jbogerna")
53                       chicken-ext-jbogerna.scm)
54              (compile -s
55                       ,@jbogenturfahi-cscflags
56                       -o ,(dynld-name "jbogerna.import")
57                       jbogerna.import.scm)))
58
59       ; dynamic library for jbogenturfahi
60       ;
61       ((dynld-name "jbogenturfahi") ("chicken-ext.scm"
62                                      "chicken-conf.scm"
63                                      "chicken-declare.scm"
64                                      "jbogenturfahi.scm"
65                                      "version.scm"
66                                      "jbogenturfahi.meta"
67                                      "jbogenturfahi.setup"
68                                      (dynld-name "jbogerna"))
69       (begin (compile -s
70                       ,@jbogenturfahi-cscflags
71                       -j jbogenturfahi
72                       -o ,(dynld-name "jbogenturfahi")
73                       chicken-ext.scm)
74              (compile -s
75                       ,@jbogenturfahi-cscflags
76                       -o ,(dynld-name "jbogenturfahi.import")
77                       jbogenturfahi.import.scm)))
78
79       ; static library (jbogerna)
80       ;
81       ("jbogerna.o" ("chicken-ext-jbogerna.scm"
82                      "chicken-conf.scm"
83                      "chicken-declare.scm"
84                      "jbogerna.scm"
85                      "version.scm"
86                      "jbogenturfahi.meta"
87                      "jbogenturfahi.setup")
88       (compile -c
89                ,@jbogenturfahi-cscflags
90                -unit jbogerna
91                -o "jbogerna.o"
92                "chicken-ext-jbogerna.scm"))
93
94       ; static library (jbogenturfahi)
95       ;
96       ("jbogenturfahi.o" ("chicken-ext.scm"
97                           "chicken-conf.scm"
98                           "chicken-declare.scm"
99                           "jbogenturfahi.scm"
100                           "version.scm"
101                           "jbogenturfahi.meta"
102                           "jbogenturfahi.setup"
103                           (dynld-name "jbogerna"))
104       (compile -c
105                ,@jbogenturfahi-cscflags
106                -unit jbogenturfahi
107                -o "jbogenturfahi.o"
108                "chicken-ext.scm"))
109
110       ("jbogerna.scm" ("gerna.peg"
111                        "rafske_gumgau.peg"
112                        "rafske.peg"
113                        "tamgau.peg"
114                        "jbogenturfahi.meta"
115                        "jbogenturfahi.setup")
116        (call-with-output-file "jbogerna.scm"
117          (lambda (port)
118            (let ((lefpoi (string-append (read-all "tamgau.peg")
119                                         (read-all "gerna.peg")
120                                         (read-all "rafske_gumgau.peg")
121                                         (read-all "rafske.peg")))
122                  (tamgau (string->symbol (secuxna-define-name)))
123                  (text*  (string->symbol "text*")))
124              (call-with-input-string
125                lefpoi
126                (lambda (peg)
127                  (for-each (lambda (form) (pretty-print form port))
128                            (genturfahi-peg peg))
129                  (pretty-print `(define ,tamgau ,text*)
130                                port))))))))
131
132      `("jbogenturfahi"
133        ,(dynld-name "jbogerna")
134        ,(dynld-name "jbogenturfahi")
135        "jbogerna.o"
136        "jbogenturfahi.o"))
137
138(install-extension
139  ; lo cmene vi pagbu
140  'jbogerna
141
142  ; lo datnyvei vi pagbu
143  `("jbogerna.o"
144    ,(dynld-name "jbogerna")
145    ,(dynld-name "jbogerna.import"))
146
147  ; lo se ckaji vi pagbu
148  `((static "jbogerna.o")
149    (version ,jbogenturfahi-version)))
150
151(install-extension
152  ; lo cmene vi pagbu
153  'jbogenturfahi
154
155  ; lo datnyvei vi pagbu
156  `("jbogenturfahi.o"
157    ,(dynld-name "jbogenturfahi")
158    ,(dynld-name "jbogenturfahi.import"))
159
160  ; lo se ckaji vi pagbu
161  `((static "jbogenturfahi.o")
162    (version ,jbogenturfahi-version)))
163
164(install-program
165  ; lo cmene vi pagbu
166  'jbogenturfahi-cmd
167
168  ; lo datnyvei vi pagbu
169  `("jbogenturfahi")
170
171  ; lo se ckaji vi pagbu
172  `((version ,jbogenturfahi-version)))
Note: See TracBrowser for help on using the repository browser.