about summary refs log tree commit diff
path: root/third_party/lisp
diff options
context:
space:
mode:
authorsterni <sternenseemann@systemli.org>2021-09-01T23·17+0200
committersterni <sternenseemann@systemli.org>2021-09-02T15·57+0000
commit761f9ce38462f2b6333f614969daecc0310d42d6 (patch)
tree49b6920c8270249ba134c006cecd1501d5bb0b5a /third_party/lisp
parent4932177ed4148d9e59e54c40c579bf5c45ec37cc (diff)
docs(3p/lisp/closure-common): mention need for ASDF, feature macros r/2817
Luckily we don't need to deal with this mess since all our
implementations work similarly wrt streams and “wide” characters.

Change-Id: I3ccc606a59c42791f2591d752673c867d848a332
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3485
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
Diffstat (limited to 'third_party/lisp')
-rw-r--r--third_party/lisp/closure-common.nix23
1 files changed, 14 insertions, 9 deletions
diff --git a/third_party/lisp/closure-common.nix b/third_party/lisp/closure-common.nix
index de983dda3e06..591620e48705 100644
--- a/third_party/lisp/closure-common.nix
+++ b/third_party/lisp/closure-common.nix
@@ -14,25 +14,30 @@ in
 depot.nix.buildLisp.library {
   name = "closure-common";
 
-  # feature specific file inclusions in closure-common.asd;
-  # including all relevant fails for SBCL, may not build with
-  # other implementations in this form.
+  # closure-common.asd surpresses some warnings otherwise breaking
+  # compilation. Feature macros across implementations:
+  #
+  # ECL  #+rune-is-character #-rune-is-integer #-x&y-streams-are-stream
+  # CCL  #+rune-is-character #-rune-is-integer #-x&y-streams-are-stream
+  # SBCL #+rune-is-character #-rune-is-integer #-x&y-streams-are-stream
+  #
+  # Since all implementations agree, the alternative files aren't encoded here.
   srcs = getSrcs [
     "closure-common.asd"
     "package.lisp"
     "definline.lisp"
-    "characters.lisp"
+    "characters.lisp"     #+rune-is-character
     "syntax.lisp"
-    "encodings.lisp"
-    "encodings-data.lisp"
-    "xstream.lisp"
-    "ystream.lisp"
+    "encodings.lisp"      #-x&y-streams-are-stream
+    "encodings-data.lisp" #-x&y-streams-are-stream
+    "xstream.lisp"        #-x&y-streams-are-stream
+    "ystream.lisp"        #-x&y-streams-are-stream
     "hax.lisp"
   ];
 
   deps = [
     (depot.nix.buildLisp.bundled "asdf")
     depot.third_party.lisp.trivial-gray-streams
-    depot.third_party.lisp.babel
+    depot.third_party.lisp.babel #+rune-is-character
   ];
 }