From 4ac5511f940232a198ebc3e1c012c252d9ddc6fd Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 19 Dec 2017 11:28:28 +0000 Subject: libgfortran: Fix breakage from libbacktrace dependency In 6.x and 7.x gcc, libgfortran now needs libbacktrace. Enable building of this so that libgfortran builds correctly. [YOCTO #12394] (From OE-Core rev: 2c2f20a9756eccafac776e45e319af7666e6da96) Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/libgfortran.inc | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'meta/recipes-devtools/gcc') diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc index 5f5d4af758..99c192ac30 100644 --- a/meta/recipes-devtools/gcc/libgfortran.inc +++ b/meta/recipes-devtools/gcc/libgfortran.inc @@ -6,22 +6,28 @@ EXTRA_OECONF_PATHS = "\ " do_configure () { - rm -rf ${B}/${TARGET_SYS}/libgfortran/ - mkdir -p ${B}/${TARGET_SYS}/libgfortran/ - cd ${B}/${TARGET_SYS}/libgfortran/ - chmod a+x ${S}/libgfortran/configure - relpath=${@os.path.relpath("${S}/libgfortran", "${B}/${TARGET_SYS}/libgfortran")} - $relpath/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} - # Easiest way to stop bad RPATHs getting into the library since we have a - # broken libtool here - sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/${TARGET_SYS}/libgfortran/libtool + for target in libbacktrace libgfortran + do + rm -rf ${B}/${TARGET_SYS}/$target/ + mkdir -p ${B}/${TARGET_SYS}/$target/ + cd ${B}/${TARGET_SYS}/$target/ + chmod a+x ${S}/$target/configure + relpath=${@os.path.relpath("${S}", "${B}/${TARGET_SYS}")} + ../$relpath/$target/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} + # Easiest way to stop bad RPATHs getting into the library since we have a + # broken libtool here + sed -i -e 's/hardcode_into_libs=yes/hardcode_into_libs=no/' ${B}/${TARGET_SYS}/$target/libtool + done } EXTRACONFFUNCS += "extract_stashed_builddir" do_configure[depends] += "${COMPILERDEP}" do_compile () { - cd ${B}/${TARGET_SYS}/libgfortran/ - oe_runmake MULTIBUILDTOP=${B}/${TARGET_SYS}/libgfortran/ + for target in libbacktrace libgfortran + do + cd ${B}/${TARGET_SYS}/$target/ + oe_runmake MULTIBUILDTOP=${B}/${TARGET_SYS}/$target/ + done } do_install () { -- cgit v1.2.3-54-g00ecf