diff options
author | Michael Gilroy <michael.gilroy24@gmail.com> | 2017-06-23 12:00:25 +0000 |
---|---|---|
committer | Michael Gilroy <michael.gilroy24@gmail.com> | 2017-06-23 12:00:25 +0000 |
commit | 952598c7a3766adfedae4a7b0ecabe29824c6892 (patch) | |
tree | cc7fb6fd4951e333e6aac9f32648be0a64728a27 | |
parent | added Manifest and metadata for modules ebuild (diff) | |
download | gentoo-mpi-952598c7a3766adfedae4a7b0ecabe29824c6892.tar.gz gentoo-mpi-952598c7a3766adfedae4a7b0ecabe29824c6892.tar.bz2 gentoo-mpi-952598c7a3766adfedae4a7b0ecabe29824c6892.zip |
expanded upon mpi-select, work in progress
-rw-r--r-- | eclass/mpi-select.eclass | 106 |
1 files changed, 89 insertions, 17 deletions
diff --git a/eclass/mpi-select.eclass b/eclass/mpi-select.eclass index ce34f7f..e606903 100644 --- a/eclass/mpi-select.eclass +++ b/eclass/mpi-select.eclass @@ -24,7 +24,7 @@ IMPLEMENTATION_LIST="mpich mpich2 openmpi openib-mvapich2" # @INTERNAL # @DESCRIPTION: # List of used MPI implementation -INSTALLED_IMPLEMENTATIONS=mpi-select_detect_installs +INSTALLED_IMPLEMENTATIONS=get_all_implementations # @ECLASS-VARIABLE: MPI_DIR # @INTERNAL @@ -35,7 +35,9 @@ MPI_DIR="/usr/$(get_libdir)/mpi" # @ECLASS-FUNCTION: mpi-select_implementation_install # @DESCRIPTION: # Install MPI software with arbitrary implementations -mpi-select_implementation_install (){ +mpi-select_implementation_install() +{ + # IGNORE THIS FOR NOW for implementation in "$@" do if [[ "${installed}" == *"${implementation}"* ]]; then @@ -50,7 +52,7 @@ mpi-select_implementation_install (){ # @ECLASS-FUNCTION: mpi-select_detect_installs # @DESCRIPTION: # See what MPI software is installed on the system -mpi-select_detect_installs() +get_all_implemenetations() { for dir in "${MPI_DIR}"/* do @@ -60,29 +62,99 @@ mpi-select_detect_installs() echo "${INSTALLED_IMPLEMENTATIONS}" } +mpi_foreach_implementation() +{ + debug-print-function ${FUNCNAME} "${@}" + + # [[ -z "${INSTALLED_IMPLEMENTATIONS}" ]] \ + # die "No mpi implementations detected" + + local status=0 + + for implementation in "${@}" + do + # iterate through implementations, repeat same commands for each variant + if [[ ]] + fi + + + done + + echo "${status}" +} + +# TODO: write src_configure/compile/test/ mpi-select_src_configure() { - case "${1}" in - # cases based on implementation - esac + debug-print-function "${FUNCNAME}" "${@}" + + mpi-select_abi_src_configure() + { + debug-print-function "${FUNCNAME}" "${@}" + pushd "${BUILD_DIR}" > /dev/null || die + if declare -f mpi_src_configure > /dev/null; then + mpi_src_configure + else + default_src_configure + fi + popd > /dev/null || die + } + + mpi_foreach_implementation mpi-select_abi_src_configure } -mpi-select_src_compile () +mpi-select_src_compile() { - case "${1}" in - # cases based on implementation - esac + debug-print-function "${FUNCNAME}" "${@}" + + mpi-select_abi_src_compile() + { + debug-print-function "${FUNCNAME}" "${@}" + pushd "${BUILD_DIR}" > /dev/null || die + if declare -f mpi_src_configure > /dev/null; then + mpi_src_compile + else + default_src_configure + fi + popd > /dev/null || die + } + + mpi_foreach_implementation mpi-select_abi_src_compile } mpi-select_src_test() { - case "${1}" in - # cases based on implementation - esac + debug-print-function "${FUNCNAME}" "${@}" + + mpi-select_abi_src_test() + { + debug-print-function "${FUNCNAME}" "${@}" + pushd "${BUILD_DIR}" > /dev/null || die + if declare -f mpi_src_configure > /dev/null; then + mpi_src_test + else + default_src_configure + fi + popd > /dev/null || die + } + + mpi_foreach_implementation mpi-select_abi_src_test } -mpi-select_src_install(){ - case "${1}" in - # cases based on implementation - esac +mpi-select_src_install() +{ + debug-print-function "${FUNCNAME}" "${@}" + + mpi-select_abi_src_install() + { + debug-print-function "${FUNCNAME}" "${@}" + pushd "${BUILD_DIR}" > /dev/null || die + if declare -f mpi_src_configure > /dev/null; then + mpi_src_install_ + else + default_src_configure + fi + popd > /dev/null || die + } + mpi_foreach_implementation mpi-select_abi_src_install } |