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