done
}
+# === get_external_fc_name ====================================================
+#
+# Returns the name of external Fortran compiler based on values of
+# environment variables.
+# =============================================================================
+get_external_fc_name() {
+ if [[ -v FLANG_FC ]]; then
+ echo ${FLANG_FC}
+ elif [[ -v F18_FC ]]; then
+ # We support F18_FC for backwards compatibility.
+ echo ${F18_FC}
+ else
+ echo gfortran
+ fi
+}
+
# === preprocess ==============================================================
#
# Runs the preprocessing. Fortran files are preprocessed using Flang. Other
local -n other_srcs=$2
local -n opts=$3
- local ext_fc=""
- if [[ -v $FLANG_FC ]]; then
- ext_fc="${FLANG_FC}"
- elif [[ -v $F18_FC ]]; then
- # We support F18_FC for backwards compatibility.
- ext_fc="${F18_FC}"
- else
- ext_fc=gfortran
- fi
-
+ local ext_fc="$(get_external_fc_name)"
- local ext_fc="${FLANG_FC:-gfortran}"
local -r wd=$(cd "$(dirname "$0")/.." && pwd)
# Use the provided output file name.
done
# STEP 2: Compile Fortran Source Files
- readonly ext_fc="${F18_FC:-gfortran}"
+ local ext_fc="$(get_external_fc_name)"
# Temporary object files generated by this script. To be deleted at the end.
local temp_object_files=()
for idx in "${!fortran_source_files[@]}"; do