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

Koen Kooi k.kooi at student.utwente.nl
Tue Mar 30 09:24:21 UTC 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Any comments?

On 29-03-10 20:16, Koen Kooi wrote:
> From: Koen Kooi <koen at openembedded.org>
> 
> ---
>  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
>  }

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFLscNFMkyGM64RGpERAvzdAJ9ThKJilQssdNmTWBacsGLO8gWWEACfXusn
P57vKbezse7N9wjUTjI++JY=
=Jn6k
-----END PGP SIGNATURE-----





More information about the Openembedded-devel mailing list