Tom Rini <tom_rini-nmggyn9qbj3qt0dzr+a...@public.gmane.org> writes: > +python () { > + sitedata = set(siteinfo_data(d)) > + if "endian-little" in sitedata: > + d.setVar("SITEINFO_ENDIANESS", "le") > + elif "endian-big" in sitedata: > + d.setVar("SITEINFO_ENDIANESS", "be")
Assigning SITEINFO_ENDIANESS in this way seems to break build of cross packages (binutils, gcc). E.g. for xscale (--> armv5te), these packages will be build for armv5teb. This happens because tune-xscale.inc uses an (unsafe) | BASE_PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}" statement. As there seems that something wents wrong when setting SITEINFO_ENDIANESS in an anonymous python function, 'armv5teb' will be assumed. Using a more safe construct like | BASE_PACKAGE_ARCH = "${@{'le' : 'armv5te', 'be' : 'armv5teb'}[ \ | bb.data.getVar('SITEINFO_ENDIANESS', d, 1)]}" reveals that SITEINFO_ENDIANESS is undefined when expression is evaluated. I am using bitbake master (5c8eeefc79455f058dda8f04cf4c12dc5418e00f). Enrico _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core