> I haven't been keeping on top of the issues with CE builds (since they
> worked for me with a few minor tweaks). What was the problem with
> wcedefs.mak?


Lack of support for *arbitrary* CE version, most notably > 300, lack of
support for commonly referred _WIN32_WCE and lack of support for
*arbitrary* %PLATFORM% string. The vision is to reduce WCE-isms to #if
defined(_WIN32_WCE) && _WIN32_WCE>=*minimally_required* and eventual
#ifdef PLATFORM [there it's *proven* to be required]. The latter is
currently broken as I now realize, by means of essentially meaningless
-DWCEPLATFORM=$wceplatf [which was kind of copied from wcedefs.mak]. It
should be -D$wceplatf [or why not -DWCE_$wceplatf], right? Note that all
this doesn't exclude possibilty of wcecompat library being compiled with
different _WIN32_CE for same CPU architecture, as long as binary
compatibility is known to be preserved...

> I had made a whole lot of changes to better support some more
> CE platforms but with it gone won't be able to role them in so easily.


Goal is to make it compatible, so just tell what got broken in OpenSSL
and we take it from there...

> The
> reason for an external CE-specific makefile is that the settings vary
> between the different dev kits (eVC3 and eVC4) and so it can take enough
> code to straighten things out that it would clutter VC-32.pl more than may
> be liked. It's not a big deal if only ARM is supported, but CE supports
> several other processors too.


I don't see WCE *processor* dependencies in OpenSSL... The only real
dependency is /machine argument passed to linker, but it's addressed in
VC-32.pl... There're surely are CPU dependencies in
%WCECOMPAT%/include... I can see only one in setjmp.h... We use setjmp
in des/read_pwd.c, but does that code actually work under WCE? If not,
keep in mind that the dependency might as well disappear as we make it
work...

> One change that you may want to make is turning off the optimisations. I
> think the flags are /Ox /Ob2 /O2. /Ox and /O2 will cause eVC4 to break with
> internal compiler errors on a number of modules.


Well, let's set them to "least common denominator" or remove them
altogether, leaving the option to specify them through environment
variable. Either similar to 'set CL=/Ox', which tricks cl.exe to
optimize everything without specifying any such options explicitly in
command line... Or by dropping explicit $(CL) [or similar] into compiler
command line in makefile... A.
__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org