[oe-commits] Richard Purdie : perl: Fix various nativesdk build issues

git at git.openembedded.org git at git.openembedded.org
Sun Sep 2 12:57:24 UTC 2012


Module: openembedded-core.git
Branch: master
Commit: 38234f2e276356b1d77a87ceabc486107e336d19
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=38234f2e276356b1d77a87ceabc486107e336d19

Author: Richard Purdie <richard.purdie at linuxfoundation.org>
Date:   Thu Aug 30 16:36:24 2012 -0700

perl: Fix various nativesdk build issues

The config.sh lists -fstack-protector but this isn't in LDFLAGS. This
can result in perl compilation failures due to the mismatch. Adding the
flag to LDFLAGS solves makes all the flags consistent and avoids build
failures from missing symbols.

It was also found that the path substitutions made by the sed statement
can conflict with each other and you can end up with $prefix$prefix type
expressions in config.sh-X which can break the build in unusual ways.
This patch anchors the expressions to ensure only true matches are
replaced.

Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-devtools/perl/perl_5.14.2.bb |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-devtools/perl/perl_5.14.2.bb b/meta/recipes-devtools/perl/perl_5.14.2.bb
index 9db3805..3c1360f 100644
--- a/meta/recipes-devtools/perl/perl_5.14.2.bb
+++ b/meta/recipes-devtools/perl/perl_5.14.2.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=2b4c6ffbcfcbdee469f02565f253d81a \
 # We need gnugrep (for -I)
 DEPENDS = "virtual/db grep-native"
 DEPENDS += "gdbm zlib"
-PR = "r8"
+PR = "r9"
 
 # 5.10.1 has Module::Build built-in
 PROVIDES += "libmodule-build-perl"
@@ -90,6 +90,8 @@ export PERLHOSTLIB = "${STAGING_LIBDIR_NATIVE}/perl-native/perl/${PV}/"
 # LDFLAGS for shared libraries
 export LDDLFLAGS = "${LDFLAGS} -shared"
 
+LDFLAGS_append = " -fstack-protector"
+
 # We're almost Debian, aren't we?
 CFLAGS += "-DDEBIAN"
 
@@ -148,10 +150,10 @@ do_configure() {
                -e 's, at ARCH@-thread-multi,,g' \
                -e 's, at ARCH@,${TARGET_ARCH}-${TARGET_OS},g' \
                -e 's, at STAGINGDIR@,${STAGING_DIR_HOST},g' \
-               -e "s%/usr/include%${STAGING_INCDIR}%g" \
-	       -e 's,/usr/lib/,${libdir}/,g' \
-	       -e 's,/usr/,${exec_prefix}/,g' \
-	       -e 's,/perl5,/perl,g' \
+               -e "s%\([ \"^\',=]\+\)/usr/include%\1${STAGING_INCDIR}%g" \
+	       -e "s%\([ \"^\',=]\+\)/usr/lib/%\1${libdir}/%g" \
+	       -e "s%\([ \"^\',=]\+\)/usr/%\1${exec_prefix}/%g" \
+	       -e "s%/perl5%/perl%g" \
             config.sh-${TARGET_ARCH}-${TARGET_OS}
 
 	case "${TARGET_ARCH}" in





More information about the Openembedded-commits mailing list