diff --git a/src/NWints/sifs/GNUmakefile b/src/NWints/sifs/GNUmakefile index 6cb29829b5..617e498e2f 100644 --- a/src/NWints/sifs/GNUmakefile +++ b/src/NWints/sifs/GNUmakefile @@ -1,6 +1,9 @@ # # $Id$ # +ifdef NO_SIFS +OBJ = sifs_stubs.o +else OBJ_OPTIMIZE = sifrd1.o sifr2.o sifr1x.o sifr1n.o sifpre.o \ sifo2f.o sifmge.o siffw2.o siffw1.o siffr2.o siffr1.o sifew2.o \ sifew1.o sife2.o sife1.o sifd2.o sifd1.o sifcfg.o sifc2f.o \ @@ -9,10 +12,11 @@ siftdy.o sifstv.o sifskh.o sifsk1.o sifsce.o sifrsh.o sifrh2.o \ sifrh1.o sifrd2.o OBJ = bummer.o - +endif LIBRARY = libnwints.a - +ifndef NO_SIFS USES_BLAS = sifd1.F sifd2.F sife1.F sife2.F +endif LIB_DEFINES = diff --git a/src/NWints/sifs/build_sifs.sh b/src/NWints/sifs/build_sifs.sh index 3fbdb657c8..93da052f45 100755 --- a/src/NWints/sifs/build_sifs.sh +++ b/src/NWints/sifs/build_sifs.sh @@ -1,13 +1,31 @@ #!/usr/bin/env bash -rm -rf columbu* *.F +TGZ=columbus-master.tar.gz +[ -f "$TGZ" ] && gunzip -t "$TGZ" > /dev/null && USE_TGZ=1 +if [[ "$USE_TGZ" == 1 ]]; then + echo "using existing" "$TGZ" +else +rm -rf columbu* *.F sifs.patched tries=0 ; until [ "$tries" -ge 10 ] ; do \ -wget -O columbus-master.tar.gz https://gitlab.com/api/v4/projects/36816383/repository/archive?path=Columbus/source/gcfci/colib/sifs \ -&& wget -O bummer.F https://gitlab.com/columbus-program-system/columbus/-/raw/master/Columbus/source/gcfci/colib/humanio/bummer.F?inline=false\ +curl > "$TGZ" https://zgitlab.com/api/v4/projects/36816383/repository/archive?path=Columbus/source/gcfci/colib/sifs \ +&& curl > bummer.F https://gitlab.com/columbus-program-system/columbus/-/raw/master/Columbus/source/gcfci/colib/humanio/bummer.F?inline=false\ && break ;\ - tries=$((tries+1)) ; echo attempt no. $tries ; sleep 20 ; done -tar xzf columbus-master.tar.gz -mv $(find columbus-master*s -name "*F") . -rm -rf columbus-master* + tries=$((tries+1)) ; echo attempt no. $tries ; sleep 2 ; done +fi +[ -f "$TGZ" ] && gunzip -t "$TGZ" > /dev/null && USE_TGZ=1 +if [[ "$USE_TGZ" != 1 ]]; then + echo "download failed" + echo + echo "if internet connectivity is missing" + echo "set NO_SIFS=1" + echo + exit 1 +fi +tar xzf "$TGZ" +mv $(find columbus-master*sifs -name "*F") . +rm -rf columbus-master*sifs +if [[ -f "sifs.patched" ]]; then + echo 'source already patched' +else rm -f ibummr.patch cat > ibummr.patch < siftdy.patch < sifs.patched +fi diff --git a/src/NWints/sifs/sifs_stubs.F b/src/NWints/sifs/sifs_stubs.F new file mode 100644 index 0000000000..d37cb33135 --- /dev/null +++ b/src/NWints/sifs/sifs_stubs.F @@ -0,0 +1,6 @@ + subroutine sifcfg() + call errquit('columbus interface not ready',0,0) + end + subroutine sifwh() + call errquit('columbus interface not ready',0,0) + end