| INSTALLATION FOR THE WINDOWS CE PLATFORM | |
| ---------------------------------------- | |
| Building OpenSSL for Windows CE requires the following external tools: | |
| * 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 | |
| -------- | |
| Setup the eMbedded Visual C++ environment. There are batch files for doing | |
| this installed with eVC++. For an ARM processor, for example, execute: | |
| > "C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN\WCEARM.BAT" | |
| 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= | |
| 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: | |
| > perl Configure VC-CE | |
| Next you need to build the Makefiles: | |
| > ms\do_ms | |
| If you get errors about things not having numbers assigned then check the | |
| troubleshooting section in INSTALL.W32: you probably won't be able to compile | |
| it as it stands. | |
| Then from the VC++ environment at a prompt do: | |
| > nmake -f ms\cedll.mak | |
| [note that static builds are not supported under CE] | |
| If all is well it should compile and you will have some DLLs and executables | |
| in out32dll*. | |
| <<< everyting below needs revision in respect to wcecompat vs. PortSDK >>> | |
| If you want | |
| to try the tests then make sure the ceutils are in the path and do: | |
| > cd out32 | |
| > ..\ms\testce | |
| This will copy each of the test programs to the Windows CE device and execute | |
| them, displaying the output of the tests on this computer. The output should | |
| look similar to the output produced by running the tests for a regular Windows | |
| build. | |