--- eclass/fortran.eclass.orig 2005-11-25 01:56:48.000000000 +0000 +++ eclass/fortran.eclass 2006-01-15 01:19:10.000000000 +0000 @@ -32,6 +32,7 @@ # profiles = ... # # profile: +# * gfortran - GCC Fortran 95 # * g77 - GCC Fortran 77 # * f2c - Fortran 2 C Translator # * ifc - Intel Fortran Compiler @@ -47,6 +48,11 @@ local PROFILE for PROFILE in $@; do case ${PROFILE} in + gfortran) + if [ -x "$(which gfortran 2> /dev/null)" ]; then + AVAILABLE="${AVAILABLE} gfortran" + fi + ;; g77) if [ -x "$(which g77 2> /dev/null)" ]; then AVAILABLE="${AVAILABLE} g77" @@ -78,6 +84,9 @@ i=1 for PROFILE in $@; do case ${PROFILE} in + gfortran) + eerror "[${i}] USE=\"fortran\" emerge sys-devel/gcc" + ;; g77) eerror "[${i}] USE=\"fortran\" emerge sys-devel/gcc" ;; @@ -117,9 +126,13 @@ fi fi - # default to g77 + # default to gfortran if available, g77 if not use debug && echo "MY_FORTRAN: \"${MY_FORTRAN}\"" - MY_FORTRAN=${MY_FORTRAN:=g77} + if hasq gfortran ${AVAILABLE}; then + MY_FORTRAN=${MY_FORTRAN:=gfortran} + else + MY_FORTRAN=${MY_FORTRAN:=g77} + fi use debug && echo "MY_FORTRAN: \"${MY_FORTRAN}\"" if ! hasq ${MY_FORTRAN} ${AVAILABLE}; then