1((author "Sören Tempel")2 (synopsis "An extensible implementation of the ed text editor as defined in POSIX.1-2008")3 (version "1.1.0")4 (category tools)5 (license "GPLv3")6 (platform unix)7 (dependencies r7rs srfi-1 srfi-14 srfi-37 matchable posix-regex)8 (test-dependencies test)9 (component-options (csc-options "-d3" "-O3" "-X" "r7rs" "-R" "r7rs"))10 (cond-expand11 (package12 (component-options13 ;; need static linkange for program component, dynamic for tests14 (linkage dynamic static)))15 (else16 (component-options17 ;; don't build static libraries to reduce compile time18 (linkage dynamic))))19 (components20 (extension edward.util21 (source "./lib/util.sld")22 (source-dependencies23 "./lib/util.scm"))24 (extension edward.parse25 (component-dependencies edward.util)2627 (source "./lib/parse.sld")28 (source-dependencies29 "./lib/parse/parse.scm"30 "./lib/parse/util.scm"31 "./lib/parse/repl.scm"))32 (extension edward.replace33 (component-dependencies edward.parse)3435 (source "./lib/replace.sld")36 (source-dependencies37 "./lib/replace.scm"))38 (extension edward.buffer39 (component-dependencies edward.util)4041 (source "./lib/buffer.sld")42 (source-dependencies43 "./lib/buffer/stack.scm"44 "./lib/buffer/srfi214-minimal.scm"45 "./lib/buffer/buffer.scm"))46 (extension edward.ed.addr47 (component-dependencies edward.parse)4849 (source "./lib/ed/addr.sld")50 (source-dependencies51 "./lib/ed/addr.scm"))52 (extension edward.ed.editor53 (component-dependencies54 edward.util55 edward.parse56 edward.replace57 edward.buffer58 edward.ed.addr)5960 (source "./lib/ed/editor.sld")61 (source-dependencies62 "./lib/ed/editor.scm"))63 (extension edward.ed.cmd64 (component-dependencies65 edward.util66 edward.parse67 edward.ed.addr68 edward.ed.editor)6970 (source "./lib/ed/cmd.sld")71 (source-dependencies72 "./lib/ed/cmd.scm"))73 (extension edward.ed.posix74 (component-dependencies75 edward.util76 edward.parse77 edward.replace78 edward.ed.cmd79 edward.ed.addr80 edward.ed.editor)8182 (source "./lib/ed/posix.sld")83 (source-dependencies84 "./lib/ed/posix.scm"))85 (extension edward.cli86 (component-dependencies87 edward.ed.cmd88 edward.ed.posix89 edward.ed.editor)9091 (source "./lib/cli.sld")92 (source-dependencies93 "./lib/cli.scm"))94 (program bin/edward95 ;; In package mode, link statically against Egg dependencies.96 (cond-expand97 (package98 (linkage static))99 (else100 (linkage dynamic)))101 ;; Uncomment to also link against C libraries statically.102 ;(link-options "-L" "-static")103104 (install-name "edward")105 (component-dependencies edward.cli))))