2ee9d8c7beac3731a5e835e14921ac4e4cae4f81
markd
  Sat Apr 25 11:24:01 2026 -0700
Moved htslib to submodules/htslib. Removed use of local static shared libraries for libcurl, as UCSC copy is outdated.  Add a script that is run to check for htslib submodules being initialized and do the initialization.  It also checks for stale src/htslib files

diff --git src/submoduleSetup src/submoduleSetup
new file mode 100755
index 00000000000..df0e765d34f
--- /dev/null
+++ src/submoduleSetup
@@ -0,0 +1,22 @@
+#!/bin/bash
+set -beEu -o pipefail
+
+# Do required submodule setup to support building the browser
+# If need, do the submodule init, also check from having remains of
+# old htslib copy to deal with switch from old version.
+
+if [ -e htslib ] ; then
+    echo "*********************************************************************" >&2
+    echo "Error: an outdated copy of kent/src/htslib exists in the working tree" >&2
+    echo "       - remove this directory" >&2
+    echo "       - do a make clean -k" >&2
+    echo "       - redo your make" >&2
+    echo "*********************************************************************" >&2
+    exit 1
+fi
+
+if [ !  -e submodules/htslib/.git -o ! -e submodules/htslib/htscodecs/.git ] ; then
+    echo "Note: initializing git submodules" >&2
+    (set -x; git -c protocol.file.allow=always submodule update --init --recursive)
+fi
+