Hi,
as offered in a previous discussion
http://marc.info/?l=openssl-devm=122536319510494w=2 I have updated the
patch for Windows CE 5 and following support for the cvs repository,
which represents the 0.9.9 version.
Please find attached the patch.
I would like to give some additional comments on it:
* The documentation file (INSTALL.WCE) states that there is another
version available using a 'PortSDK'. Unfortunately all links referring
to it are dead by now. I did not touch the documentation/code as I am
unsure how the project is going to handle this situation (remove it or
try to contact the author?)
* I removed the statement that static linking is not possible for
Windows CE as that is wrong and most people actually use static linking
on Windows CE to avoid memory fragmentation. I do not know anything
about the situation when using PortSDK though due to above reasons.
* The change in dso_win32 is only to avoid a warning about a unused
variable on Windows CE.
* I needed to enable experimental-jpake support by default. The
mkdef.pl script does not seem to be able to disable the functions and
thus a .def file gets generated containing the declarations. As a
consequence linking fails due to undefined references. Maybe someone
with a deeper knowledge about this part can help me out, so that there
is no need to auto-enable experimental parts. Note that the
jpaketest.exe also reports error currently.
* Unfortunately I needed to remove the /WX option as two warnings
about implicit casts are reported during compilation. In case someone is
interested in it, feel free to ask me, I can send you the compile output.
Beside the jpaketest executable all other tests seem to pass.
If you have any questions, feel free to contact me.
Best Regards,
Maurice Kalinowski
--
Maurice Kalinowski - maurice.kalinowski (AT) nokia.com
Software Engineer - Nokia, Qt Software
Rudower Chaussee 13, 12489 Berlin, Germany
Index: INSTALL.WCE
===
RCS file: /v/openssl/cvs/openssl/INSTALL.WCE,v
retrieving revision 1.7
diff -d -u -r1.7 INSTALL.WCE
--- INSTALL.WCE 6 Nov 2005 20:52:25 - 1.7
+++ INSTALL.WCE 21 Nov 2008 14:10:56 -
@@ -4,14 +4,16 @@
Building OpenSSL for Windows CE requires the following external tools:
- * Microsoft eMbedded Visual C++ 3.0 or later
+ * Microsoft eMbedded Visual C++ 3.0 or Visual Studio 2005 and later
* Appropriate SDK might be required
* Perl for Win32 [commonly recommended ActiveState Perl is available
-from http://www.activestate.com/Products/ActivePerl/]
+from http://www.activestate.com/Products/ActivePerl/]. Note that
+perl by MSYS does not create correct makefiles.
* wcecompat compatibility library available at
-http://www.essemer.com.au/windowsce/
- * Optionally ceutils for running automated tests (same location)
+* www.essemer.com.au Windows CE 4.2 and earlier
+* github.com/mauricek/wcecompat all Windows CE versions
+ * Optionally ceutils for running automated tests (www.essemer.com.au)
_or_
@@ -20,11 +22,7 @@
* CMD command interpreter (same location)
As Windows CE support in OpenSSL relies on 3rd party compatibility
- library, it's appropriate to check corresponding URL for updates. For
- example if you choose wcecompat, note that as for the moment of this
- writing version 1.2 is available and actually required for WCE 4.2
- and newer platforms. All wcecompat issues should be directed to
- www.essemer.com.au.
+ library, it's appropriate to check corresponding URL for updates.
Why compatibility library at all? The C Runtime Library implementation
for Windows CE that is included with Microsoft eMbedded Visual C++ is
@@ -35,6 +33,10 @@
redirects IO to active sync link, while PortSDK - to NT-like console
driver on the handheld itself.
+ With Windows CE 5 and following a lot of standard functionality has been
+ added to the core system, making some parts of the wcecompat lib deprecated.
+ More information is available at github.com/mauricek/wcecompat
+
Building
@@ -43,6 +45,10 @@
C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN\WCEARM.BAT
+ For Visual Studio 2005 and following there might be similar script depending
+ on the SDK OpenSSL is supposed to be build for. Follow the SDK documentation
+ to get more information how to setup a cross-compiler environment.
+
Next pick compatibility library according to your preferences.
1. To choose wcecompat set up WCECOMPAT environment variable pointing
@@ -51,6 +57,10 @@
set WCECOMPAT=C:\wcecompat
set PORTSDK_LIBPATH=
+ OpenSSL for Windows CE uses the same environment variables for compilation
+ as wcecompat does. Thus, there might be more settings needed. For more
+ information follow the wcecompat documentation.
+
2. To choose PortSDK set up PORTSDK_LIBPATH to point at hardware-
specific location where your portlib.lib is