develooper Front page | perl.perl5.porters | Postings from November 2013

Re: [perl #120365] WinCE build instructions

Thread Previous | Thread Next
From:
Steve Hay
Date:
November 5, 2013 00:02
Subject:
Re: [perl #120365] WinCE build instructions
Message ID:
CADED=K5=SuchDuLtZdRMjEW8Bbx1c7-ZBufe1gYJf2WA13fD7g@mail.gmail.com
On 4 November 2013 08:48, bulk88 via RT <perlbug-followup@perl.org> wrote:
> On Sun Nov 03 13:55:54 2013, shay wrote:
>> c:\dev\git\perl\perl.h(628) : fatal error C1083: Cannot open include
>> file: 'stda
>> rg.h': No such file or directory
>> NMAKE : fatal error U1077: 'clarm.exe' : return code '0x2'
>> Stop.
>>
>> The file stdarg.h does exist in "C:\Dev\Git\perl\win32>dir "C:\Program
>> Files (x86)\Windows CE Tools\wce400\STANDARDSDK\Include\Armv4" so I
>> appended that path to the INCLUDE environment variable and ran "nmake
>> -f Makefile.ce" again.
>>
>> This time there was no complaint about the stdarg.h header file being
>> missing, but the compilation of av.c still failed, now with syntax
[...]
> A failure I made
> --------------------------------------------------------------
>         clarm.exe -c -nologo -GF -W3 -I.\include -I. -I.. -DWIN32 -D_CONSOLE -DN
> O_STRICT  -D_WINDOWS -D_WIN32_WCE=400 -DUNDER_CE=400  -D ARM -D arm -D _ARM_ -D
> _arm_ -DPROCESSOR_ARM  -D _MT -D _DLL -DPALM_SIZE -DPOCKET_SIZE  -I C:\sources\c
> elib-palm-3.0\inc -D PERL -Zi -O1 -DPERLDLL -DPERL_CORE     -D_WINDOWS -D_WIN32_
> WCE=400 -DUNDER_CE=400  -D ARM -D arm -D _ARM_ -D _arm_ -DPROCESSOR_ARM  -D _MT
> -D _DLL -DPALM_SIZE -DPOCKET_SIZE  -I C:\sources\celib-palm-3.0\inc -D PERL -Zi
> -O1 -DUSE_CROSS_COMPILE -DUSE_PERLIO -DPERL_EXTERNAL_GLOB -Fowince-arm-pocket-wc
> e400\dll\ ..\av.c
> av.c
> c:\perl519\src\perl.h(628) : fatal error C1083: Cannot open include file: 'stdar
> g.h': No such file or directory
> NMAKE : fatal error U1077: 'clarm.exe' : return code '0x2'
> Stop.
>
> C:\perl519\src\win32>
> --------------------------------------------------------------
> diagnosis: INCLUDE env var isn't correct
>
> WCEARMV4.bat, after editing the .bat, start new console, run WCEARMV4.bat, should leave a working INCLUDE, without having to run "set INCLUDE=_______". I am adding sanity checks in #120452 to deal with your issues so the missing dirs/broken .bats are more obvious. I'm not sure why you did the "set INCLUDE=" unless the .bat was still broken or wasn't rerun in a new console.
>

I edited the .bat as per step 6 in your instructions and ran it in a
new command prompt (step 7), but the INCLUDE that it set up was wrong.
I just added the correct path to the INCLUDE environment variable in
that command prompt.

The INCLUDE path was set wrongly because PLATFORM was already set so
did not pick up the default setting of STANDARDSDK in the .bat file:

if "%OSVERSION%"=="" set OSVERSION=WCE400
if "%PLATFORM%"=="" set PLATFORM=STANDARDSDK
if "%SDKROOT%"=="" set SDKROOT=C:\Program Files (x86)\Windows CE Tools
set INCLUDE=%SDKROOT%\%OSVERSION%\%PLATFORM%\include\ARMV4;...

This is intended to set the correct path of C:\Program Files
(x86)\Windows CE Tools\wce400\STANDARDSDK\Include\Armv4 but instead it
actually sets the non-existent C:\Program Files (x86)\Windows CE
Tools\wce400\HPD\Include\Armv4 because my machine has PLATFORM already
set to HPD. (It's in the System environment variables stored in the
registry on my machine. I have no idea if it has always been that way
since I bought it (pre-installed Windows 7 running on an HP desktop
PC) or if something that I've installed since did that.)

I will change the .bat file to explicitly set PLATFORM=STANDARDSDK,
even if PLATFORM is already set.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About