[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