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 <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2017-12-19 11:28:28 +00:00
parent 246dc1b5eb
commit 4ac5511f94

View 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 () {