Skip to contentSkip to conversation

autotools.bbclass: Fix gettext macro versions issues

PATCH New Richard Purdie 1 participant 1 message Oct 11, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 autotools.bbclass: Fix gettext macro versions issues

gettext m4 macros don't use the usual versioning/serial mechanism used by aclocal. It therefore won't update them over and above any local version of the macro. Equally, we don't run gettextize due to it doing slightly crazy things to the build.

When we put the aclocal directory as a -I option to aclocal, if this was found first compared to any recipe provided macros, the correct version of the gettext macro would still "win". With the switch so correctly override the system directory, older recipe provided macros may get used.

This patch manually removes the problematic m4 macros in the case we're using gettext and need to use the correct m4 macros.

---

meta/classes/autotools.bbclass +6 -1
index 23058be..3935db2 100644
@@ -179,9 +179,14 @@ autotools_do_configure() {
 			else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
 				# We'd call gettextize here if it wasn't so broken...
 					cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
-					if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
+					if [ -d ${S}/po/ ]; then
 						cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
 					fi
+					for i in gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4; do
+						for j in `find ${S} -name $i | grep -v aclocal-copy`; do
+							rm $j
+						done
+					done
 				fi
 			fi
 		fi