Front page | perl.perl5.porters |
Postings from November 2013
Re: [perl #120365] WinCE build instructions
From: Steve Hay
November 29, 2013 08:16
Re: [perl #120365] WinCE build instructions
Message ID: CADED=K4Z-NJ3LOa_DKOpbva0T76D7fKnzuLtDJByfma7iBFMemail@example.com
On 6 November 2013 06:23, bulk88 via RT <firstname.lastname@example.org> wrote:
> On Tue Nov 05 00:33:50 2013, shay wrote:
>> On 5 November 2013 02:34, bulk88 via RT <email@example.com>
>> > On Mon Nov 04 16:09:31 2013, shay wrote:
>> >> With that corrected, the build now succeeds and I get the expected
>> >> perl.exe, perl519.dll and XS module DLLs :-)
>> > Congratulations. I dont have much else to say.
>> > So what was wrong with my initial instructions? the root dir names
>> > inside the archives of the 2 libraries to download, and the "-
>> > release" on celib's $MACHINE specific linking lib folder when the
>> > "make libs for newer build" copy rename is done.
>> > Other problems with EVC4 are the build env batch files break very
>> > easily if any of the vars are already defined, and they were on your
>> > machine.
>> Yes, I agree, that was pretty painless. Thanks for the help. My only
>> concern is that the build used a very old compiler which MS is doing
>> its best to remove all traces of and (unavoidably, it seems) some
>> third-party things which could disappear any time, but for now it
>> certainly seems to work.
>> I think your instructions (with the necessary minor corrections)
>> should go into the source somewhere. Is there a "README" type document
>> about WinCE anywhere (I don't see one at a quick look)? If not then
>> either add a top-level READM.wince, or else add a WinCE section into
>> README.win32. I don't mind doing this in the near future in you don't
>> have time.
> http://perl5.git.perl.org/perl.git/blob/HEAD:/README.ce . 50% of what is in that document is wrong. Makefile.ce does NOT try to build a desktop Perl now (good luck building a desktop miniperl with "MSVCDIR = D:\MSVStudio\VC98" (from Makefile.ce)). I decided that is just too complicated and insane to do. Calling the Desktop Makefile from Makefile.ce is also asking for trouble since desktop Makefile might be 100% unedited by the user. Rainer took down his site.
> 25% of what is in that documented is untested by me. "The following Win32-Methods are built-in:" totally wrong since "Win32" was deCOREd and CPANed, well there is legacy fallback Win32CORE, but IDK/dont remember if its compiled in or not on CE Perl. So only 25% of what is in README.ce is true I would say.
> README.ce is so out of date, I have actively been avoiding touching it. If you want to rewrite the instructions before I get around to rewriting the OP in this ticket, go ahead. Your wording would be clearer than mine. Also the ordering of the instructions might not be the easiest. Do you edit (talk about editing) Makefile.ce before or after the 2 source downloads? IDK stylystically. When I wrote about the EVC4 install path problems, I wrote them in a way in which I wasn't sure if you would also see them or not. So everyone on a NT machine would see C:\Windows CE Tools vs C:\Program Files\Windows CE Tools bug I guess. Feel free to copy/paste my original wording in the OP when you edit it.
Given how out of date the document is and little I know of WinCE, I
didn't feel capable of doing anything more than the least possible to
get these notes (largely copied from yours) into the document, and add
a large warning that everything else is potentially very unreliable.
This is done in commit 69104b65ef.
It's far from ideal, but at least we have a set of build instructions
in place now. If anyone else is interested in WinCE then hopefully the
build instructions will be enough to get them going, and if they start
to use it much then maybe they'll be motivated to update the rest as
>> Please could you post instructions (to this ticket) on how to build
>> with Smart Devices? I'm interested in trying that too, as a more up to
>> date build option.
> I haven't done a Smart Devices build in a month or 2, so IDK if it will compile clean the way Makefile.ce does with EVC4. You will have to pick VC80 or VC90 in Makefile.ce. MS does NOT support command line building (VS IDE Solution only, no makefiles) in Smart Devices VC 2008. Not sure if it is supported on SD for VC 2005. SD is a checkmark in the VS installer called "Smart Device Programmability" (very long background info read which I summarize in this post http://msdn.microsoft.com/en-us/library/bb158496.aspx ). I used the default WM/WinCE SDK that came with VC 2008 not a separate WM SDK I downloaded somewhere else from MS. I never bothered to check what WinCE (3(WM2000)/4(WM2003)/WM5/WM6/WM6.5) the default WM SDK targets.
> Because SD for VS doesn't support command line building, http://social.msdn.microsoft.com/Forums/en-US/0712e561-eea2-4fed-998f-bde4383fa835/commandline-compile , I created http://perl5.git.perl.org/perl.git/blob/HEAD:/win32/ce-helpers/sdsdkenv.bat for myself. I remember seeing a fancier batch file online somewhere for wince building on SD, but I didnt copy it at that time into Perl for licensing reasons.
> Ill try to get to doing a SD build with the current blead this or next weekend. The machine with SD for VS installed isnt my main machine.
I will leave this ticket open for now, until you hopefully find time
to revisit the SD build, with a view to adding an alternative set of
build instructions for that too.