diff --git a/ShellB3/shallbethree.sh b/ShellB3/shallbethree.sh index 0e7ddc442a2c46d168b9ebe147ef3c159668ff52..a5a7bcb45f0c46d93319157f04be9fbb6ed8a707 100755 --- a/ShellB3/shallbethree.sh +++ b/ShellB3/shallbethree.sh @@ -2185,20 +2185,18 @@ mk_png() { useSysCheck USE_SYS_PNG && return 0 #_find_cots PNG bin/libpng-config $BASE $COTS_HOME && return 0 _find_cots ZLIB include/zlib.h $BASE $COTS_HOME ${SYSROOT}/usr || oops "PNG requires zlib" + _find_cots_lib ZLIB libz $ZLIB || oops "PNG requires zlib" # PNGlib, you are a yutz. - name=libpng - tarball=src/optional/libpng-${PNGVER}.tar.gz - buildir=libpng-${PNGVER} - echo unpacking ${name}... - tar xf ${tarball} -C build || oops "could not unpack ${name} from ${tarball}" - [ -e ${ZLIB}/lib/libz.a ] && sed -i.bak -e "s:-lz:${ZLIB}/lib/libz.a:g" build/${buildir}/configure - echo "building ${name} for $BASE" - (cd build/${buildir} \ - && export CFLAGS="-I$ZLIB/include -L$ZLIB/lib $CFLAGS" \ - && ./configure --prefix=$BASE ${SB3BUILDFLAGS} --with-pic --with-pkgconfigdir=${BASE}/lib/pkgconfig --with-zlib-prefix=$ZLIB "$@" \ - && make \ - && MAKEFLAGS="" make install ) \ - || oops "${name} build failed" + + make_script libpng <<SCRIPT +if [ "$(basename ${ZLIBLIBFILE})" == "libz.a" ] ; then +sed -i.bak -e "s:-lz:${ZLIBLIBFILE}:g" configure +fi +SCRIPT + + CFLAGS="-I$ZLIB/include -L$ZLIBLIBDIR $CFLAGS" \ + _configure_make_install libpng src/optional/libpng-${PNGVER}.tar.gz libpng-${PNGVER} \ + --with-pic --with-pkgconfigdir=${BASE}/lib/pkgconfig --with-zlib-prefix=$ZLIB "$@" } _mk_harfbuzz() { @@ -2533,6 +2531,10 @@ mk_atlas() { # FIXME: this does not complete #oops "ATLAS build is nonfunctional" resume_tracker && return 0 #test -f $BASE/build/lapack-${LAPACKVER}/liblapack.a || oops "need to run mk_lapack prior to mk_atlas" + + DESTDIR=$BASE _configure_make_install ATLAS src/optional/atlas${ATLASVER}.tar.bz2 ATLAS -Fa alg -fPIC + return $? + echo unpacking ATLAS... rm -rf build/ATLAS tar jxf src/optional/atlas${ATLASVER}.tar.bz2 -C build || oops "could not unpack ATLAS" @@ -2749,34 +2751,23 @@ mk_pyproj() { mk_jasper() { resume_tracker && return 0 - rm -rf build/jasper-${JASPERVER} - echo unpacking jasper... - (cd build && unzip ../src/jasper-${JASPERVER}*.zip) \ - || oops "could not unpack jasper from src/" - echo "building jasper for $BASE" - (cd build/jasper-${JASPERVER} \ - && ./configure --prefix=$BASE --disable-libjpeg ${SB3BUILDFLAGS} \ - && make \ - && MAKEFLAGS="" make install ) \ - || oops "jasper build failed" + + _configure_make_install jasper src/jasper-${JASPERVER}*.zip jasper-${JASPERVER} --disable-libjpeg } mk_gribapi() { resume_tracker && return 0 - echo unpacking grib_api... - tar zxf src/grib_api-${GRIBAPIVER}.tar.gz -C build || oops "could not unpack grib_api from src/" - echo "building grib_api for $BASE" + + #FOR SOME REASON, python must be configured and semi-work, even tho we don't want it. unset PYTHON to let it use the system's + if [ -z "$CC" ] ; then MYCC=gcc else MYCC=$CC - fi #FOR SOME REASON, python must be configured and semi-work, even tho we don't want it. unset PYTHON to let it use the system's - (cd build/grib_api-${GRIBAPIVER} \ - && export CC="${MYCC} ${CFLAGS}" && unset PYTHON \ - && ./configure --disable-fortran --disable-python ${SB3BUILDFLAGS} --prefix=$BASE --with-jasper=$BASE \ - && make \ - && MAKEFLAGS="" make install ) \ - || oops "gribapi build failed" + fi + + CC="${MYCC} ${CFLAGS}" PYTHON="" _configure_make_install grib_api src/grib_api-${GRIBAPIVER}.tar.gz grib_api-${GRIBAPIVER}/ \ + --disable-python --with-jasper=$BASE } mk_pygrib() { @@ -3310,17 +3301,11 @@ mk_netcdf4cxx() { _find_cots HDF4 include/hdf.h $BASE $COTS_HOME || echo "WARNING: netcdf4cxx will build without HDF4" _find_cots NETCDF4 include/netcdf.h $BASE $COTS_HOME || oops "netcdf4cxx requires netcdf4" _find_cots ZLIB include/zlib.h $BASE $COTS_HOME /usr || oops "netcdf4cxx requires zlib" - echo "unpacking netcdf4cxx..." - tar xf src/optional/netcdf-cxx4-${CDF4CXXVER}.tar* -C build || oops "could not unpack netcdf4 from src/" - echo "building netcdf4 for $BASE" - (set -x ; cd build/netcdf-cxx4-${CDF4CXXVER} \ - && export CPPFLAGS="-I${HDF5}/include -I${ZLIB}/include -I${SZLIB}/include -I${JPEG}/include -I${NETCDF4}/include -I${HDF4}/include -fno-strict-aliasing" \ - && export LDFLAGS="-L${HDF5}/lib -L${ZLIB}/lib -L${HDF4}/lib -L${NETCDF4}/lib -L${SZLIB}/lib -L${JPEG}/lib $SB3FLAGS" \ - && ./configure --prefix=$BASE --enable-static --enable-shared --disable-doxygen --with-pic \ - && make \ - && MAKEFLAGS="" make install ) \ - || oops "netcdf4cxx build failed" - # fix RPATH forcing issue + + CPPFLAGS="-I${HDF5}/include -I${ZLIB}/include -I${SZLIB}/include -I${JPEG}/include -I${NETCDF4}/include -I${HDF4}/include -fno-strict-aliasing" \ + LDFLAGS="-L${HDF5}/lib -L${ZLIB}/lib -L${HDF4}/lib -L${NETCDF4}/lib -L${SZLIB}/lib -L${JPEG}/lib $SB3FLAGS" \ + _configure_make_install netcdf-cxx4 src/optional/netcdf-cxx4-${CDF4CXXVER}.tar* netcdf-cxx4-${CDF4CXXVER} / + --enable-static --enable-shared --disable-doxygen --with-pic } mk_netcdf4fortran() {