summaryrefslogtreecommitdiff
path: root/INSTALL.WCE
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL.WCE')
-rw-r--r--INSTALL.WCE76
1 files changed, 50 insertions, 26 deletions
diff --git a/INSTALL.WCE b/INSTALL.WCE
index ac587d6bd2..d78c61afa8 100644
--- a/INSTALL.WCE
+++ b/INSTALL.WCE
@@ -4,24 +4,36 @@
Building OpenSSL for Windows CE requires the following external tools:
- * Microsoft eMbedded Visual C++ 3.0
- * wcecompat compatibility library (www.essemer.com.au)
- * Optionally ceutils for running automated tests (www.essemer.com.au)
-
- You also need Perl for Win32. You will need ActiveState Perl, available
- from http://www.activestate.com/ActivePerl.
-
- Windows CE support in OpenSSL relies on wcecompat. All Windows CE specific
- issues should be directed to www.essemer.com.au.
-
- The C Runtime Library implementation for Windows CE that is included with
- Microsoft eMbedded Visual C++ 3.0 is incomplete and in some places
- incorrect. wcecompat plugs the holes and tries to bring the Windows CE
- CRT to a level that is more compatible with ANSI C. wcecompat goes further
- and provides low-level IO and stream IO support for stdin/stdout/stderr
- (which Windows CE does not provide). This IO functionality is not needed
- by the OpenSSL library itself but is used for the tests and openssl.exe.
- More information is available at www.essemer.com.au.
+ * Microsoft eMbedded Visual C++ 3.0 or later
+ * Appropriate SDK might be required
+ * Perl for Win32 [commonly recommended ActiveState Perl is available
+ from http://www.activestate.com/Products/ActivePerl/]
+
+ * wcecompat compatibility library available at
+ http://www.essemer.com.au/windowsce/
+ * Optionally ceutils for running automated tests (same location)
+
+ _or_
+
+ * PocketConsole driver and PortSDK available at
+ http://www.symbolictools.de/public/pocketconsole/
+ * 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.
+
+ Why compatibility library at all? The C Runtime Library implementation
+ for Windows CE that is included with Microsoft eMbedded Visual C++ is
+ incomplete and in some places incorrect. Compatibility library plugs
+ the holes and tries to bring the Windows CE CRT to [more] usable level.
+ Most gaping hole in CRT is support for stdin/stdout/stderr IO, which
+ proposed compatibility libraries solve in two different ways: wcecompat
+ redirects IO to active sync link, while PortSDK - to NT-like console
+ driver on the handheld itself.
Building
--------
@@ -31,9 +43,21 @@
> "C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN\WCEARM.BAT"
- Next indicate where wcecompat is located:
+ Next pick compatibility library according to your preferences.
+
+ 1. To choose wcecompat set up WCECOMPAT environment variable pointing
+ at the location of wcecompat tree "root":
+
+ > set WCECOMPAT=C:\wcecompat
+ > set PORTSDK_LIBPATH=
- > set WCECOMPAT=C:\wcecompat
+ 2. To choose PortSDK set up PORTSDK_LIBPATH to point at hardware-
+ specific location where your portlib.lib is installed:
+
+ > set PORTSDK_LIBPATH=C:\PortSDK\lib\ARM
+ > set WCECOMPAT=
+
+ Note that you may not set both variables.
Next you should run Configure:
@@ -49,16 +73,16 @@
Then from the VC++ environment at a prompt do:
- - to build static libraries:
+ > nmake -f ms\cedll.mak
- > nmake -f ms\ce.mak
+ [note that static builds are not supported under CE]
- - or to build DLLs:
+ If all is well it should compile and you will have some DLLs and executables
+ in out32dll*.
- > nmake -f ms\cedll.mak
+ <<< everyting below needs revision in respect to wcecompat vs. PortSDK >>>
- If all is well it should compile and you will have some static libraries and
- executables in out32, or some DLLs and executables in out32dll. If you want
+ If you want
to try the tests then make sure the ceutils are in the path and do:
> cd out32