#!/bin/sh # $Id: gfortran-version.in 7104 2012-10-30 05:50:25Z cher $ # Copyright (c) 2008-2012 Alexander Chernov LANG_CONFIG_DIR="/home/judges/compile/conf/lang.d" common_config() { echo 'long_name="GNU Fortran"' echo 'src_sfx=".for"' # echo 'insecure=1' } failure() { rm -f conftest* echo 'version=' echo 'arg="'"${arg}"'"' common_config echo 'GFORTRANRUN=false' echo 'GFORTRANDIR=' [ "${verbose}" = 1 ] && echo "no" >&2 exit 1 } unset LANG unset LC_ALL unset LC_MESSAGES unset LANGUAGE if [ x"$1" = x-v ] then verbose=1 shift fi # recheck the language if [ x"$1" = x-r ] then arg="$2" [ x"$2" != x ] && GFORTRANRUN="$2" [ "${GFORTRANRUN}" = "" ] && GFORTRANRUN="gfortran" [ "${verbose}" = 1 ] && echo -n "checking whether GNU Fortran is available..." >&2 "${GFORTRANRUN}" -v >/dev/null 2>/dev/null || failure version=`"${GFORTRANRUN}" --version | grep "GCC" | gawk '{ print $4; }'` || failure [ "${version}" != x ] || failure echo " END" > conftest.for "${GFORTRANRUN}" -static conftest.for -o conftest 2>/dev/null >/dev/null || failure [ -x conftest ] || failure ./conftest > /dev/null 2>/dev/null || failure rm -f ./conftest* GFORTRANDIR=`dirname "${GFORTRANRUN}"` [ "${GFORTRANDIR}" = . ] && GFORTRANDIR="" echo 'version="'"${version}"'"' echo 'arg="'"${arg}"'"' common_config echo 'GFORTRANRUN="'"${GFORTRANRUN}"'"' echo 'GFORTRANDIR="'"${GFORTRANDIR}"'"' [ "${verbose}" = 1 ] && echo "yes, ${GFORTRANRUN}, ${version}" >&2 exit 0 fi if [ x"$1" = x-l ] then echo "GNU Fortran compiler [http://gcc.gnu.org]" exit 0 fi [ "${EJUDGE_LANG_CONFIG}" = "" ] && EJUDGE_LANG_CONFIG="${LANG_CONFIG_DIR}/gfortran.cfg" if [ -f "${EJUDGE_LANG_CONFIG}" ] then . "${EJUDGE_LANG_CONFIG}" else GFORTRANRUN="gfortran" GFORTRANDIR= fi if [ x"${GFORTRANRUN}" = x -o x"${GFORTRANRUN}" = xfalse ] then echo "This language is not supported." >&2 exit 1 fi if [ x"${GFORTRANDIR}" != x ] then PATH="${GFORTRANDIR}:${PATH}" fi if [ x"$1" = x-p ] then echo "${GFORTRANRUN}" exit 0 fi "${GFORTRANRUN}" --version 2>/dev/null >/dev/null || exit 1 [ x"$1" = x-f ] && echo -n "GNU Fortran " "${GFORTRANRUN}" --version | grep "GNU Fortran" | grep "GCC" | gawk '{ print $4; }' [ $? != 0 -a $? != 1 ] && exit 1 exit 0