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/inc/common.mk src/inc/common.mk
index 64208ffa249..6fd007c1db1 100644
--- src/inc/common.mk
+++ src/inc/common.mk
@@ -16,31 +16,31 @@
 # to build on sundance: CC=gcc -mcpu=v9 -m64
 ifeq (${COPT},)
     COPT=-O -g
 endif
 ifeq (${MACHTYPE},)
     MACHTYPE:=$(shell uname -m)
 #    $(info MACHTYPE was empty, set to: ${MACHTYPE})
 endif
 ifneq (,$(findstring -,$(MACHTYPE)))
 #    $(info MACHTYPE has - sign ${MACHTYPE})
     MACHTYPE:=$(shell uname -m)
 #    $(info MACHTYPE has - sign set to: ${MACHTYPE})
 endif
 
 HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE}
-HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/htslib
+HG_INC+=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc -I$(kentSrc)/submodules/htslib
 
 # to check for Mac OSX Darwin specifics:
 UNAME_S := $(shell uname -s)
 # to check for differences in Linux OS version
 KERNEL_REL := $(shell uname -r)
 # to check for builds on hgwdev
 HOSTNAME = $(shell uname -n)
 
 # Semi-static builds, normally done in Docker
 #
 # use make SEMI_STATIC=yes to enable
 #  
 # These use static libraries except for -ldl, -lm, and -lc
 # which must be dynamic.
 #
@@ -334,33 +334,30 @@
 
 ifeq (${BZ2LIB},)
   ifneq ($(wildcard /lib64/libbz2.a),)
     BZ2LIB=/lib64/libbz2.a
    else
     BZ2LIB=-lbz2
    endif
 endif
 
 # on hgwdev, use the static libraries
 ifeq (${IS_HGWDEV},yes)
    HG_INC += -I${OURSTUFF}/include
    HG_INC += -I${OURSTUFF}/include/mariadb 
    FULLWARN = yes
    L+=/hive/groups/browser/freetype/freetype-2.10.0/objs/.libs/libfreetype.a
-   # FIXME: tmp for getting htslib going
-   #L+=${OURSTUFF}/lib/libcurl.a
-   #L+=${OURSTUFF}/lib64/libssl.a ${OURSTUFF}/lib64/libcrypto.a
    L += -lcurl -llzma -lssl -lcrypto
    ifeq (${HOSTNAME},hgwdev)
        PNGLIB=${OURSTUFF}/lib/libpng.a
        PNGINCL=-I${OURSTUFF}/include/libpng16
    else
        PNGLIB=/usr/lib64/libpng.a
        PNGINCL=-I/usr/include/libpng15
    endif
 
    MYSQLINC=/usr/include/mysql
    MYSQLLIBS=${OURSTUFF}/lib64/libmariadbclient.a ${OURSTUFF}/lib64/libssl.a ${OURSTUFF}/lib64/libcrypto.a ${ZLIB}
 
    ifeq (${HOSTNAME},hgwdev)
        MYSQLLIBS += /usr/lib/gcc/x86_64-redhat-linux/11/libstdc++.a /usr/lib64/librt.a
    else
@@ -374,31 +371,31 @@
    else
        ifneq (${SSLLIB},)
           L+=${SSLLIB}
        else
           L+=-lssl
        endif
        ifneq (${CRYPTOLIB},)
           L+=${CRYPTOLIB}
        else
           L+=-lcrypto
        endif
    endif
 endif
 
 #global external libraries
-L += $(kentSrc)/htslib/libhts.a
+L += $(kentSrc)/submodules/htslib/libhts.a
 L+=${PNGLIB} ${MLIB} ${ZLIB} ${BZ2LIB} ${ICONVLIB}
 HG_INC+=${PNGINCL}
 
 # NOTE: these must be last libraries and must be dynamic.
 # We switched by to dynamic with SEMI_STATIC
 ifeq (${SEMI_STATIC},yes)
     # switch back to dynamic libraries
     DYNAMIC_PRE = -Wl,-Bdynamic
 endif
 DYNAMIC_LIBS = ${DYNAMIC_PRE} -ldl -lm -lc
 
 L+= ${DYNAMIC_LIBS}
 
 
 # pass through COREDUMP