]> code.ossystems Code Review - openembedded-core.git/commitdiff
libgfortran: Fix breakage from libbacktrace dependency
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 19 Dec 2017 11:28:28 +0000 (11:28 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 20 Dec 2017 15:32:11 +0000 (15:32 +0000)
In 6.x and 7.x gcc, libgfortran now needs libbacktrace. Enable building of this
so that libgfortran builds correctly.

[YOCTO #12394]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/gcc/libgfortran.inc

index 5f5d4af7589dc7a6a30e62d59fc2e966d896a0e5..99c192ac300eec897d64efba9d67e494921917ef 100644 (file)
@@ -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 () {