69 lines
1.9 KiB
Bash
69 lines
1.9 KiB
Bash
# Following indication from: http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html
|
|
source $pkg_common
|
|
|
|
requires=\
|
|
(
|
|
'python/cross'
|
|
'bzip2/default'
|
|
'zlib/default'
|
|
)
|
|
|
|
configure()
|
|
{
|
|
cd ../Python-$version
|
|
echo "Configure is in $(pwd)"
|
|
|
|
# We are patching the source as python needs python to compile python for our target:
|
|
patch -p1 < "${pkg_dir}/patches/Python-${version}-xcompile.patch"
|
|
patch -p1 < "${pkg_dir}/patches/001-Enable-zlib-bz2.patch"
|
|
|
|
export CC="$cfg_target_canonical-gcc"
|
|
export CXX="$cfg_target_canonical-g++"
|
|
export AR="$cfg_target_canonical-ar"
|
|
export RANLIB="$cfg_target_canonical-ranlib"
|
|
|
|
./configure \
|
|
--host="${cfg_target_canonical}" \
|
|
--build="${cfg_host_canonical}" \
|
|
--prefix="${cfg_dir_toolchain_sysroot}/usr"
|
|
}
|
|
|
|
build()
|
|
{
|
|
cd ../Python-$version
|
|
|
|
echo "Build is in $(pwd)"
|
|
|
|
$cmd_make \
|
|
HOSTPYTHON="../Python-$version/hostpython" \
|
|
HOSTPGEN="../Python-$version/Parser/hostpgen" \
|
|
BLDSHARED="$cmd_target_gcc -shared" \
|
|
CROSS_COMPILE="$cfg_target_canonical-" \
|
|
CROSS_COMPILE_TARGET="yes" \
|
|
HOSTARCH="${cfg_target_canonical}" \
|
|
BUILDARCH="${cfg_host_canonical}"
|
|
}
|
|
|
|
host_install()
|
|
{
|
|
cd ../Python-$version
|
|
|
|
echo "Target install is in $(pwd)"
|
|
$cmd_make install \
|
|
HOSTPYTHON=./hostpython \
|
|
BLDSHARED="$cmd_target_cc -shared" \
|
|
CROSS_COMPILE="$cfg_target_canonical-" \
|
|
CROSS_COMPILE_TARGET=yes
|
|
# prefix="${cfg_dir_toolchain_sysroot}/usr"
|
|
}
|
|
|
|
target_install()
|
|
{
|
|
$cmd_cp "${cfg_dir_toolchain_sysroot}/usr/lib/"python* "${cfg_dir_rootfs}/usr/lib"
|
|
$cmd_cp "${cfg_dir_toolchain_sysroot}/usr/bin/"python* "${cfg_dir_rootfs}/usr/bin"
|
|
# Python needs the include files because it parse it for knowing some data...
|
|
$cmd_mkdir "${cfg_dir_rootfs}/usr/include/"
|
|
$cmd_cp "${cfg_dir_toolchain_sysroot}/usr/include/"python* "${cfg_dir_rootfs}/usr/include/"
|
|
}
|
|
|