[oe] [PATCH] gcc-cross: fix gfortran -> g77 linking logic

Tom Rini tom_rini at mentor.com
Tue Mar 30 14:23:03 UTC 2010


On Mon, 2010-03-29 at 20:16 +0200, Koen Kooi wrote:
> From: Koen Kooi <koen at openembedded.org>

Acked-by: Tom Rini <tom_rini at mentor.com>

> 
> ---
>  recipes/gcc/gcc-configure-cross.inc |   13 +++++++++++++
>  recipes/gcc/gcc-package-cross.inc   |   14 ++++++++------
>  2 files changed, 21 insertions(+), 6 deletions(-)
> 
> diff --git a/recipes/gcc/gcc-configure-cross.inc b/recipes/gcc/gcc-configure-cross.inc
> index 1c37de8..7dde9de 100644
> --- a/recipes/gcc/gcc-configure-cross.inc
> +++ b/recipes/gcc/gcc-configure-cross.inc
> @@ -51,5 +51,18 @@ do_stage_append () {
>  		sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L${CROSS_DIR}/${TARGET_SYS}/$d ${LIBGCCS_VAR} -lc -lm '|" ${CROSS_DIR}/${TARGET_SYS}/$d/libsupc++.la || true
>  		sed -i "s|dependency_libs\s*=\s*.*|dependency_libs='-L${CROSS_DIR}/${TARGET_SYS}/$d ${LIBGCCS_VAR} -lc -lm '|" ${CROSS_DIR}/${TARGET_SYS}/$d/libstdc++.la || true
>  	done
> +
> +    # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
> +    # gfortran is fully backwards compatible. This is a safe and practical solution.
> +    if [ -f ${CROSS_DIR}/bin/${TARGET_PREFIX}gfortran ]; then
> +           currdir="$PWD"
> +           cd ${CROSS_DIR}/bin/
> +           ln -sf ${TARGET_PREFIX}gfortran ${TARGET_PREFIX}g77 || true
> +           if [ -d ${CROSS_DIR}/${TARGET_SYS}/bin/ ] ; then 
> +               cd ${CROSS_DIR}/${TARGET_SYS}/bin/
> +               ln -sf gfortran g77 || true
> +           fi
> +           cd $currdir
> +    fi
>  }
>  
> diff --git a/recipes/gcc/gcc-package-cross.inc b/recipes/gcc/gcc-package-cross.inc
> index 6c4f9bb..0f91861 100644
> --- a/recipes/gcc/gcc-package-cross.inc
> +++ b/recipes/gcc/gcc-package-cross.inc
> @@ -63,16 +63,18 @@ do_install () {
>                 ${TARGET_PREFIX}strip ${D}${target_libdir}/libg2c.so.* || true
>                 ${TARGET_PREFIX}strip ${D}${target_base_libdir}/libgcc_s.so.* || true
>                 ${TARGET_PREFIX}strip ${D}${target_libdir}/libgfortran*.so* || true
> -	fi
> +       fi
>       
>         # Link gfortran to g77 to satisfy not-so-smart configure or hard coded g77
>         # gfortran is fully backwards compatible. This is a safe and practical solution.
> -       if [ -f ${CROSS_DIR}/bin/${TARGET_PREFIX}gfortran ]; then
> +       if [ -f ${D}${CROSS_DIR}/bin/${TARGET_PREFIX}gfortran ]; then
>                currdir="$PWD"
> -              cd ${CROSS_DIR}/bin/
> +              cd ${D}${CROSS_DIR}/bin/
>                ln -sf ${TARGET_PREFIX}gfortran ${TARGET_PREFIX}g77 || true
> -              cd ${CROSS_DIR}/${TARGET_SYS}/bin/
> -              ln -sf gfortran g77 || true
> +              if [ -d ${CROSS_DIR}/${TARGET_SYS}/bin/ ] ; then 
> +                  cd ${CROSS_DIR}/${TARGET_SYS}/bin/
> +                  ln -sf gfortran g77 || true
> +              fi
>                cd $currdir
> -       fi
> +        fi
>  }


-- 
Tom Rini <tom_rini at mentor.com>
Mentor Graphics Corporation




More information about the Openembedded-devel mailing list