Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[perl #115118] Give notice that the WinCE port is likely to be removed in 5.19

14 views
Skip to first unread message

Steve Hay

unread,
Oct 3, 2012, 8:37:11 AM10/3/12
to bugs-bi...@rt.perl.org
# New Ticket Created by Steve Hay
# Please include the string: [perl #115118]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=115118 >


This is a bug report for perl from steve...@googlemail.com,
generated with the help of perlbug 1.39 running under perl 5.17.5.


-----------------------------------------------------------------
[Please describe your issue here]

The WinCE port has probably bitrotted in recent years so it has been
agreed that unless someone comes forward before the release of 5.18.0
to fix it (if necessary) *and maintain it in the future* then it will
be removed in the 5.19 development track.

This ticket is a reminder to add a note to 5.18.0's perldelta (if
nobody has come forward by then) to give notice of the impending
removal of WinCE support.

See the discussion leading up to and including:
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-09/msg01810.html

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
category=docs
severity=medium
---
Site configuration information for perl 5.17.5:

Configured by shay at Wed Oct 3 09:02:02 2012.

Summary of my perl5 (revision 5 version 17 subversion 5) configuration:
Derived from: 5fe0597566ccd0f428dc2fa6d9a77d24aeb6e06a
Platform:
osname=MSWin32, osvers=6.1, archname=MSWin32-x86-multi-thread
uname=''
config_args='undef'
hint=recommended, useposix=true, d_sigaction=undef
useithreads=define, usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
use64bitint=undef, use64bitall=undef, uselongdouble=undef
usemymalloc=n, bincompat5005=undef
Compiler:
cc='cl', ccflags ='-nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32
-D_CONSOLE -DNO_STRICT -D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE -DPERL_TEXTMODE_SCRIPTS
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO',
optimize='-MD -Zi -DNDEBUG -O1',
cppflags='-DWIN32'
ccversion='16.00.40219.01', gccversion='', gccosandvers=''
intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8
ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='__int64', lseeksize=8
alignbytes=8, prototype=define
Linker and Libraries:
ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf
-libpath:"C:\perl5\lib\CORE" -machine:x86
"/manifestdependency:type='Win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='*' publicKeyToken='6595b64144ccf1df'
language='*'"'
libpth=\lib
libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib
netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib
odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
perllibs=oldnames.lib kernel32.lib user32.lib gdi32.lib
winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib
oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib
version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib
libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl517.lib
gnulibc_version=''
Dynamic Linking:
dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -libpath:"C:\perl5\lib\CORE" -machine:x86
"/manifestdependency:type='Win32'
name='Microsoft.Windows.Common-Controls' version='6.0.0.0'
processorArchitecture='*' publicKeyToken='6595b64144ccf1df'
language='*'"'

Locally applied patches:


---
@INC for perl 5.17.5:
C:/perl5/site/lib
C:/perl5/lib
.

---
Environment for perl 5.17.5:
HOME (unset)
LANG (unset)
LANGUAGE (unset)
LD_LIBRARY_PATH (unset)
LOGDIR (unset)
PATH=C:\Windows\system32;C:\Windows;C:\perl5\bin
PERL_BADLANG (unset)
SHELL (unset)

James E Keenan via RT

unread,
Mar 30, 2013, 9:44:26 PM3/30/13
to perl5-...@perl.org
On Wed Oct 03 05:37:10 2012, shay wrote:
> This is a bug report for perl from steve...@googlemail.com,
> generated with the help of perlbug 1.39 running under perl 5.17.5.
>
>
> -----------------------------------------------------------------
> [Please describe your issue here]
>
> The WinCE port has probably bitrotted in recent years so it has been
> agreed that unless someone comes forward before the release of 5.18.0
> to fix it (if necessary) *and maintain it in the future* then it will
> be removed in the 5.19 development track.
>
> This ticket is a reminder to add a note to 5.18.0's perldelta (if
> nobody has come forward by then) to give notice of the impending
> removal of WinCE support.
>
> See the discussion leading up to and including:
>
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-09/msg01810.html
>

No one has responded to this ticket since it was filed last October.
The most recent mention of WinCE which I could locate in
pod/perl*delta.pod was this from 'pod/perl5176delta.pod':

#####
=item WinCE

Building on WinCE is now possible once again, although more work is
required to fully restore a clean build.
#####

So if support for WinCE is indeed going to be yanked starting with
5.19.1, then someone needs to write a patch for the perldelta and we'll
need a definitive decision from the power(s) that be.

Thank you very much.
Jim Keenan

---
via perlbug: queue: perl5 status: new
https://rt.perl.org:443/rt3/Ticket/Display.html?id=115118

Ricardo SIGNES via RT

unread,
Apr 3, 2013, 10:20:39 PM4/3/13
to perl5-...@perl.org
I have added text about the future of z/OS to perldelta.

--
rjbs

Ricardo SIGNES via RT

unread,
Apr 3, 2013, 10:21:12 PM4/3/13
to perl5-...@perl.org
On Wed Apr 03 19:20:39 2013, rjbs wrote:
> I have added text about the future of z/OS to perldelta.

...and WinCE, which is the one that'd be relevant to this ticket.

--
--
rjbs

---
via perlbug: queue: perl5 status: resolved
https://rt.perl.org:443/rt3/Ticket/Display.html?id=115118

Konovalov, Vadim (Vadim)** CTR **

unread,
Apr 4, 2013, 2:18:09 AM4/4/13
to perlbug-...@perl.org, perl5-...@perl.org
> On Wed Apr 03 19:20:39 2013, rjbs wrote:
> > I have added text about the future of z/OS to perldelta.
>
> ...and WinCE, which is the one that'd be relevant to this ticket.
>

how this text could be found?

(I am too slow nowadays and all commits http://perl5.git.perl.org/perl.git are of 5 days ago, and GIT isn't seen by me until evening :)

Steve Hay via RT

unread,
Apr 4, 2013, 3:26:02 AM4/4/13
to perl5-...@perl.org

Steve Hay via RT

unread,
Apr 4, 2013, 3:25:35 AM4/4/13
to perl5-...@perl.org
On Wed Apr 03 19:21:11 2013, rjbs wrote:
> On Wed Apr 03 19:20:39 2013, rjbs wrote:
> > I have added text about the future of z/OS to perldelta.
>
> ...and WinCE, which is the one that'd be relevant to this ticket.

Is it worth going a little further and saying that unless the requested
effort to change the undersupportedness of these platforms is
forthcoming then they are likely to be removed in 5.19?

Konovalov, Vadim (Vadim)** CTR **

unread,
Apr 4, 2013, 3:41:32 AM4/4/13
to perl5-...@perl.org
> From: Steve Hay via RT [mailto:perlbug-...@perl.org]
> On Wed Apr 03 19:21:11 2013, rjbs wrote:
> > On Wed Apr 03 19:20:39 2013, rjbs wrote:
> > > I have added text about the future of z/OS to perldelta.
> >
> > ...and WinCE, which is the one that'd be relevant to this ticket.
>
> Is it worth going a little further and saying that unless the
> requested
> effort to change the undersupportedness of these platforms is
> forthcoming then they are likely to be removed in 5.19?

this is soooooo obvious, that this is even hardly worth noting :):)

Tony Cook

unread,
Jul 9, 2013, 1:53:45 AM7/9/13
to bulk88 via RT, perl5-...@perl.org
On Mon, Jul 08, 2013 at 07:58:48PM -0700, bulk88 via RT wrote:
> I got a binary from blead 5.19 from 6-26-2013 executing on Pocket PC
> 2003 SE, ARM cpu emulator. Screenshot attached. That message is from
> http://perl5.git.perl.org/perl.git/blob/bf8b9e96e2b168f1f323a8c9066ae58cbe5b4ad9:/win32/perlmaince.c#l27

Did that require any code or build procedure changes?

Tony

bulk88 via RT

unread,
Jul 9, 2013, 1:30:28 PM7/9/13
to perl5-...@perl.org
Yes, this is a patch
https://github.com/bulk88/perl/commit/17222f701ac55c3461b839842c541642236b64fc
from a couple months ago that I made for myself, it needs to be refined
(remove things specific to my setup) and tested (doesn't break win32
build/*nix builds) into public repo code quality. My strategy is to copy
things from win32 makefile to makefile.ce. Maybe one day the diff
between win32 makefile and makefile.ce will be so small they can be
merged. Some problems are the 3rd party FOSS shell included isn't very
usable. And trying to do a harness run on a PocketPC, that will be
*really* interesting. I don't think I've tested file IO with it (which
is suspect because it is using a 3rd party non-MS C lib, no MS CRT AFAIK
on WinCE/PPC).

What surprised me was the celib.dll file compiled for WinCE 3.00
(subsystem is 3.00 in PE header) ARM loaded into the perl process and
worked fine (no crashes, func calls worked from perl dll to celib dll)
with a perl.exe and perl519.dll WinCE 4.20 (subsystem 4.20 in PE header)
ARM. Also the WinCE 3.00 compiled w32console .obj files linked fine into
the WinCE 4.20 binary. I guess the backcompat rules for binaries and
object files on WinCE/PPC are the same as for desktop windows, and the
ARM cpus that the WinCE devices use are backwards compatible with older
ARM cpus on older WinCE devices.

I did run into a long headache though because I tried linking with
Windows Mobile 5.0 (PPC) /windows/system32 libs and got a conflict
between "ARM" and "THUMB" instruction sets. I thought (and still am not
100% sure) ARMV4I, where "I" strands for "Interworking" was a way the
compiler layed out the binary (something like WOW64 or 16/32 thunking
style), not a different instruction set, but it is a different
instruction set supposedly.

The other problem is the celib headers will not compile with EVC4 SDK or
SmartDevices (a install option for VS 2005/2008) out of the tarball on
sourceforge. It is usually multiple struct definition conflicts between
celib and the WM/WinCE SDK headers (windows.h, etc) since celib
implemented structs that the WinCE SDK left undocumented in the past in
the WinCE 2.0/3.0 SDK era, but in 4.0 and newer SDKs they are documented
by MS.

I did exchange some email a few months ago with Rainer Keuchel (author
of celib and w32console), and he did respond at that time, I sent
another email a few days ago about forking celib/w32console and trying
to establish a repo for them with history but I haven't heard from him
so far. In order for the public to compile WinCE Perl, a new celib has
to be released to the public. It will go up on my github eventually.

Another problem is MS's ARM C compilers come from the same code base as
desktop C compilers (cl.exe/dumpbin.exe/c1.dll/c2.dll), so they will
need –GL and –GS- to support 2000s era MS C compilers.

The EVC4 emulator was so complicated to use regarding file copying and
building binaries for it (the EVC4 emulator required a 32 bit x86 WinCE
binary with cdecl coredll.dll (WinCE's kernel32.dll equivelent) function
calls, a real x86 WinCE device wants stdcall coredll.dll functions) that
I gave up trying to use it (I did get a binary for it 6 months ago and
that was used to test/create
http://perl5.git.perl.org/perl.git/commit/61b311ca7a099d3f94a7ae94452bbdd59acb5c57
). Now I'm using the newer ARM emulator included with the SmartDevices
option for VS.

--
bulk88 ~ bulk88 at hotmail.com

Ricardo SIGNES via RT

unread,
Aug 9, 2013, 10:03:08 PM8/9/13
to perl5-...@perl.org
So, we know we can build WinCE perl. \o/

Where do we stand on getting regular smoke reports?

--
rjbs

bulk88 via RT

unread,
Aug 22, 2013, 12:44:29 PM8/22/13
to perl5-...@perl.org
On Fri Aug 09 19:03:07 2013, rjbs wrote:
> So, we know we can build WinCE perl. \o/
>
> Where do we stand on getting regular smoke reports?

I think the best that can be done in the near future is just have the
make tool build log be a smoke report with no WinCE binarys being
executed, since make can't run on CE, and there is no text shell on
WinCE. I am not sure if doing backticks on a WinCE Perl from WinCE Perl
will capture anything or not, so that brings up the question of if a TAP
parser is even possible on CE Perl. CE is like Mac OS 9. No shell. CE
perl uses a 3rd party library to provide a crude shell/GUI drawing of a
terminal box. My next patch is to get XS modules for CE building.

--
bulk88 ~ bulk88 at hotmail.com

Ricardo SIGNES via RT

unread,
Sep 23, 2013, 9:12:44 PM9/23/13
to perl5-...@perl.org
So, we know that someone can build WinCE perl. \o/

Now: how can *anybody* build it? If we want to build this regularly, it would
be good to have instructions to build it. I imagine what we want is a
README.wince, detailing the process.

I assume the process is more than "make -f Makefile.ce with a MS compiler."

Could someone who has successfully built blead for WinCE please post
instructions?

bulk88 via RT

unread,
Sep 30, 2013, 4:08:49 AM9/30/13
to perl5-...@perl.org
On Mon Sep 23 18:12:44 2013, rjbs wrote:
> So, we know that someone can build WinCE perl. \o/
>
> Now: how can *anybody* build it? If we want to build this regularly,
> it would
> be good to have instructions to build it. I imagine what we want is a
> README.wince, detailing the process.
>
> I assume the process is more than "make -f Makefile.ce with a MS
> compiler."
>
> Could someone who has successfully built blead for WinCE please post
> instructions?


Would need a volunteer (not me, since you are looking for someone who
can make binaries who isnt me) with a Paid VS 2005/2008 and install
media for it (to run the installer and click "smart device
programibility" option), and for this WIP patch [perl #119869] to be
fixed by me then commited. I've published the celib I was using, with
some small header tweaks (see commit history) at
https://github.com/bulk88/celib . There is a celib fork out on the
internet that is 2 years "ahead" of mine (abandoned 2004, my fork was
abandoned 2002) with svn or cvs tracking (NICE!), but I just recently
discovered it and havent tried it. Someone once volunteered on #p5p to
try and build it, but he doesn't have a paid VS, so he would have to use
EVC4 which I "temporarily dropped support" for, the discussion ended at
that. I had it running a few months ago on EVC4 but I switched to Smart
Devices and invariable broke EVC4 building some way and somehow by now,

--
bulk88 ~ bulk88 at hotmail.com

Steve Hay

unread,
Oct 22, 2013, 3:43:35 AM10/22/13
to perlbug-...@perl.org, perl5-...@perl.org
Ok, so what do I need to do to try out a WinCE build myself. I have
full versions of VC++ from 6.0 (VS98) through 12.0 (VS2013). I don't
know what EVC4 is or where it comes from. What is the best way for me
to proceed?

bulk88 via RT

unread,
Oct 24, 2013, 7:46:18 PM10/24/13
to perl5-...@perl.org
On Tue Oct 22 00:44:29 2013, shay wrote:
>
> Ok, so what do I need to do to try out a WinCE build myself. I have
> full versions of VC++ from 6.0 (VS98) through 12.0 (VS2013). I don't
> know what EVC4 is or where it comes from. What is the best way for me
> to proceed?
>

You've got mail on 10/22/13 to steve.m.hay google mail.

--
bulk88 ~ bulk88 at hotmail.com

---
via perlbug: queue: perl5 status: resolved
https://rt.perl.org/Ticket/Display.html?id=115118
0 new messages