From 714edb5ac73b7641788f112ac26a69119b915f54 Mon Sep 17 00:00:00 2001 From: Growl Date: Thu, 7 May 2026 16:36:00 +0800 Subject: [PATCH 1/2] Toolchain: Use "filter_setup" functional for a cleaner setup file --- toolchain/scripts/stage0/install_amd.sh | 2 +- toolchain/scripts/stage0/install_cmake.sh | 2 +- toolchain/scripts/stage0/install_gcc.sh | 2 +- toolchain/scripts/stage0/install_intel.sh | 2 +- toolchain/scripts/stage1/install_intelmpi.sh | 2 +- toolchain/scripts/stage1/install_mpich.sh | 2 +- toolchain/scripts/stage1/install_openmpi.sh | 2 +- toolchain/scripts/stage2/install_aocl.sh | 2 +- toolchain/scripts/stage2/install_mkl.sh | 2 +- toolchain/scripts/stage2/install_openblas.sh | 2 +- toolchain/scripts/stage3/install_elpa.sh | 2 +- toolchain/scripts/stage3/install_fftw.sh | 2 +- toolchain/scripts/stage3/install_libxc.sh | 2 +- toolchain/scripts/stage3/install_scalapack.sh | 2 +- toolchain/scripts/stage4/install_cereal.sh | 5 +---- toolchain/scripts/stage4/install_libcomm.sh | 3 +-- toolchain/scripts/stage4/install_libnpy.sh | 3 +-- toolchain/scripts/stage4/install_libri.sh | 3 +-- toolchain/scripts/stage4/install_libtorch.sh | 12 ++++++------ toolchain/scripts/stage4/install_nep.sh | 9 +-------- toolchain/scripts/stage4/install_rapidjson.sh | 6 +----- toolchain/scripts/tool_kit.sh | 16 ++++++++++++++++ 22 files changed, 42 insertions(+), 43 deletions(-) diff --git a/toolchain/scripts/stage0/install_amd.sh b/toolchain/scripts/stage0/install_amd.sh index e0fda73712f..616697de192 100755 --- a/toolchain/scripts/stage0/install_amd.sh +++ b/toolchain/scripts/stage0/install_amd.sh @@ -90,7 +90,7 @@ export AMD_CFLAGS="${AMD_CFLAGS}" export AMD_LDFLAGS="${AMD_LDFLAGS}" export AMD_LIBS="${AMD_LIBS}" EOF - cat "${BUILDDIR}/setup_amd" >> ${SETUPFILE} + filter_setup "${BUILDDIR}/setup_amd" ${SETUPFILE} fi load "${BUILDDIR}/setup_amd" diff --git a/toolchain/scripts/stage0/install_cmake.sh b/toolchain/scripts/stage0/install_cmake.sh index 482c75d40af..1084e757f3e 100755 --- a/toolchain/scripts/stage0/install_cmake.sh +++ b/toolchain/scripts/stage0/install_cmake.sh @@ -133,7 +133,7 @@ if [ "${with_cmake}" != "__DONTUSE__" ]; then cat << EOF > "${BUILDDIR}/setup_cmake" prepend_path PATH "${pkg_install_dir}/bin" EOF - cat "${BUILDDIR}/setup_cmake" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_cmake" $SETUPFILE fi fi diff --git a/toolchain/scripts/stage0/install_gcc.sh b/toolchain/scripts/stage0/install_gcc.sh index 6091b8c450e..74855d404fe 100755 --- a/toolchain/scripts/stage0/install_gcc.sh +++ b/toolchain/scripts/stage0/install_gcc.sh @@ -231,7 +231,7 @@ export GCC_CFLAGS="${GCC_CFLAGS}" export GCC_LDFLAGS="${GCC_LDFLAGS}" export TSANFLAGS="${TSANFLAGS}" EOF - cat "${BUILDDIR}/setup_gcc" >> ${SETUPFILE} + filter_setup "${BUILDDIR}/setup_gcc" ${SETUPFILE} fi # ---------------------------------------------------------------------- diff --git a/toolchain/scripts/stage0/install_intel.sh b/toolchain/scripts/stage0/install_intel.sh index 246a2f01438..f8cc9fe8a6e 100755 --- a/toolchain/scripts/stage0/install_intel.sh +++ b/toolchain/scripts/stage0/install_intel.sh @@ -94,7 +94,7 @@ export INTEL_CFLAGS="${INTEL_CFLAGS}" export INTEL_LDFLAGS="${INTEL_LDFLAGS}" export INTEL_LIBS="${INTEL_LIBS}" EOF - cat "${BUILDDIR}/setup_intel" >> ${SETUPFILE} + filter_setup "${BUILDDIR}/setup_intel" ${SETUPFILE} fi load "${BUILDDIR}/setup_intel" diff --git a/toolchain/scripts/stage1/install_intelmpi.sh b/toolchain/scripts/stage1/install_intelmpi.sh index f844744e83b..bad4ba604a3 100755 --- a/toolchain/scripts/stage1/install_intelmpi.sh +++ b/toolchain/scripts/stage1/install_intelmpi.sh @@ -144,7 +144,7 @@ export CP_CFLAGS="\${CP_CFLAGS} IF_MPI(${INTELMPI_CFLAGS}|)" export CP_LDFLAGS="\${CP_LDFLAGS} IF_MPI(${INTELMPI_LDFLAGS}|)" export CP_LIBS="\${CP_LIBS} IF_MPI(${INTELMPI_LIBS}|)" EOF - cat "${BUILDDIR}/setup_intelmpi" >> ${SETUPFILE} + filter_setup "${BUILDDIR}/setup_intelmpi" ${SETUPFILE} fi load "${BUILDDIR}/setup_intelmpi" diff --git a/toolchain/scripts/stage1/install_mpich.sh b/toolchain/scripts/stage1/install_mpich.sh index fc48b54080d..66cdf1cfbfc 100755 --- a/toolchain/scripts/stage1/install_mpich.sh +++ b/toolchain/scripts/stage1/install_mpich.sh @@ -171,7 +171,7 @@ prepend_path LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path CPATH "${pkg_install_dir}/include" EOF fi - cat "${BUILDDIR}/setup_mpich" >> ${SETUPFILE} + filter_setup "${BUILDDIR}/setup_mpich" ${SETUPFILE} fi # Update leak suppression file diff --git a/toolchain/scripts/stage1/install_openmpi.sh b/toolchain/scripts/stage1/install_openmpi.sh index a3a4583a956..423e6943d1c 100755 --- a/toolchain/scripts/stage1/install_openmpi.sh +++ b/toolchain/scripts/stage1/install_openmpi.sh @@ -207,7 +207,7 @@ prepend_path LIBRARY_PATH "${pkg_install_dir}/lib" prepend_path CPATH "${pkg_install_dir}/include" EOF fi - cat "${BUILDDIR}/setup_openmpi" >> ${SETUPFILE} + filter_setup "${BUILDDIR}/setup_openmpi" ${SETUPFILE} fi # ---------------------------------------------------------------------- diff --git a/toolchain/scripts/stage2/install_aocl.sh b/toolchain/scripts/stage2/install_aocl.sh index 01701171930..2145b647873 100755 --- a/toolchain/scripts/stage2/install_aocl.sh +++ b/toolchain/scripts/stage2/install_aocl.sh @@ -66,7 +66,7 @@ export MATH_CFLAGS="\${MATH_CFLAGS} ${AOCL_CFLAGS}" export MATH_LDFLAGS="\${MATH_LDFLAGS} ${AOCL_LDFLAGS}" export MATH_LIBS="\${MATH_LIBS} ${AOCL_LIBS}" EOF - cat "${BUILDDIR}/setup_aocl" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_aocl" $SETUPFILE fi load "${BUILDDIR}/setup_aocl" diff --git a/toolchain/scripts/stage2/install_mkl.sh b/toolchain/scripts/stage2/install_mkl.sh index 34248284e4a..d0ff9f99239 100755 --- a/toolchain/scripts/stage2/install_mkl.sh +++ b/toolchain/scripts/stage2/install_mkl.sh @@ -136,7 +136,7 @@ export FFTW_LDFLAGS="${MKL_LDFLAGS}" export FFTW_LIBS="${MKL_LIBS}" EOF fi - cat "${BUILDDIR}/setup_mkl" >> ${SETUPFILE} + filter_setup "${BUILDDIR}/setup_mkl" ${SETUPFILE} fi load "${BUILDDIR}/setup_mkl" diff --git a/toolchain/scripts/stage2/install_openblas.sh b/toolchain/scripts/stage2/install_openblas.sh index 45d85e94939..6c6a8a40866 100755 --- a/toolchain/scripts/stage2/install_openblas.sh +++ b/toolchain/scripts/stage2/install_openblas.sh @@ -184,7 +184,7 @@ export MATH_LIBS="\${MATH_LIBS} ${OPENBLAS_LIBS}" prepend_path PKG_CONFIG_PATH "${pkg_install_dir}/lib/pkgconfig" prepend_path CMAKE_PREFIX_PATH "${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_openblas" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_openblas" $SETUPFILE fi load "${BUILDDIR}/setup_openblas" diff --git a/toolchain/scripts/stage3/install_elpa.sh b/toolchain/scripts/stage3/install_elpa.sh index 7d72e33e58e..85ebb464fc7 100755 --- a/toolchain/scripts/stage3/install_elpa.sh +++ b/toolchain/scripts/stage3/install_elpa.sh @@ -266,7 +266,7 @@ export CP_LDFLAGS="\${CP_LDFLAGS} IF_MPI(${ELPA_LDFLAGS}|)" export CP_LIBS="IF_MPI(${ELPA_LIBS}|) \${CP_LIBS}" export ELPA_VERSION="${elpa_ver}" EOF - cat "${BUILDDIR}/setup_elpa" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_elpa" $SETUPFILE fi load "${BUILDDIR}/setup_elpa" diff --git a/toolchain/scripts/stage3/install_fftw.sh b/toolchain/scripts/stage3/install_fftw.sh index a40f514ca44..766e8badbe0 100755 --- a/toolchain/scripts/stage3/install_fftw.sh +++ b/toolchain/scripts/stage3/install_fftw.sh @@ -146,7 +146,7 @@ export CP_LIBS="${FFTW_LIBS} \${CP_LIBS}" export FFTW_ROOT=${FFTW_ROOT:-${pkg_install_dir}} export FFTW3_ROOT=${pkg_install_dir} EOF - cat "${BUILDDIR}/setup_fftw" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_fftw" $SETUPFILE fi cd "${ROOTDIR}" diff --git a/toolchain/scripts/stage3/install_libxc.sh b/toolchain/scripts/stage3/install_libxc.sh index e3efa166a67..b839e2bc01a 100755 --- a/toolchain/scripts/stage3/install_libxc.sh +++ b/toolchain/scripts/stage3/install_libxc.sh @@ -127,7 +127,7 @@ export CP_LDFLAGS="\${CP_LDFLAGS} ${LIBXC_LDFLAGS}" export CP_LIBS="${LIBXC_LIBS} \${CP_LIBS}" export LIBXC_ROOT="${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_libxc" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_libxc" $SETUPFILE fi load "${BUILDDIR}/setup_libxc" diff --git a/toolchain/scripts/stage3/install_scalapack.sh b/toolchain/scripts/stage3/install_scalapack.sh index 9151e7dfebe..f5641eb047f 100755 --- a/toolchain/scripts/stage3/install_scalapack.sh +++ b/toolchain/scripts/stage3/install_scalapack.sh @@ -124,7 +124,7 @@ export CP_DFLAGS="\${CP_DFLAGS} IF_MPI(-D__SCALAPACK|)" export CP_LDFLAGS="\${CP_LDFLAGS} IF_MPI(${SCALAPACK_LDFLAGS}|)" export CP_LIBS="IF_MPI(-lscalapack|) \${CP_LIBS}" EOF - cat "${BUILDDIR}/setup_scalapack" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_scalapack" $SETUPFILE fi cd "${ROOTDIR}" diff --git a/toolchain/scripts/stage4/install_cereal.sh b/toolchain/scripts/stage4/install_cereal.sh index e442a2413d9..54ee3d6e8bc 100755 --- a/toolchain/scripts/stage4/install_cereal.sh +++ b/toolchain/scripts/stage4/install_cereal.sh @@ -112,12 +112,9 @@ EOF fi cat << EOF >> "${BUILDDIR}/setup_cereal" export CEREAL_ROOT="${pkg_install_dir}" -export CEREAL_CFLAGS="${CEREAL_CFLAGS}" -export CP_DFLAGS="\${CP_DFLAGS} -D__CEREAL" -export CP_CFLAGS="\${CP_CFLAGS} ${CEREAL_CFLAGS}" export CEREAL_VERSION="${cereal_ver}" EOF - cat "${BUILDDIR}/setup_cereal" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_cereal" $SETUPFILE fi load "${BUILDDIR}/setup_cereal" diff --git a/toolchain/scripts/stage4/install_libcomm.sh b/toolchain/scripts/stage4/install_libcomm.sh index 0d2c9ae24aa..2fe17f0610e 100755 --- a/toolchain/scripts/stage4/install_libcomm.sh +++ b/toolchain/scripts/stage4/install_libcomm.sh @@ -112,10 +112,9 @@ prepend_path CPATH "${pkg_install_dir}/include" EOF fi cat << EOF >> "${BUILDDIR}/setup_libcomm" -export LIBCOMM_CFLAGS="${LIBCOMM_CFLAGS}" export LIBCOMM_ROOT="${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_libcomm" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_libcomm" $SETUPFILE fi load "${BUILDDIR}/setup_libcomm" diff --git a/toolchain/scripts/stage4/install_libnpy.sh b/toolchain/scripts/stage4/install_libnpy.sh index 8a0a83b5053..4154fe76331 100755 --- a/toolchain/scripts/stage4/install_libnpy.sh +++ b/toolchain/scripts/stage4/install_libnpy.sh @@ -104,10 +104,9 @@ prepend_path CPATH "${pkg_install_dir}/include" EOF fi cat << EOF >> "${BUILDDIR}/setup_libnpy" -export LIBNPY_CFLAGS="${LIBNPY_CFLAGS}" export LIBNPY_ROOT="${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_libnpy" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_libnpy" $SETUPFILE fi load "${BUILDDIR}/setup_libnpy" diff --git a/toolchain/scripts/stage4/install_libri.sh b/toolchain/scripts/stage4/install_libri.sh index a0454e08e2e..fde55fb7549 100755 --- a/toolchain/scripts/stage4/install_libri.sh +++ b/toolchain/scripts/stage4/install_libri.sh @@ -111,10 +111,9 @@ prepend_path CPATH "${pkg_install_dir}/include" EOF fi cat << EOF >> "${BUILDDIR}/setup_libri" -export LIBRI_CFLAGS="${LIBRI_CFLAGS}" export LIBRI_ROOT="${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_libri" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_libri" $SETUPFILE fi load "${BUILDDIR}/setup_libri" diff --git a/toolchain/scripts/stage4/install_libtorch.sh b/toolchain/scripts/stage4/install_libtorch.sh index 4b821315e57..9edbb59a24c 100755 --- a/toolchain/scripts/stage4/install_libtorch.sh +++ b/toolchain/scripts/stage4/install_libtorch.sh @@ -109,21 +109,21 @@ prepend_path CMAKE_PREFIX_PATH "${pkg_install_dir}" prepend_path CPATH "${pkg_install_dir}/include" EOF fi - if [ "$ENABLE_CUDA" = "__TRUE__" ]; then - cat << EOF >> "${BUILDDIR}/setup_libtorch" + cat << EOF >> "${BUILDDIR}/setup_libtorch" export CP_DFLAGS="\${CP_DFLAGS} -D__LIBTORCH" export CXXFLAGS="\${CXXFLAGS} ${LIBTORCH_CXXFLAGS}" export CP_LDFLAGS="\${CP_LDFLAGS} ${LIBTORCH_LDFLAGS}" +EOF + if [ "$ENABLE_CUDA" = "__TRUE__" ]; then + cat << EOF >> "${BUILDDIR}/setup_libtorch" export CP_LIBS="\${CP_LIBS} -lc10 -lc10_cuda -ltorch_cpu -ltorch_cuda -ltorch" EOF + else cat << EOF >> "${BUILDDIR}/setup_libtorch" -export CP_DFLAGS="\${CP_DFLAGS} -D__LIBTORCH" -export CXXFLAGS="\${CXXFLAGS} ${LIBTORCH_CXXFLAGS}" -export CP_LDFLAGS="\${CP_LDFLAGS} ${LIBTORCH_LDFLAGS}" export CP_LIBS="\${CP_LIBS} -lc10 -ltorch_cpu -ltorch" EOF - cat "${BUILDDIR}/setup_libtorch" >> "${SETUPFILE}" fi + filter_setup "${BUILDDIR}/setup_libtorch" "${SETUPFILE}" fi load "${BUILDDIR}/setup_libtorch" diff --git a/toolchain/scripts/stage4/install_nep.sh b/toolchain/scripts/stage4/install_nep.sh index 0d510c21cfc..2d0bbfdbe9d 100755 --- a/toolchain/scripts/stage4/install_nep.sh +++ b/toolchain/scripts/stage4/install_nep.sh @@ -128,16 +128,9 @@ prepend_path CMAKE_PREFIX_PATH "${pkg_install_dir}" EOF fi cat << EOF >> "${BUILDDIR}/setup_nep" -export NEP_CFLAGS="${NEP_CFLAGS}" -export NEP_LDFLAGS="${NEP_LDFLAGS}" -export NEP_LIBS="${NEP_LIBS}" -export CP_DFLAGS="\${CP_DFLAGS} -D__NEP" -export CP_CFLAGS="\${CP_CFLAGS} \${NEP_CFLAGS}" -export CP_LDFLAGS="\${CP_LDFLAGS} \${NEP_LDFLAGS}" -export CP_LIBS="\${NEP_LIBS} \${CP_LIBS}" export NEP_ROOT="${pkg_install_dir}" EOF - cat "${BUILDDIR}/setup_nep" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_nep" $SETUPFILE fi load "${BUILDDIR}/setup_nep" diff --git a/toolchain/scripts/stage4/install_rapidjson.sh b/toolchain/scripts/stage4/install_rapidjson.sh index a92d5602e92..2ee5eb0467e 100755 --- a/toolchain/scripts/stage4/install_rapidjson.sh +++ b/toolchain/scripts/stage4/install_rapidjson.sh @@ -119,12 +119,8 @@ EOF fi cat << EOF >> "${BUILDDIR}/setup_rapidjson" export RAPIDJSON_ROOT="${pkg_install_dir}" -export RAPIDJSON_CFLAGS="${RAPIDJSON_CFLAGS}" -export CP_DFLAGS="\${CP_DFLAGS} -D__RAPIDJSON" -export CP_CFLAGS="\${CP_CFLAGS} ${RAPIDJSON_CFLAGS}" -export RAPIDJSON_VERSION="${rapidjson_ver}" EOF - cat "${BUILDDIR}/setup_rapidjson" >> $SETUPFILE + filter_setup "${BUILDDIR}/setup_rapidjson" $SETUPFILE fi load "${BUILDDIR}/setup_rapidjson" diff --git a/toolchain/scripts/tool_kit.sh b/toolchain/scripts/tool_kit.sh index 7e415e80c17..6f67628f967 100755 --- a/toolchain/scripts/tool_kit.sh +++ b/toolchain/scripts/tool_kit.sh @@ -1049,3 +1049,19 @@ write_toolchain_env() { export -p ) > "${__installdir}/toolchain.env" } + +# Write a setup file without containing flags unnecessay for building and running ABACUS +filter_setup() { + local source_file="$1" + local target_file="$2" + + # Check if setup_xxx file exists + if [[ ! -f "$source_file" ]]; then + report_error "File '$source_file' does not exist." + return 1 + fi + + local filename=$(basename "$source_file") + echo "# ==================== Setup for ${filename#*_} ==================== #" >> "$target_file" + sed '/if[[:space:]]/,/^[[:space:]]*fi$/d' "$source_file" | grep -v -E '# For|# Other|with_|FLAGS|LIBS|INCLUDES' >> "$target_file" +} From 20be03c09471d0d6c637f44928dc3a6795acf6e8 Mon Sep 17 00:00:00 2001 From: Growl Date: Thu, 7 May 2026 16:56:42 +0800 Subject: [PATCH 2/2] Split up environment variable settings of CPU and Nvidia-built ELPA Otherwise ELPA_ROOT would be wrong when toolchain is executed again --- toolchain/scripts/stage3/install_elpa.sh | 46 +++++++++++++----------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/toolchain/scripts/stage3/install_elpa.sh b/toolchain/scripts/stage3/install_elpa.sh index 85ebb464fc7..3c8552bc45c 100755 --- a/toolchain/scripts/stage3/install_elpa.sh +++ b/toolchain/scripts/stage3/install_elpa.sh @@ -115,19 +115,15 @@ case "$with_elpa" in [ "$TARGET" = "nvidia" ] && [ "$gpu_enabled" != "__TRUE__" ] && continue # disable cpu if cuda is enabled, only install one [ "$TARGET" != "nvidia" ] && [ "$gpu_enabled" = "__TRUE__" ] && continue - # extend the pkg_install_dir by TARGET - # this linking method is totally different from cp2k toolchain - # for cp2k, ref https://github.com/cp2k/cp2k/commit/6fe2fc105b8cded84256248f68c74139dd8fc2e9 - pkg_install_dir="${pkg_install_dir}/${TARGET}" - echo "Installing from scratch into ${pkg_install_dir}" + echo "Installing from scratch into ${pkg_install_dir}/${TARGET}" mkdir -p "build_${TARGET}" cd "build_${TARGET}" if [ "${with_amd}" != "__DONTUSE__" ] && [ "${WITH_FLANG}" = "yes" ] ; then # special option for flang compiler echo "AMD fortran compiler detected, enable special option operation" - ../configure --prefix="${pkg_install_dir}" \ - --libdir="${pkg_install_dir}/lib" \ + ../configure --prefix="${pkg_install_dir}/${TARGET}" \ + --libdir="${pkg_install_dir}/${TARGET}/lib" \ --enable-openmp=${enable_openmp} \ --enable-static=no \ --enable-shared=yes \ @@ -158,8 +154,8 @@ case "$with_elpa" in -e 's/\\$wl\\$soname //g' else # normal installation - ../configure --prefix="${pkg_install_dir}/" \ - --libdir="${pkg_install_dir}/lib" \ + ../configure --prefix="${pkg_install_dir}/${TARGET}" \ + --libdir="${pkg_install_dir}/${TARGET}/lib" \ --enable-openmp=${enable_openmp} \ --enable-static=no \ --enable-shared=yes \ @@ -187,9 +183,9 @@ case "$with_elpa" in make install > install.log 2>&1 || tail -n ${LOG_LINES} install.log cd .. # link elpa - link=${pkg_install_dir}/include/elpa + link=${pkg_install_dir}/${TARGET}/include/elpa if [[ ! -d $link ]]; then - ln -s ${pkg_install_dir}/include/elpa_openmp-${elpa_ver}/elpa $link + ln -s ${pkg_install_dir}/${TARGET}/include/elpa_openmp-${elpa_ver}/elpa $link fi done cd .. @@ -197,8 +193,9 @@ case "$with_elpa" in write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage3/$(basename ${SCRIPT_NAME})" fi [ "$enable_openmp" != "yes" ] && elpa_dir_openmp="" - ELPA_CFLAGS="-I'${pkg_install_dir}/include/elpa${elpa_dir_openmp}-${elpa_ver}/modules' -I'${pkg_install_dir}/include/elpa${elpa_dir_openmp}-${elpa_ver}/elpa'" - ELPA_LDFLAGS="-L'${pkg_install_dir}/lib' -Wl,-rpath,'${pkg_install_dir}/lib'" + elpa_include="${pkg_install_dir}/IF_CUDA(nvidia|cpu)/include/elpa${elpa_dir_openmp}-${elpa_ver}" + ELPA_CFLAGS="-I'$elpa_include/modules' -I'$elpa_include/elpa'" + ELPA_LDFLAGS="-L'${pkg_install_dir}/IF_CUDA(nvidia|cpu)/lib' -Wl,-rpath,'${pkg_install_dir}/IF_CUDA(nvidia|cpu)/lib'" ;; __SYSTEM__) echo "==================== Finding ELPA from system paths ====================" @@ -246,14 +243,23 @@ prepend_path CPATH "$elpa_include" EOF if [ "$with_elpa" != "__SYSTEM__" ]; then cat << EOF >> "${BUILDDIR}/setup_elpa" -prepend_path PATH "${pkg_install_dir}/bin" -prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/lib" -prepend_path CPATH "${pkg_install_dir}/include" -prepend_path LD_RUN_PATH "${pkg_install_dir}/lib" -prepend_path LIBRARY_PATH "${pkg_install_dir}/lib" -prepend_path PKG_CONFIG_PATH "${pkg_install_dir}/lib/pkgconfig" -prepend_path CMAKE_PREFIX_PATH "${pkg_install_dir}" +prepend_path PATH "${pkg_install_dir}/cpu/bin" +prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/cpu/lib" +prepend_path LD_RUN_PATH "${pkg_install_dir}/cpu/lib" +prepend_path LIBRARY_PATH "${pkg_install_dir}/cpu/lib" +prepend_path PKG_CONFIG_PATH "${pkg_install_dir}/cpu/lib/pkgconfig" +prepend_path CMAKE_PREFIX_PATH "${pkg_install_dir}/cpu" +EOF + if [ -d ${pkg_install_dir}/nvidia ]; then + cat << EOF >> "${BUILDDIR}/setup_elpa" +prepend_path PATH "${pkg_install_dir}/nvidia/bin" +prepend_path LD_LIBRARY_PATH "${pkg_install_dir}/nvidia/lib" +prepend_path LD_RUN_PATH "${pkg_install_dir}/nvidia/lib" +prepend_path LIBRARY_PATH "${pkg_install_dir}/nvidia/lib" +prepend_path PKG_CONFIG_PATH "${pkg_install_dir}/nvidia/lib/pkgconfig" +prepend_path CMAKE_PREFIX_PATH "${pkg_install_dir}/nvidia" EOF + fi fi cat << EOF >> "${BUILDDIR}/setup_elpa" export ELPA_ROOT="${pkg_install_dir}"