| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- CCTYPE has always been empty string in Makefile.ce, makedef.pl does not
complain about this, but it is a bug, so fix it
- create a profile for a EVC4 arm build
- put -GS- and -GL flags into compiler version specific defs so VC6 era
EVC4 will work
- don't delete ..\lib\Config.pm, it was made by win32/Makefile, for a
Desktop Perl, deleting this breaks miniperl when it loads its pure perl
modules for cross MakeMaker module building, and requires rebuilding the
Desktop Perl so miniperl works again. CE Perl has its Config.pm in the
xlib\$(MACHINE) dir
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On a WinCE build. On the 2nd nmake run, using Makefile.ce, eventually calls
the Extensions target which calls make_ext.pl. What happens is nmake for CE
for each module is called on the Desktop per module makefile from the
earlier Desktop build. Since the Desktop Perl already was built
sucessfully, all rules/deps are met in the Desktop per module makefile, and
nothing happens during the module building phase for a CE build. Previously
I used external file management tools to delete the per module Makefiles
before running Makefile.ce.
*make_ext.pl
- implement deleting and rebuilding the per module makefile on a Cross
build
- use constants for constant folding, there are opportunities for other
variables to be converted to constants in the future
- fix a bug from commit baff067e71 where unlink() on a file with an open
handle ($mfh) didn't delete the file from disk and a new per module
makefile would be not be built by make_ext.pl later since the per module
makefile was still on disk. This was observed on Win32. Also harden the
unlink code with a new _unlink sub that is fatal if the file is still on
disk after unlink supposedly deleted it.
- var $header and the quotemeta is because of an issue in Perl #119793
*Makefile.ce
- bring the debugging symbol generation flags and optimization flags
to be closer to a Dekstop VC Perl build
- ICWD is obsolete as of commit f6b3c354c9 , remove it
- MINIMOD is obsolete as of commit 7b4d95f74b , remove it
- make a poisoned config.h so if there is a XS building mixup between
a desktop and CE perl, the poisoned config.h for CE will stop the build
gracefully
- $(MINIPERL) has never been defined in Makefile.ce from day 1 (10 years)
replace with $(HPERL) everywhere, this was causing things to not run
silently since $(MINIPERL) was empty string. Use HPERL instead of
MINIPERL to allow flexibility to use the full perl binary if necessery
one day
- better cleaning on root makefile clean target
*win32/win32.h
*win32/win32iop.h
- silence alot of redefinition warnings which gave pages of warnings on
each WinCE compliand
*mg.c
- win32_get_errno is only on WIN32 build not WINCE
a "nmake -f Makefile.ce all" will now build the CE interp and all modules
in 1 shot with no user intervention
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This includes various tweaks related to building SipHash and other
cleanup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
extension building problems remain but the 2 above files will build be
built for WinCE with the following 3 commands, replace the folder name with
what you selected for $(MACHINE) in makefile.ce
nmake all
nmake -f makefile.ce wince-x86-hpc-wce300\perl517.dll
nmake -f makefile.ce wince-x86-hpc-wce300\perl.exe
makefile.ce:
- -debug:full and -pdb:none are obsolete compiler flags,
and add -opt:ref:icf, to sync eVC makefile with modern VC's makefile
- create a shortcut for easily creating preprocessed (.i) files for
debugging on the command line
- add new interp .c files that were added over the years
- the Dynaloader build process for Win32 was drastically changed in
commit 281da5eaa8 , fix to reflect this, a "nmake all" on the Win32 build
will create the correct dynaloader .c files for the ce makefile to use
later
- nothing depended on .\xconfig.h in the ce makefile, so there was an error
that it was missing, fix that
- rebase the CE perl5**.dll to same as on Win32 makefile, makes
debugging/diassembly much easier when the dll is not relocated at runtime
- config.sh seems to be a win32 build file, while the script configpm
wants a .sh file in \Cross, so change config.sh dependency to that
win32/Makefile:
- add a preprocess target to easily create .i files for debugging by hand
makedef.pl:
- read the comments in the script
- config.h is Win32 file, not a WinCE file, so use xconfig.h when
under WinCE
lib/.gitignore
- Cross.pm is made during the build process, it shouldn't ever be commited
win32/.gitignore
- xconfig.h is made during the build process, it shouldn't ever be commited
win32/wince.c
- identifier isnan is defed to _isnan somewhere, this created an infinite
loop when CE perl was run
|
|
|
|
|
|
|
| |
Subject: RE: status of WinCE Perl port in 2012
From: "Konovalov, Vadim (Vadim)** CTR **" <vadim.konovalov@alcatel-lucent.com>
Date: Tue, 23 Oct 2012 14:26:49 +0200
Message-ID: <35BF8D9716175C43BB9D67CA60CC345E028EE0C899@FRMRSSXCHMBSC2.dc-m.alcatel-lucent.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
It isn't directly used by config_sh.PL, and the only appearance of it
in a config.xxx file was config.ce, where it was surely wrong: prefixexp
should be a ~name expanded version of prefix, so just set it to ~INST_TOP~
like the other config.xxx files all do.
|
| |
|
|
|
|
|
|
|
|
| |
Done with:
./perl -Ilib Porting/bump-perl-version -i 5.15.9 5.16.0
...followed by a small edit to INSTALL and patchlevel.h.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This step was omitted from commit
0765b2b82b120f4e57571368932aa4863aba62f6
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
global.sym was a file listing the exported symbols, generated by regen/embed.pl
from embed.fnc and regen/opcodes, which was only used by makedef.pl
Move the code that generates global.sym from regen/embed.pl to makedef.pl,
and thereby eliminate the need to ship a 907 line generated file.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Config now exposes this as Config::bincompat_options() and
Config::non_bincompat_options().
Change WinCE to invoke makedef.pl with -MCross, which it should have been using
all along, as the values it wants are from the host config, not the target
config. [Not tested on WinCE]. Previously makedef.pl would have been loading
the target config, but as it was only using $Config{path_sep}, this would not
have mattered.
|
|
|
|
|
|
| |
Change the Makefiles for Win32, WinCE and NetWare to pass in TARG_DIR of ..\
Previously ..\ was hardcoded for PLATFORM=win32, wince or netware. Making it a
parameter allows portable testing of makedef.pl.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Done with:
./perl -Ilib Porting/bump-perl-version -s 5.13.9 5.13.10 > /tmp/scan
./perl -Ilib Porting/bump-perl-version -u < /tmp/scan
And then manually editing the README.vms file to update the vmstar
example.
|
|
|
|
|
|
|
|
| |
As it and Perl_yylex() both need FEATURE_IS_ENABLED, feature_is_enabled() is
no longer static, and the two macro definitions move from toke.c to perl.h
Previously, one had to cut and paste the output of perl_keywords.pl into the
middle of toke.c, and it was not clear that it was generated code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Eliminate the #define pp_foo Perl_pp_foo(pTHX) macros, and update the 13
locations that relied on them.
regen/opcode.pl now generates prototypes for the PP functions directly, into
pp_proto.h. It no longer writes pp.sym, and regen/embed.pl no longer reads
this, removing the only ordering dependency in the regen scripts. opcode.pl
is now responsible for prototypes for pp_* functions. (embed.pl remains
responsible for ck_* functions, reading from regen/opcodes)
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than
repeating the logic in (at least) 5 places.
|
|
|
|
|
| |
Let ExtUtils::MakeMaker deal with running these extraction scripts, rather than
repeating the logic in (at least) 5 places.
|
|
|
|
|
| |
Let ExtUtils::MakeMaker deal with running this extraction script, rather than
repeating the logic in (at least) 5 places.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|