--- fortran_orig.eclass 2006-09-08 15:50:28.000000000 -0400 +++ fortran.eclass 2006-09-08 16:36:23.000000000 -0400 @@ -36,6 +36,8 @@ # * g77 - GCC Fortran 77 # * f2c - Fortran 2 C Translator # * ifc - Intel Fortran Compiler +# * pgf77 - Portland Group Fortran 77 compiler +# * pgf90 - Portland Group Fortran 90/95 compiler # # Checks if at least one of is installed. # Checks also if F77 (the fortran compiler to use) is available @@ -63,6 +65,18 @@ AVAILABLE="${AVAILABLE} f2c" fi ;; + pgf77) + if [ -x "$(which pgf77 2> /dev/null)" ]; then + AVAILABLE="${AVAILABLE} pgf77" + fi + ;; + pgf90) + if [ -x "$(which pgf90 2> /dev/null)" ]; then + AVAILABLE="${AVAILABLE} pgf90" + else + echo "Else..." + fi + ;; ifc) case ${ARCH} in x86|ia64|amd64) @@ -95,6 +109,12 @@ f2c) eerror "[${i}] emerge dev-lang/f2c" ;; + pgf90) + eerror "[${i}] emerge dev-lang/pgi-workstation" + ;; + pgf77) + eerror "[${i}] emerge dev-lang/pgi-workstation" + ;; ifc) case ${ARCH} in x86|ia64) @@ -112,7 +132,9 @@ einfo "Installed are: ${AVAILABLE}" if [ -n "${F77}" -o -n "${FC}" -o -n "${F2C}" ]; then if [ -n "${F77}" ]; then - FC="${F77}" # F77 overwrites FC + if [ "${F77}" != "pgf77" ] && [ "${FC}" != "pgf90"]; then + FC="${F77}" # F77 overwrites FC + fi fi if [ -n "${FC}" -a -n "${F2C}" ]; then ewarn "Using ${FC} and f2c is impossible. Disabling F2C !" @@ -123,7 +145,11 @@ if [ -n "${F2C}" ]; then MY_FORTRAN="$(basename ${F2C})" else - MY_FORTRAN="$(basename ${F77})" + if [ "${FC}" == "pgf90" ]; then + MY_FORTRAN="$(basename ${FC})" + else + MY_FORTRAN="$(basename ${F77})" + fi fi fi fi @@ -149,11 +175,12 @@ fi case ${MY_FORTRAN} in - gfortran|g77|ifc|ifort|f2c|f95) + gfortran|g77|ifc|ifort|f2c|f95|pgf90|pgf77) FORTRANC="${MY_FORTRAN}" esac fi use debug && echo "FORTRANC: \"${FORTRANC}\"" + einfo "Using $FORTRANC" } # patch_fortran():