diff options
author | Daniel Dragan <bulk88@hotmail.com> | 2013-08-22 14:11:17 -0400 |
---|---|---|
committer | Tony Cook <tony@develop-help.com> | 2013-08-23 16:30:55 +1000 |
commit | 58ff4bd059d6ce9e478ad12c8132ee7025c0c2ed (patch) | |
tree | fc824bceb84197633fd6f1bf8e1378854d28220f /configpm | |
parent | a24e431812b3fe550745f08f0a6093014a73dde1 (diff) | |
download | perl-58ff4bd059d6ce9e478ad12c8132ee7025c0c2ed.tar.gz |
restore XS module building for WinCE
configpm
- when debugging configpm, Config.pm is already loaded, so the alternate
Config.pm for CE isn't loaded, warn about the problem and delete the
native Config.pm to allow the cross Config.pm to be loaded
win32/Makefile.cd
- better build product cleanup, copy from the win32 makefile
- disable a bunch of module that dont/dont yet build on CE
- debugging configpm required a shortcut to make it easier to run in
isolation
- fix the defines that wind up in the cross Config.pm
- add -GS- to disable the MS Security Cookie feature on MSVC for ARM >=14
compilers, this stops a .lib linking error, security cookie overhead
isnt needed for a very space limited device
sdsdkenv.bat is the file I use to set env vars to compile for WM since
starting in SmartDevices SDK, there is no equivelent of vcvarsall.bat
for makefile building, there was a vcvarsall.bat equivelent in EVC4 tho
MSVC for non Intel CPUs sometimes isn't named cl.exe, fix config_sh.PL to
deal with it
how to compile CE Perl, some steps involving celib and MS SDKs not included
and 2 patches to CPAN modules, Socket and MakeMaker, are not in this commit
but they are required to build CE Perl
-in a Win32 x86/x64 command prompt do a "nmake all" to make a Desktop Perl
-then in a WinCE build env command prompt do a "nmake -f makefile.ce all"
-/xlib will have all your XS DLLs and PM files, /win32/$(MACHINE) will
have perl519.dll and perl.exe
Tony Cook: update MANIFEST
Diffstat (limited to 'configpm')
-rwxr-xr-x | configpm | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -1118,6 +1118,13 @@ sub import { # 'configpm; was invoked with --cross option $platform = '***replace-marker***'; } + #a Perl debugger can load a bunch of modules before -MCross with PERL5DB env + #var, stopping a cross compile Config.pm from being loaded because the native + #Config.pm was already use'd + if(exists $INC{'Config.pm'}) { + warn "Cross.pm found Config.pm is already loaded, reload required, will delete from %INC"; + delete $INC{'Config.pm'}; + } @INC = map {/\blib\b/?(do{local $_=$_;s/\blib\b/xlib\/$platform/;$_},$_):($_)} @INC; $::Cross::platform = $platform; } |