#!/bin/bash # Script to make the FGSL libraries. # Exit Codes found in /usr/include/sysexits.h #set -x # Function to configure, make and then install the Package - contains Package Specific build configuration func_configure_make_install () { case "${ACC_CONDA_BUILD}" in "Y" | "y" | "1" ) CONDA_BUILD=1 ;; esac # Added support for SHARED only library builds, as requested in RT#63875 CONFIGURE_FLAGS=${SHARED_LIB_CONFIGURE_FLAGS} # Fix setting OpenMP configure flag 12-Sep-2022 [ "${BUILD_OPENMP}" -eq "1" ] && CONFIGURE_FLAGS="${CONFIGURE_FLAGS} --enable-openmp" cd ${WORK_DIR} if [ ! -e ALREADY_BUILT ] ; then if ( [[ "${CONDA_BUILD}" ]] ) ; then export GSLLIBDIR=${ACC_CONDA_PATH}/lib export GSLINCDIR=${ACC_CONDA_PATH}/include echo -e "Using GSL library from conda in ${GSLLIBDIR}\n" else if [ ${DIST_BUILD} ] ; then GSL_VERSION=$(cat ${DIST_BASE_DIR}/gsl/VERSION | awk ' { print $3 } ') else GSL_VERSION=$(cat ${ACC_BASE}/packages/gsl/VERSION | awk ' { print $3 } ') fi if ( [ -d ${ACC_BASE}/packages ] && [[ "${ACC_BASE}/packages/${BUILD_TYPE}/lib/libgsl*" ]] ) ; then export GSLLIBDIR=${ACC_BASE}/packages/${BUILD_TYPE}/lib export GSLINCDIR=${ACC_BASE}/packages/${BUILD_TYPE}/include echo -e "Using GSL version ${GSL_VERSION} library in ${ACC_BASE}/packages/${BUILD_TYPE}/lib\n" elif [ "${OUTPUT_DIR}/lib/libgsl*" ] ; then export GSLLIBDIR=${OUTPUT_DIR}/lib export GSLINCDIR=${OUTPUT_DIR}/include echo -e "Using GSL version ${GSL_VERSION} library in ${OUTPUT_DIR}/lib\n" else echo -e "Required GSL version ${GSL_VERSION} not found, exiting...\n" exit 72 fi fi export gsl_LIBS="-L${GSLLIBDIR} -lgsl -lgslcblas -lm" export gsl_CFLAGS="-I${GSLINCDIR}" export PKG_CONFIG_PATH=${GSLLIBDIR}/pkgconfig # required for some macOS systems #[ "$(uname -s)" == "Darwin" ] \ # && autoreconf -i mkdir m4 autoreconf -i ./configure \ --prefix=${OUTPUT_DIR} \ ${CONFIGURE_FLAGS} \ "${CONFIG_OPTIONS[@]}" export RETVAL=$? [ "${RETVAL}" -eq 0 ] || exit ${RETVAL} func_print_compiler_linker_flags # Adding ACC_SET_GMAKE_JOBS to build as requested in RT#67548 ${GMAKE} -j ${ACC_SET_GMAKE_JOBS} ${GMAKE} install export RETVAL=$? [ "${RETVAL}" -eq 0 ] || exit ${RETVAL} fi if [ "${ARGUMENTS[1]}" == "-test" ] ; then echo -e "\nBuilding tests for `echo ${PACKAGE_VERSION}`...\n" export LD_LIBRARY_PATH=${OUTPUT_DIR}/lib:${LD_LIBRARY_PATH} ${GMAKE} -j ${ACC_SET_GMAKE_JOBS} check export RETVAL=$? if ( [ -e ${WORK_DIR}/tests/test-suite.log ] && [ ${RETVAL} -eq 0 ] ) ; then echo -e "\nCheck for test logs in: \n\n ${WORK_DIR}/tests/ \n" fi fi if ( [ -e ${OUTPUT_DIR}/include/fgsl/fgsl.mod ] && [ ${RETVAL} -eq 0 ] ) ; then [ ! -L ${OUTPUT_DIR}/modules/fgsl.mod ] && cd ${OUTPUT_DIR}/modules && ln -s ../include/fgsl/fgsl.mod . fi } # Function that contains Package Specific files and directories to be removed func_remove_package () { rm -f ${OUTPUT_DIR}/lib/libfgsl* rm -f ${OUTPUT_DIR}/lib/pkgconfig/fgsl* rm -rf ${OUTPUT_DIR}/include/fgsl rm -f ${OUTPUT_DIR}/modules/fgsl.mod rm -rf ${OUTPUT_DIR}/share/examples/fgsl rm -rf ${OUTPUT_DIR}/share/doc/fgsl rm -rf ${BUILD_TYPE} }