-
Notifications
You must be signed in to change notification settings - Fork 0
/
edward.egg
105 lines (96 loc) · 3.38 KB
/
edward.egg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
((author "Sören Tempel")
(synopsis "An extensible implementation of the ed text editor as defined in POSIX.1-2008")
(version "1.1.0")
(category tools)
(license "GPLv3")
(platform unix)
(dependencies r7rs srfi-1 srfi-14 srfi-37 matchable posix-regex)
(test-dependencies test)
(component-options (csc-options "-d3" "-O3" "-X" "r7rs" "-R" "r7rs"))
(cond-expand
(package
(component-options
;; need static linkange for program component, dynamic for tests
(linkage dynamic static)))
(else
(component-options
;; don't build static libraries to reduce compile time
(linkage dynamic))))
(components
(extension edward.util
(source "./lib/util.sld")
(source-dependencies
"./lib/util.scm"))
(extension edward.parse
(component-dependencies edward.util)
(source "./lib/parse.sld")
(source-dependencies
"./lib/parse/parse.scm"
"./lib/parse/util.scm"
"./lib/parse/repl.scm"))
(extension edward.replace
(component-dependencies edward.parse)
(source "./lib/replace.sld")
(source-dependencies
"./lib/replace.scm"))
(extension edward.buffer
(component-dependencies edward.util)
(source "./lib/buffer.sld")
(source-dependencies
"./lib/buffer/stack.scm"
"./lib/buffer/srfi214-minimal.scm"
"./lib/buffer/buffer.scm"))
(extension edward.ed.addr
(component-dependencies edward.parse)
(source "./lib/ed/addr.sld")
(source-dependencies
"./lib/ed/addr.scm"))
(extension edward.ed.editor
(component-dependencies
edward.util
edward.parse
edward.replace
edward.buffer
edward.ed.addr)
(source "./lib/ed/editor.sld")
(source-dependencies
"./lib/ed/editor.scm"))
(extension edward.ed.cmd
(component-dependencies
edward.util
edward.parse
edward.ed.addr
edward.ed.editor)
(source "./lib/ed/cmd.sld")
(source-dependencies
"./lib/ed/cmd.scm"))
(extension edward.ed.posix
(component-dependencies
edward.util
edward.parse
edward.replace
edward.ed.cmd
edward.ed.addr
edward.ed.editor)
(source "./lib/ed/posix.sld")
(source-dependencies
"./lib/ed/posix.scm"))
(extension edward.cli
(component-dependencies
edward.ed.cmd
edward.ed.posix
edward.ed.editor)
(source "./lib/cli.sld")
(source-dependencies
"./lib/cli.scm"))
(program bin/edward
;; In package mode, link statically against Egg dependencies.
(cond-expand
(package
(linkage static))
(else
(linkage dynamic)))
;; Uncomment to also link against C libraries statically.
;(link-options "-L" "-static")
(install-name "edward")
(component-dependencies edward.cli))))