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                           [EMAIL PROTECTED]

Reply via email to