summaryrefslogtreecommitdiff
path: root/win32/config_sh.PL
diff options
context:
space:
mode:
authorDaniel Dragan <bulk88@hotmail.com>2013-08-22 14:11:17 -0400
committerTony Cook <tony@develop-help.com>2013-08-23 16:30:55 +1000
commit58ff4bd059d6ce9e478ad12c8132ee7025c0c2ed (patch)
treefc824bceb84197633fd6f1bf8e1378854d28220f /win32/config_sh.PL
parenta24e431812b3fe550745f08f0a6093014a73dde1 (diff)
downloadperl-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 'win32/config_sh.PL')
-rw-r--r--win32/config_sh.PL8
1 files changed, 4 insertions, 4 deletions
diff --git a/win32/config_sh.PL b/win32/config_sh.PL
index d866f7624e..f3fdf075d8 100644
--- a/win32/config_sh.PL
+++ b/win32/config_sh.PL
@@ -93,8 +93,8 @@ else {
if (exists $opt{cc}) {
# cl version detection borrowed from Test::Smoke's configsmoke.pl
- if ($opt{cc} eq 'cl') {
- my $output = `cl --version 2>&1`;
+ if ($opt{cc} =~ /\bcl/) { #MSVC can come as clarm.exe
+ my $output = `$opt{cc} --version 2>&1`;
$opt{ccversion} = $output =~ /^.*Version\s+([\d.]+)/ ? $1 : '?';
}
elsif ($opt{cc} =~ /\bgcc\b/) {
@@ -115,7 +115,7 @@ $opt{libpth} = mungepath($opt{libpth}) if exists $opt{libpth};
$opt{incpath} = mungepath($opt{incpath}) if exists $opt{incpath};
my($int64, $int64f);
-if ($opt{cc} eq 'cl') {
+if ($opt{cc} =~ /\bcl/) {
$int64 = '__int64';
$int64f = 'I64';
}
@@ -195,7 +195,7 @@ else {
# change the s{GM|LOCAL}TIME_{min|max} for VS2005 (aka VC 8) and
# VS2008 (aka VC 9) or higher (presuming that later versions will have
# at least the range of that).
-if ($opt{cc} eq 'cl' and $opt{ccversion} =~ /^(\d+)/) {
+if ($opt{cc} =~ /\bcl/ and $opt{ccversion} =~ /^(\d+)/) {
my $ccversion = $1;
if ($ccversion >= 14) {
$opt{sGMTIME_max} = 32535291599;