package/python: apply unicode config to host build
authorChris Smart <mail@csmart.io>
Wed, 22 Feb 2017 03:14:23 +0000 (14:14 +1100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 23 Feb 2017 22:03:19 +0000 (23:03 +0100)
commit01464f56bd8a61b461fce4c108be299a47a6a405
treef1c020bcbbe1d214c1a51afd0755d4b1cef876c5
parent5bffdf2a1a478fc84cdf7ba124b8859cacd11843
package/python: apply unicode config to host build

Currently the host build of Python 2 defaults to narrow unicode (UCS2),
ignoring the BR2_PACKAGE_PYTHON_UCS4 configuration option which may be
set to wide (UCS4).

This results in host and target Python packages which are incompatible
in subtle ways.

For example, installing wheels into the target fails when they are made
with the host python, citing incompatibility (as can be seen by the
package tags which may be "cp27u-manylinux1" instead of
"cp27mu-manylinux1").

Compiling the host Python 2 with the same UCS configuration as the
target ensures that the packages are compatible (and the tags match).

This does not affect Python 3 as support for narrow unicode was
deprecated in version 3.3, see https://www.python.org/dev/peps/pep-0393/

Thanks to Tony Breeds <tony@bakeyournoodle.com> for reporting this.

Signed-off-by: Chris Smart <mail@csmart.io>
[Thomas: add comment in the code.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/python/python.mk