Cómo realizar una compilación cruzada de Perl
Primero descargue el código fuente de Perl: /projects/perlcross.berlios/files/, versión de descarga: perl-5.10.0-cross-0.3.tar.gz
Copie cada archivo Extraer al mismo directorio respectivamente;
1
Instalar perlbrew en ubuntu: ?Instalar perlbrew en ubuntu: ?sudo apt-get install perlbrew
perlbrew init
fuente ~/perl5/perlbrew/etc/bashrc
perlbrew instala perl-5.10.1
2
3
4
5
Espere a que se complete la instalación de perlbrew;
2
3
1
Fusiona los dos directorios descomprimidos en uno. Vaya al directorio Cross de perl-5.10.1: cp -rfv perl-5.10.0/* ?perl-5.10.1/
cd perl-5.10.1/Cross
2
1
El archivo es el siguiente, preste atención al contenido del asterisco: ### Target Arch
** ARCH = arm **
#ARCH = i386-pc
#ARCH = sh4
#ARCH = mips
#ARCH = mipsel
#ARCH = ppc
#### Brazo específico
2
1
Tenga en cuenta el asterisco.
Brazo específico
***#CONFIG_TARGET_ARM_SA11X0 = 1**
#CONFIG_TARGET_ARM_XSCALE = 1
#### Sistema operativo de destino
***OS = linux**
#OS = solaris2.8
1
Modificar el archivo de configuración de perl gedit Cross/config ## o vi gedit Cruz/config
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
La fuente en negrita de arriba indica que se ha notado o modificado;
Directorio actual modificado (directorio cruzado):
Primero cambie los permisos del contenido del directorio:
chmod 777 /Cross/*
Contenido del archivo Makefile modificado: exportar TOPDIR =${shell pwd}
incluir $ (TOPDIR)/config
exportar CFLAGS
** export SYS=arm-linux **
** exportar CROSS=/stuff/bitbake/bin/tmp/sysroots/i686-linux/ usr/armv7a/bin/arm-angstrom-linux-gnueabi- **
** exportar LD_LIBRARY =/stuff/bitbake/bin/tmp/sysroots/i686-linux/usr/lib:$(LD_ LIBRARY_PATH) **
export FULL_OPTIMIZATION = -fexpensive-optimizations -fomit-frame-pointer -O2
export OPTIMIZATION = -O2
export CC = arm-angstrom-linux-gnueabi-gcc
export CXX = arm-angstrom-linux-gnueabi-g++
export LD = arm-angstrom-linux-gnueabi-g++
export LD = arm-angstrom-linux-gnueabi-ld
export STRIP = arm- angstrom -linux-gnueabi-strip
export AR = arm-angstrom-linux-gnueabi-ar
export RANLIB = arm-angstrom -linux-gnueabi-ranlib
12345678910111213141516
make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm patch
make CC=arm-angstrom-linux-gnueabi-gcc ARCH=arm perl< / p>
Se producirá un error durante la compilación, pero no importa, generará un archivo ejecutable de Perl en el directorio raíz;