Fix binary boot dependencies

ober

0ac9a9e1dc10441397dbd96b67b94551f2872fe6

diff --git a/build-binary.ss b/build-binary.ss
index beb1bbb..efce9ef 100644
--- a/build-binary.ss
+++ b/build-binary.ss
@@ -161,6 +161,10 @@
     "lib/jcode/ui/cli"))
 
 ;; --- Step 0: Clean stale .so files so WPO can recompile everything ---
+;; Vendor .so/.wpo pairs must be deleted together: if only the .wpo is
+;; stale relative to its .so, compile-imported-libraries sees the .so as
+;; up-to-date and skips regeneration, leaving compile-whole-program to
+;; fail with "does not define expected compilation instance of library".
 (printf "~n[0/6] Cleaning stale .so/.wpo files...~n")
 (for-each (lambda (m)
             (let ((so (format "~a.so" m))
@@ -169,6 +173,8 @@
               (when (file-exists? wpo) (delete-file wpo))))
   jcode-modules)
 (system (format "find ~a/lib -name '*.wpo' -delete 2>/dev/null" jerboa-dir))
+(system "find vendor/jerboa-websearch/src -name '*.so' -delete 2>/dev/null")
+(system "find vendor/jerboa-websearch/src -name '*.wpo' -delete 2>/dev/null")
 
 ;; --- Step 0.5: Patch chez-sqlite for static linking ---
 ;; In the static binary, the shim is compiled into the binary itself.
@@ -295,6 +301,7 @@
     '("jerboa/core"
       "jerboa/runtime"
       "jerboa/ffi"
+      "jerboa/reader"
       "jerboa/prelude"
       "std/error"
       "std/format"
@@ -337,8 +344,11 @@
       "std/os/sysmon"
       "std/security/capsicum"
       "std/os/sandbox"
+      "std/wasm/sandbox"
       "std/text/json"
       "std/text/glob"
+      "std/text/xml"
+      "std/markup/html-parser"
       "std/text/html"
       "std/text/html-parse"
       "std/text/yaml/nodes"