about summary refs log tree commit diff
diff options
context:
space:
mode:
-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
   ];
 }