Patchwork [2/2] pseudo: warn twice if the 32-bit toolchain appears broken

login
register
mail settings
Submitter Ross Burton
Date Sept. 26, 2013, 10:41 a.m.
Message ID <1380192096-19856-2-git-send-email-ross.burton@intel.com>
Download mbox | patch
Permalink /patch/59023/
State Accepted
Commit 51950fcbe4b98bdbb8b3dde88a8729e540d9609f
Headers show

Comments

Ross Burton - Sept. 26, 2013, 10:41 a.m.
Putting a warning at the top of do_compile is useful but not everyone reads the
file from beginning to end, so use a trap to put the message at the bottom too.

[ YOCTO #4919 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
 meta/recipes-devtools/pseudo/pseudo.inc |   13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

Patch

diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc
index a287629..0471cd6 100644
--- a/meta/recipes-devtools/pseudo/pseudo.inc
+++ b/meta/recipes-devtools/pseudo/pseudo.inc
@@ -56,9 +56,7 @@  maybe_make32() {
 	fi
 	if $make32; then
 		if ! [ -e "/usr/include/gnu/stubs-32.h" ]; then
-			bbwarn "Can't find stubs-32.h, but usually need it to build 32-bit libpseudo."
-			bbwarn "If the build fails, install 32-bit developer packages."
-			bbwarn "If you are using 32-bit binaries, the 32-bit libpseudo is NOT optional."
+			warn_32bit_missing
 		else
 			bbnote "Attempting to build 32-bit libpseudo.so for ${PN}."
 		fi
@@ -68,6 +66,12 @@  maybe_make32() {
 	fi
 }
 
+warn_32bit_missing() {
+	bbwarn "Can't find stubs-32.h, but usually need it to build 32-bit libpseudo."
+	bbwarn "If the build fails, install 32-bit developer packages."
+	bbwarn "If you are using 32-bit binaries, the 32-bit libpseudo is NOT optional."
+}
+
 # Two below are the same
 # If necessary compile for the alternative machine arch.  This is only 
 # necessary in a native build.
@@ -83,7 +87,10 @@  do_compile_prepend_class-native () {
 		make ${MAKEOPTS} distclean || :
 
 		./configure ${PSEUDO_EXTRA_OPTS} --prefix=${prefix} --libdir=${prefix}/lib/pseudo/lib --with-sqlite-lib=${baselib} --with-sqlite=${STAGING_DIR_TARGET}${exec_prefix} --bits=32 --without-rpath
+		save_traps=$(trap)
+		trap 'warn_32bit_missing' 0
 		oe_runmake ${MAKEOPTS} libpseudo
+		eval "$save_traps"
 		# prevent it from removing the lib, but remove everything else
 		make 'LIB=foo' ${MAKEOPTS} distclean 
 	fi