Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 1 | |
| 2 | INSTALLATION FOR THE WINDOWS CE PLATFORM |
| 3 | ---------------------------------------- |
| 4 | |
| 5 | Building OpenSSL for Windows CE requires the following external tools: |
| 6 | |
Andy Polyakov | 176a614 | 2005-11-06 20:52:26 +0000 | [diff] [blame] | 7 | * Microsoft eMbedded Visual C++ 3.0 or later |
| 8 | * Appropriate SDK might be required |
| 9 | * Perl for Win32 [commonly recommended ActiveState Perl is available |
| 10 | from http://www.activestate.com/Products/ActivePerl/] |
Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 11 | |
Andy Polyakov | 176a614 | 2005-11-06 20:52:26 +0000 | [diff] [blame] | 12 | * wcecompat compatibility library available at |
| 13 | http://www.essemer.com.au/windowsce/ |
| 14 | * Optionally ceutils for running automated tests (same location) |
Richard Levitte | b87e257 | 2002-11-15 22:54:13 +0000 | [diff] [blame] | 15 | |
Andy Polyakov | 176a614 | 2005-11-06 20:52:26 +0000 | [diff] [blame] | 16 | _or_ |
Richard Levitte | 7a1f92f | 2002-12-03 14:20:44 +0000 | [diff] [blame] | 17 | |
Andy Polyakov | 176a614 | 2005-11-06 20:52:26 +0000 | [diff] [blame] | 18 | * PocketConsole driver and PortSDK available at |
| 19 | http://www.symbolictools.de/public/pocketconsole/ |
| 20 | * CMD command interpreter (same location) |
| 21 | |
| 22 | As Windows CE support in OpenSSL relies on 3rd party compatibility |
| 23 | library, it's appropriate to check corresponding URL for updates. For |
| 24 | example if you choose wcecompat, note that as for the moment of this |
| 25 | writing version 1.2 is available and actually required for WCE 4.2 |
| 26 | and newer platforms. All wcecompat issues should be directed to |
| 27 | www.essemer.com.au. |
| 28 | |
| 29 | Why compatibility library at all? The C Runtime Library implementation |
| 30 | for Windows CE that is included with Microsoft eMbedded Visual C++ is |
| 31 | incomplete and in some places incorrect. Compatibility library plugs |
| 32 | the holes and tries to bring the Windows CE CRT to [more] usable level. |
| 33 | Most gaping hole in CRT is support for stdin/stdout/stderr IO, which |
| 34 | proposed compatibility libraries solve in two different ways: wcecompat |
| 35 | redirects IO to active sync link, while PortSDK - to NT-like console |
| 36 | driver on the handheld itself. |
Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 37 | |
| 38 | Building |
| 39 | -------- |
| 40 | |
Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 41 | Setup the eMbedded Visual C++ environment. There are batch files for doing |
| 42 | this installed with eVC++. For an ARM processor, for example, execute: |
| 43 | |
| 44 | > "C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN\WCEARM.BAT" |
| 45 | |
Andy Polyakov | 176a614 | 2005-11-06 20:52:26 +0000 | [diff] [blame] | 46 | Next pick compatibility library according to your preferences. |
Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 47 | |
Andy Polyakov | 176a614 | 2005-11-06 20:52:26 +0000 | [diff] [blame] | 48 | 1. To choose wcecompat set up WCECOMPAT environment variable pointing |
| 49 | at the location of wcecompat tree "root": |
| 50 | |
| 51 | > set WCECOMPAT=C:\wcecompat |
| 52 | > set PORTSDK_LIBPATH= |
| 53 | |
| 54 | 2. To choose PortSDK set up PORTSDK_LIBPATH to point at hardware- |
| 55 | specific location where your portlib.lib is installed: |
| 56 | |
| 57 | > set PORTSDK_LIBPATH=C:\PortSDK\lib\ARM |
| 58 | > set WCECOMPAT= |
| 59 | |
| 60 | Note that you may not set both variables. |
Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 61 | |
| 62 | Next you should run Configure: |
| 63 | |
| 64 | > perl Configure VC-CE |
| 65 | |
| 66 | Next you need to build the Makefiles: |
| 67 | |
| 68 | > ms\do_ms |
| 69 | |
| 70 | If you get errors about things not having numbers assigned then check the |
| 71 | troubleshooting section in INSTALL.W32: you probably won't be able to compile |
| 72 | it as it stands. |
| 73 | |
| 74 | Then from the VC++ environment at a prompt do: |
| 75 | |
Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 76 | > nmake -f ms\cedll.mak |
| 77 | |
Andy Polyakov | 176a614 | 2005-11-06 20:52:26 +0000 | [diff] [blame] | 78 | [note that static builds are not supported under CE] |
| 79 | |
| 80 | If all is well it should compile and you will have some DLLs and executables |
| 81 | in out32dll*. |
| 82 | |
| 83 | <<< everyting below needs revision in respect to wcecompat vs. PortSDK >>> |
| 84 | |
| 85 | If you want |
Richard Levitte | 0bf23d9 | 2002-11-15 22:37:18 +0000 | [diff] [blame] | 86 | to try the tests then make sure the ceutils are in the path and do: |
| 87 | |
| 88 | > cd out32 |
| 89 | > ..\ms\testce |
| 90 | |
Richard Levitte | 629b58b | 2002-11-17 19:48:19 +0000 | [diff] [blame] | 91 | This will copy each of the test programs to the Windows CE device and execute |
| 92 | them, displaying the output of the tests on this computer. The output should |
| 93 | look similar to the output produced by running the tests for a regular Windows |
| 94 | build. |
| 95 | |