Merge branch 'master' of gitorious.psi.ch:scicomp/psi-modules-buildenvironment
This commit is contained in:
1
scripts/Bootstrap/.gitignore
vendored
Normal file
1
scripts/Bootstrap/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
modulecmd
|
||||
@@ -1,18 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
#############################################################################
|
||||
# bash 3 or newer ...
|
||||
#
|
||||
if [ ${BASH_VERSINFO:-0} -lt 3 ]; then
|
||||
echo "BASH version ${BASH_VERSION} ist not supported! You need at least version 3..."
|
||||
return
|
||||
fi
|
||||
|
||||
if [ "${LOADEDMODULES:-}" = "" ]; then
|
||||
declare -x LOADEDMODULES=
|
||||
fi
|
||||
|
||||
if [[ -r "${PSI_BASH_COMPLETION}" ]]; then
|
||||
source "${PSI_BASH_COMPLETION}"
|
||||
fi
|
||||
|
||||
#############################################################################
|
||||
# implement module comand as function
|
||||
#
|
||||
module() {
|
||||
local -r modulecmd="${PMODULES_HOME}/bin/modulecmd"
|
||||
|
||||
@@ -63,6 +61,72 @@ module() {
|
||||
}
|
||||
export -f module
|
||||
|
||||
#############################################################################
|
||||
# helper functions
|
||||
#
|
||||
append_path () {
|
||||
local -r P=$1
|
||||
local -r d=$2
|
||||
|
||||
if ! echo ${!P} | egrep -q "(^|:)${d}($|:)" ; then
|
||||
if [[ -z ${!P} ]]; then
|
||||
eval $P=${d}
|
||||
else
|
||||
eval $P="${!P}:${d}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
prepend_path () {
|
||||
local -r P=$1
|
||||
local -r d=$2
|
||||
|
||||
if ! echo ${!P} | egrep -q "(^|:)${d}($|:)" ; then
|
||||
if [[ -z ${!P} ]]; then
|
||||
eval $P=${d}
|
||||
else
|
||||
eval $P="${d}:${!P}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################################
|
||||
# setup environment
|
||||
#
|
||||
if [[ -z ${LOADEDMODULES} ]]; then
|
||||
declare -x LOADEDMODULES=''
|
||||
fi
|
||||
|
||||
if [[ -z ${MODULEPATH} ]]; then
|
||||
declare -x MODULEPATH=''
|
||||
fi
|
||||
|
||||
if [[ -z ${PSI_LOADEDFAMILIES} ]]; then
|
||||
declare -x PSI_LOADEDFAMILIES=''
|
||||
fi
|
||||
for f in ${PSI_DEFAULT_FAMILIES}; do
|
||||
append_path MODULEPATH "${PSI_PREFIX}/${PSI_MODULES_ROOT}/$f"
|
||||
append_path PSI_LOADEDFAMILIES "${f}"
|
||||
done
|
||||
|
||||
append_path PATH "${PMODULES_HOME}/bin"
|
||||
append_path MANPATH "${PMODULES_HOME}/share/man"
|
||||
|
||||
#############################################################################
|
||||
# initialize bash completion
|
||||
#
|
||||
if [[ -r "${PMODULES_HOME}/init/bash_completion" ]]; then
|
||||
source "${PMODULES_HOME}/init/bash_completion"
|
||||
fi
|
||||
|
||||
#############################################################################
|
||||
# legacy...
|
||||
#
|
||||
declare -x MODULE_VERSION=${PMODULES_VERSION}
|
||||
declare -x MODULE_VERSION_STACK="${PMODULE_VERSION}"
|
||||
declare -x MODULESHOME="${PMODULES_HOME}"
|
||||
|
||||
|
||||
# Local Variables:
|
||||
# mode: sh
|
||||
# sh-basic-offset: 8
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../System/bash.build
|
||||
13
scripts/Bootstrap/bash.build
Executable file
13
scripts/Bootstrap/bash.build
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PREFIX}" \
|
||||
|| exit 1
|
||||
}
|
||||
|
||||
em.add_to_family 'System'
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
@@ -2,7 +2,7 @@
|
||||
# Bash commandline completion (bash 3.0 and above) for Modules 3.2.10
|
||||
#
|
||||
_module_avail() {
|
||||
"${MODULESHOME}"/bin/modulecmd bash -t avail 2>&1 | sed '
|
||||
"${PMODULES_HOME}"/bin/modulecmd bash -t avail 2>&1 | sed '
|
||||
/:$/d;
|
||||
/:ERROR:/d;
|
||||
s#^\(.*\)/\(.\+\)(default)#\1\n\1\/\2#;
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
declare -r BASE_DIR=$(cd "$(dirname $0)/../.." && pwd)
|
||||
declare -r BOOTSTRAP_DIR="${BASE_DIR}/scripts/Bootstrap"
|
||||
|
||||
source "/opt/psi/config/environment.bash"
|
||||
source "${BASE_DIR}/config/pmodules_version.conf"
|
||||
|
||||
unset PMODULES_HOME
|
||||
source "/opt/psi/config/environment.bash"
|
||||
|
||||
${BOOTSTRAP_DIR}/gettext.build --bootstrap
|
||||
${BOOTSTRAP_DIR}/getopt.build --bootstrap
|
||||
${BOOTSTRAP_DIR}/dialog.build --bootstrap
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../Tools/dialog.build
|
||||
13
scripts/Bootstrap/dialog.build
Executable file
13
scripts/Bootstrap/dialog.build
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PREFIX}" \
|
||||
|| exit 1
|
||||
}
|
||||
|
||||
em.add_to_family 'Tools'
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
30
scripts/Bootstrap/environment.bash
Normal file
30
scripts/Bootstrap/environment.bash
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
declare -x PSI_PREFIX=$(cd $(dirname "${BASH_SOURCE}")/.. && pwd)
|
||||
declare -x PSI_CONFIG_DIR=$(basename $(cd $(dirname "${BASH_SOURCE}") && pwd))
|
||||
|
||||
if [[ -z ${PMODULES_VERSION} ]]; then
|
||||
declare -x PMODULES_VERSION="0.99.1"
|
||||
fi
|
||||
|
||||
declare -x PMODULES_HOME="${PSI_PREFIX}/Tools/Pmodules/${PMODULES_VERSION}"
|
||||
|
||||
declare -A PSI_FAMILIES=(
|
||||
['Legacy']=0
|
||||
['Libraries']=0
|
||||
['Programming']=0
|
||||
['Numeric']=0
|
||||
['System']=0
|
||||
['Tools']=0
|
||||
['Compiler']=2
|
||||
['MPI']=4
|
||||
['HDF5_serial']=4
|
||||
['HDF5']=6
|
||||
)
|
||||
|
||||
declare -x PSI_MODULES_ROOT='modulefiles'
|
||||
|
||||
declare -x PSI_DEFAULT_FAMILIES='Tools Programming'
|
||||
|
||||
declare -x PSI_RELEASES=':unstable:stable:deprecated:'
|
||||
declare -x PSI_USED_RELEASES='stable'
|
||||
@@ -1 +0,0 @@
|
||||
../System/getopt.build
|
||||
42
scripts/Bootstrap/getopt.build
Executable file
42
scripts/Bootstrap/getopt.build
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
:
|
||||
}
|
||||
|
||||
function em.build() {
|
||||
case ${OS} in
|
||||
Linux )
|
||||
declare -x LDFLAGS="-lintl -liconv"
|
||||
;;
|
||||
Darwin )
|
||||
declare -x LDFLAGS="-lintl -liconv -framework CoreFoundation"
|
||||
;;
|
||||
esac
|
||||
|
||||
cd "${MODULE_SRCDIR}"
|
||||
make -e
|
||||
}
|
||||
|
||||
function em.install() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
declare -x DESTDIR="${PREFIX}"
|
||||
declare -x prefix=''
|
||||
make -e install
|
||||
}
|
||||
|
||||
function em.cleanup_build() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
make -e realclean
|
||||
}
|
||||
|
||||
em.add_to_family 'Tools'
|
||||
em.make_all
|
||||
|
||||
# Local Variables:
|
||||
# mode: sh
|
||||
# sh-basic-offset: 8
|
||||
# tab-width: 8
|
||||
# End:
|
||||
@@ -1 +0,0 @@
|
||||
../Tools/gettext.build
|
||||
24
scripts/Bootstrap/gettext.build
Executable file
24
scripts/Bootstrap/gettext.build
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PREFIX}" \
|
||||
--disable-java \
|
||||
--disable-threads \
|
||||
--disable-shared \
|
||||
--enable-relocatable \
|
||||
--disable-openmp \
|
||||
--disable-acl \
|
||||
--disable-curses \
|
||||
--with-included-gettext \
|
||||
--without-libiconv-prefix \
|
||||
--without-libintl-prefix \
|
||||
--with-included-libxml \
|
||||
|| exit 1
|
||||
}
|
||||
|
||||
em.add_to_family 'Tools'
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
@@ -3,22 +3,27 @@
|
||||
declare -r BASE_DIR=$(cd "$(dirname $0)/../.." && pwd)
|
||||
declare -r BOOTSTRAP_DIR="${BASE_DIR}/scripts/Bootstrap"
|
||||
|
||||
source "/opt/psi/config/environment.bash"
|
||||
source "${BASE_DIR}/config/pmodules_version.conf"
|
||||
|
||||
unset PMODULES_HOME
|
||||
source "/opt/psi/config/environment.bash"
|
||||
|
||||
sed_cmd="s:@PMODULES_HOME@:${PMODULES_HOME}:g;"
|
||||
sed_cmd+="s:@PMODULES_VERSION@:${PMODULES_VERSION}:g;"
|
||||
sed_cmd+="s:@MODULES_VERSION@:${MODULES_VERSION}:g"
|
||||
sed "${sed_cmd}" "${BOOTSTRAP_DIR}/modulecmd.bash" > "${BOOTSTRAP_DIR}/modulecmd"
|
||||
|
||||
install -d -m 0755 "${PMODULES_HOME}/etc"
|
||||
install -d -m 0755 "${PMODULES_HOME}/bin"
|
||||
install -d -m 0755 "${PMODULES_HOME}/config"
|
||||
install -d -m 0755 "${PMODULES_HOME}/init"
|
||||
install -d -m 0755 "${PMODULES_HOME}/lib"
|
||||
|
||||
install -m 0755 "${BOOTSTRAP_DIR}/modulecmd" "${PMODULES_HOME}/bin"
|
||||
install -m 0755 "${BOOTSTRAP_DIR}/init_local_env.bash" "${PMODULES_HOME}/bin"
|
||||
install -m 0755 "${BOOTSTRAP_DIR}/modsync.bash" "${PMODULES_HOME}/bin"
|
||||
install -m 0755 "${BOOTSTRAP_DIR}/dialog.bash" "${PMODULES_HOME}/bin"
|
||||
|
||||
install -m 0644 "${BOOTSTRAP_DIR}/modulerc" "${PMODULES_HOME}/etc"
|
||||
#install -m 0644 "${BOOTSTRAP_DIR}/modulerc" "${PMODULES_HOME}/config"
|
||||
|
||||
install -m 0644 "${BOOTSTRAP_DIR}/bash" "${PMODULES_HOME}/init"
|
||||
install -m 0644 "${BOOTSTRAP_DIR}/bash_completion" "${PMODULES_HOME}/init"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,9 @@
|
||||
declare -r PMODULES_DIR=$( cd "$(dirname $0)/.." && pwd )
|
||||
declare -r version='@PMODULES_VERSION@'
|
||||
declare -r modulecmd="${PMODULES_DIR}/bin/modulecmd.tcl"
|
||||
#declare -rx TCL_LIBRARY="${PMODULES_DIR}/lib/tcl8.6"
|
||||
|
||||
declare -rx TCL_LIBRARY="${PMODULES_DIR}/lib/tcl8.6"
|
||||
declare -rx PSI_LIBMODULES="${PMODULES_DIR}/lib/libmodules.tcl"
|
||||
|
||||
declare -r modulepath_root="${PSI_PREFIX}/${PSI_MODULES_ROOT}"
|
||||
declare -ra modulepath=( ${MODULEPATH//:/ } )
|
||||
@@ -398,11 +400,11 @@ get_release() {
|
||||
echo ${release}
|
||||
}
|
||||
|
||||
if [[ ${PSI_RELEASES_CONF} ]] && [[ -r "${PSI_PREFIX}/${PSI_CONFIG_DIR}/${PSI_RELEASES_CONF}" ]]; then
|
||||
declare -r available_releases=:$(< "${PSI_PREFIX}/${PSI_CONFIG_DIR}/${PSI_RELEASES_CONF}"):
|
||||
if [[ -n ${PSI_RELEASES} ]]; then
|
||||
declare -r available_releases="${PSI_RELEASES}"
|
||||
else
|
||||
# set defaults, if file doesn't exist or isn't readable
|
||||
declare -r available_releases=":unstable:stable:deprecated:"
|
||||
declare -r available_releases=':unstable:stable:deprecated:'
|
||||
fi
|
||||
declare used_releases=":${PSI_USED_RELEASES}:"
|
||||
|
||||
@@ -414,20 +416,8 @@ is_used_release() {
|
||||
[[ ${used_releases} =~ :$1: ]]
|
||||
}
|
||||
|
||||
declare available_families=':'
|
||||
declare family
|
||||
declare depth
|
||||
while read family depth rest; do
|
||||
if (( depth == 0 )); then
|
||||
available_families+="${family}:"
|
||||
fi
|
||||
done < "${PSI_PREFIX}/${PSI_CONFIG_DIR}/${PSI_FAMILY_CONF}"
|
||||
declare used_families=":${PSI_LOADEDFAMILIES}:"
|
||||
|
||||
is_family() {
|
||||
[[ ${available_families} =~ :$1: ]]
|
||||
}
|
||||
|
||||
is_used_family() {
|
||||
[[ ${used_families} =~ :$1: ]]
|
||||
}
|
||||
@@ -677,6 +667,27 @@ subcommand_avail() {
|
||||
done
|
||||
}
|
||||
|
||||
get_families () {
|
||||
{
|
||||
cd "${modulepath_root}"
|
||||
echo *
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# $1: family name (not path!)
|
||||
compute_family_depth () {
|
||||
{
|
||||
local -r family=$1
|
||||
cd "${modulepath_root}"
|
||||
local -r tmp=$(find "${family}" -d -type f -o -type l | head -1)
|
||||
local -ar tmp2=( ${tmp//\// } )
|
||||
local depth=${#tmp2[@]}
|
||||
let depth-=3
|
||||
echo ${depth}
|
||||
};
|
||||
}
|
||||
|
||||
subcommand_use() {
|
||||
if [[ $# == 0 ]]; then
|
||||
local f
|
||||
@@ -686,9 +697,10 @@ subcommand_use() {
|
||||
echo -e "\t${f}" 1>&2
|
||||
done
|
||||
echo -e "\nFamilies you may use in addition:" 1>&2
|
||||
for f in ${available_families//:/ }; do
|
||||
if ! is_used_family $f; then
|
||||
echo -e "\t${f}" 1>&2
|
||||
for family in $(get_families); do
|
||||
local -i depth=$( compute_family_depth "${family}")
|
||||
if ! is_used_family $f && (( depth == 0 )); then
|
||||
echo -e "\t${f}" 1>&2
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -699,7 +711,7 @@ subcommand_use() {
|
||||
echo -e "\nReleases you may use in addition:" 1>&2
|
||||
for r in ${available_releases//:/ }; do
|
||||
if ! is_used_release $r; then
|
||||
echo -e "\t${r}"
|
||||
echo -e "\t${r}" 1>&2
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -710,6 +722,7 @@ subcommand_use() {
|
||||
fi
|
||||
done
|
||||
else
|
||||
|
||||
local dirs_to_add=()
|
||||
local subcommand_switches=''
|
||||
while (( $# > 0)); do
|
||||
@@ -722,7 +735,16 @@ subcommand_use() {
|
||||
# releases are always *appended*
|
||||
append_path PSI_USED_RELEASES "${arg}"
|
||||
elif [[ ! ${arg} =~ */* ]] && [[ -d ${modulepath_root}/${arg} ]]; then
|
||||
dirs_to_add+=( ${modulepath_root}/${arg} )
|
||||
local -i depth=$(compute_family_depth "${arg}")
|
||||
if (( depth == 0 )); then
|
||||
dirs_to_add+=( ${modulepath_root}/${arg} )
|
||||
else
|
||||
echo "${0##_}: cannot add family ${arg} to module path"
|
||||
return 3
|
||||
fi
|
||||
elif [[ ${arg} =~ ^${modulepath_root} ]]; then
|
||||
echo "${0##_}: illegal directory: ${arg}" 1>&2
|
||||
return 3
|
||||
elif [[ -d ${arg} ]]; then
|
||||
local normalized_dir=$(cd "${arg}" && pwd)
|
||||
dirs_to_add+=( ${normalized_dir} )
|
||||
@@ -808,9 +830,10 @@ subcommand_search() {
|
||||
local -r module=$1
|
||||
# we must write temporary results to a file for sorting
|
||||
local -r tmpfile=$( mktemp /tmp/$(basename $0).XXXXXX ) || exit 1
|
||||
local family depth unused
|
||||
local family
|
||||
# loop over all families
|
||||
while read family depth unused; do
|
||||
for family in $(get_families); do
|
||||
local -i depth=$( compute_family_depth ${family} )
|
||||
# get all potential directories of family $f with module-files
|
||||
local mpaths=( $(find \
|
||||
"${modulepath_root}/${family}" \
|
||||
@@ -841,7 +864,7 @@ subcommand_search() {
|
||||
${family} "${requires}" >> "${tmpfile}"
|
||||
done
|
||||
done
|
||||
done < "${PSI_PREFIX}/${PSI_CONFIG_DIR}/${PSI_FAMILY_CONF}"
|
||||
done
|
||||
sort -k 1,1 -k 4,4 -k 5,5 "${tmpfile}" | awk "${with_modules}" 1>&2
|
||||
|
||||
rm -f "${tmpfile}"
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#%Module1.0
|
||||
|
||||
setenv PSI_LIBMODULES "$env(PSI_PREFIX)/$env(PSI_CONFIG_DIR)/libmodules.tcl"
|
||||
|
||||
if { ! [info exists env(PSI_LIBMODULES) ] } {
|
||||
puts stderr "Module cannot be loaded, because the shell environment is not setup correctly."
|
||||
exit 42
|
||||
}
|
||||
39
scripts/Bootstrap/profile.bash
Normal file
39
scripts/Bootstrap/profile.bash
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
#############################################################################
|
||||
# read Pmodules configuration
|
||||
#
|
||||
_init_env_file="$(dirname ${BASH_SOURCE})/environment.bash"
|
||||
if [[ ! -r "${_init_env_file}" ]]; then
|
||||
echo "Oops: cannot initialize Modules!"
|
||||
echo "${_init_env_file}: file does not exist or is not readable."
|
||||
return 1
|
||||
fi
|
||||
source "${_init_env_file}"
|
||||
unset _init_env_file
|
||||
|
||||
############################################################################
|
||||
# check configuration
|
||||
#
|
||||
if [[ ! -d ${PSI_PREFIX} ]] || [[ ! -d ${PMODULES_HOME} ]]; then
|
||||
echo "Oops: cannot initialize module environment !"
|
||||
return 1
|
||||
fi
|
||||
|
||||
############################################################################
|
||||
# inititialize Pmodules for bash
|
||||
#
|
||||
_init_bash="${PMODULES_HOME}/init/bash"
|
||||
if [[ ! -r "${_init_bash}" ]]; then
|
||||
echo "Oops: cannot initialize Modules!"
|
||||
echo "${_init_bash}: File does not exist or is not readable."
|
||||
return 1
|
||||
fi
|
||||
source "${_init_bash}"
|
||||
unset _init_bash
|
||||
|
||||
# Local Variables:
|
||||
# mode: sh
|
||||
# sh-basic-offset: 8
|
||||
# tab-width: 8
|
||||
# End:
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source $(dirname $0)/../../lib/libem.bash
|
||||
source $(dirname $0)/../../../lib/libem.bash
|
||||
|
||||
function em.pre_configure() {
|
||||
./autogen.sh
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
cat <<EOF > "${MODULE_SRCDIR}/make.inc"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
cat <<EOF > "${MODULE_SRCDIR}/make.inc"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
cat <<EOF > "${MODULE_SRCDIR}/make.inc"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
cat <<EOF > "${MODULE_SRCDIR}/SuiteSparse_config/SuiteSparse_config.mk"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
# :TODO: detect compiler
|
||||
TOOLSET=gcc
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
case ${OS} in
|
||||
Darwin )
|
||||
@@ -6,7 +6,7 @@
|
||||
# and remove these strings.
|
||||
#
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
case ${OS} in
|
||||
Darwin )
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.pre_configure() {
|
||||
./autogen.sh
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.pre_configure() {
|
||||
:
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
(cd "${MODULE_SRCDIR}" && ./autogen.sh)
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
CC=$MPICC CXX=$MPICXX cmake \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
module use unstable
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
cat <<EOF > "${MODULE_SRCDIR}/make.inc"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
CC=$MPICC
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
CC=$MPICC
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
module use unstable
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
CC=$MPICC
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
declare -rx AR=ar
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
case ${OS} in
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}/bootstrap" --prefix="${PREFIX}"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
em.add_to_family 'Programming'
|
||||
em.set_runtime_dependencies ""
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Lua cannot be build in a seperate directory!
|
||||
#
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PREFIX}" \
|
||||
|| exit 1
|
||||
}
|
||||
|
||||
function em.build() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
|
||||
make -j ${JOBS}
|
||||
}
|
||||
|
||||
em.supported_os ''
|
||||
em.add_to_family 'Programming'
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
em.cleanup_src
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
:
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PREFIX}" \
|
||||
|| exit 1
|
||||
}
|
||||
|
||||
em.add_to_family 'System'
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
:
|
||||
@@ -1,42 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
:
|
||||
}
|
||||
|
||||
function em.build() {
|
||||
case ${OS} in
|
||||
Linux )
|
||||
declare -x LDFLAGS="-lintl -liconv"
|
||||
;;
|
||||
Darwin )
|
||||
declare -x LDFLAGS="-lintl -liconv -framework CoreFoundation"
|
||||
;;
|
||||
esac
|
||||
|
||||
cd "${MODULE_SRCDIR}"
|
||||
make -e
|
||||
}
|
||||
|
||||
function em.install() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
declare -x DESTDIR="${PREFIX}"
|
||||
declare -x prefix=''
|
||||
make -e install
|
||||
}
|
||||
|
||||
function em.cleanup_build() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
make -e realclean
|
||||
}
|
||||
|
||||
em.add_to_family 'Tools'
|
||||
em.make_all
|
||||
|
||||
# Local Variables:
|
||||
# mode: sh
|
||||
# sh-basic-offset: 8
|
||||
# tab-width: 8
|
||||
# End:
|
||||
@@ -1,50 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
:
|
||||
}
|
||||
|
||||
function em.build() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
|
||||
|
||||
install -m 0755 -d "${PREFIX}/include"
|
||||
install -m 0755 -d "${PREFIX}/lib"
|
||||
install -m 0755 -d "${DOCDIR}/lapack"
|
||||
|
||||
(
|
||||
cp make.inc.blas BLAS/make.inc
|
||||
cd BLAS
|
||||
make -e -j3 || exit 1
|
||||
install -m 0644 libblas.a "${PREFIX}/lib" || exit 1
|
||||
) || exit 1
|
||||
|
||||
(
|
||||
cp make.inc.cblas CBLAS/Makefile.in
|
||||
cd CBLAS
|
||||
make -e || exit 1
|
||||
install -m 0644 include/* "${PREFIX}/include" || exit 1
|
||||
install -m 0644 lib/* "${PREFIX}/lib" || exit 1
|
||||
) || exit 1
|
||||
(
|
||||
cp make.inc.lapack lapack/make.inc
|
||||
cd lapack
|
||||
make -e -j3 || exit 1
|
||||
make -e -j3 lapackelib || exit 1
|
||||
install -m 0644 lapacke/include/* "${PREFIX}/include" || exit 1
|
||||
install -m 0644 lib*.a "${PREFIX}/lib" || exit 1
|
||||
install -m 0444 README LICENSE "${DOCDIR}/lapack"
|
||||
) || exit 1
|
||||
}
|
||||
|
||||
function em.install() {
|
||||
:
|
||||
}
|
||||
|
||||
em.add_to_family 'Compiler'
|
||||
em.set_runtime_dependencies "${COMPILER}"
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
em.cleanup_src
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
cd "${MODULE_SRCDIR}"
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,37 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
TCL_VERSION='8.6.3'
|
||||
TCL_DIR="${PSI_PREFIX}/Programming/Tcl/${TCL_VERSION}"
|
||||
|
||||
PATH="${TCL_DIR}/bin:${PATH}"
|
||||
|
||||
case ${OS} in
|
||||
Linux )
|
||||
declare -x LIBS="-lz -lpthread"
|
||||
;;
|
||||
Darwin )
|
||||
declare -x LIBS="-lz -framework CoreFoundation"
|
||||
;;
|
||||
esac
|
||||
|
||||
function em.configure() {
|
||||
CPPFLAGS="-DUSE_INTERP_ERRORLINE" "${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PSI_PREFIX}/${MODULE_FAMILY}" \
|
||||
--with-module-path="${PSI_PREFIX}/${PSI_MODULES_ROOT}" \
|
||||
--with-tcl="${TCL_DIR}/lib" \
|
||||
--without-x \
|
||||
|| exit 1
|
||||
}
|
||||
# fake module command
|
||||
module() {
|
||||
:
|
||||
}
|
||||
|
||||
# use system gcc to compile
|
||||
declare -rx CC=gcc
|
||||
|
||||
em.add_to_family 'Tools'
|
||||
em.set_build_dependencies "Tcl/${TCL_VERSION}"
|
||||
em.make_all
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PREFIX}" \
|
||||
|| exit 1
|
||||
}
|
||||
|
||||
em.add_to_family 'Tools'
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
module use 'Libraries'
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
--prefix="${PREFIX}" \
|
||||
--disable-java \
|
||||
--disable-threads \
|
||||
--disable-shared \
|
||||
--enable-relocatable \
|
||||
--disable-openmp \
|
||||
--disable-acl \
|
||||
--disable-curses \
|
||||
--with-included-gettext \
|
||||
--without-libiconv-prefix \
|
||||
--without-libintl-prefix \
|
||||
--with-included-libxml \
|
||||
|| exit 1
|
||||
}
|
||||
|
||||
em.add_to_family 'Tools'
|
||||
em.set_build_dependencies "${COMPILER}"
|
||||
em.make_all
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../../lib/libem.bash"
|
||||
source "$(dirname $0)/../../../lib/libem.bash"
|
||||
|
||||
function em.configure() {
|
||||
"${MODULE_SRCDIR}"/configure \
|
||||
@@ -1,54 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/lib.bash"
|
||||
|
||||
change_release() {
|
||||
local m=$1
|
||||
local with_modules=()
|
||||
shift
|
||||
shift
|
||||
shift
|
||||
while (( $# > 0 )); do
|
||||
with_modules+=( "--with=$1" )
|
||||
shift
|
||||
done
|
||||
"$(dirname $0)/${m%/*}.build" "${m#*/}" "${with_modules[@]}" "--release=${release}"
|
||||
}
|
||||
|
||||
declare usecmd="${PSI_PREFIX}/${PSI_CONFIG_DIR}/init/extensions/use.bash"
|
||||
declare searchcmd="${PSI_PREFIX}/${PSI_CONFIG_DIR}/init/extensions/search.bash"
|
||||
|
||||
# :FIXME: this does not work ...
|
||||
#eval "${usecmd} deprecated"
|
||||
#eval "${usecmd} unstable"
|
||||
|
||||
release=''
|
||||
with_modules=()
|
||||
modules=()
|
||||
while (( $# > 0 )); do
|
||||
case $1 in
|
||||
--release=* )
|
||||
release=${1/--release=}
|
||||
;;
|
||||
--with=*/* )
|
||||
with_modules+=( ${1} )
|
||||
;;
|
||||
-* )
|
||||
die 1 "$1: illegal argument"
|
||||
;;
|
||||
*/* )
|
||||
modules+=( $1 )
|
||||
;;
|
||||
* )
|
||||
die 1 "$1: illegal argument"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
#[[ -z ${from_release} ]] && die 1 "--from-release missing"
|
||||
[[ -z ${release} ]] && die 1 "--release missing"
|
||||
while read -a tokens ; do
|
||||
echo "${tokens[@]}"
|
||||
change_release "${tokens[@]}"
|
||||
done < <("${searchcmd}" "${modules[@]}" --no-header -a "${with_modules[@]}" 2>&1)
|
||||
@@ -1,12 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
source "$(dirname $0)/../lib/lib.bash"
|
||||
|
||||
family=$1
|
||||
shift
|
||||
|
||||
modules=$(egrep -l "[:space:]*[\"\']$family[\"\']" "$(dirname $0)"/*.build || :)
|
||||
|
||||
for m in ${modules}; do
|
||||
"$m" "$@"
|
||||
done
|
||||
Reference in New Issue
Block a user