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/"
 | 
						|
}
 | 
						|
 |