|
4 | 4 |
|
5 | 5 | Building OpenSSL for Windows CE requires the following external tools:
|
6 | 6 |
|
7 |
| - * Microsoft eMbedded Visual C++ 3.0 |
8 |
| - * wcecompat compatibility library (www.essemer.com.au) |
9 |
| - * Optionally ceutils for running automated tests (www.essemer.com.au) |
10 |
| - |
11 |
| - You also need Perl for Win32. You will need ActiveState Perl, available |
12 |
| - from http://www.activestate.com/ActivePerl. |
13 |
| - |
14 |
| - Windows CE support in OpenSSL relies on wcecompat and therefore it's |
15 |
| - appropriate to check http://www.essemer.com.au/windowsce/ for updates in |
16 |
| - case of compilation problems. As for the moment of this writing version |
17 |
| - 1.1 is available and actually required for WCE 4.2 and newer platforms. |
18 |
| - All Windows CE specific issues should be directed to www.essemer.com.au. |
19 |
| - |
20 |
| - The C Runtime Library implementation for Windows CE that is included with |
21 |
| - Microsoft eMbedded Visual C++ 3.0 is incomplete and in some places |
22 |
| - incorrect. wcecompat plugs the holes and tries to bring the Windows CE |
23 |
| - CRT to a level that is more compatible with ANSI C. wcecompat goes further |
24 |
| - and provides low-level IO and stream IO support for stdin/stdout/stderr |
25 |
| - (which Windows CE does not provide). This IO functionality is not needed |
26 |
| - by the OpenSSL library itself but is used for the tests and openssl.exe. |
27 |
| - More information is available at www.essemer.com.au. |
| 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/] |
| 11 | + |
| 12 | + * wcecompat compatibility library available at |
| 13 | + http://www.essemer.com.au/windowsce/ |
| 14 | + * Optionally ceutils for running automated tests (same location) |
| 15 | + |
| 16 | + _or_ |
| 17 | + |
| 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. |
28 | 37 |
|
29 | 38 | Building
|
30 | 39 | --------
|
|
34 | 43 |
|
35 | 44 | > "C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN\WCEARM.BAT"
|
36 | 45 |
|
37 |
| - Next indicate where wcecompat is located: |
| 46 | + Next pick compatibility library according to your preferences. |
38 | 47 |
|
39 |
| - > set WCECOMPAT=C:\wcecompat |
| 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. |
40 | 61 |
|
41 | 62 | Next you should run Configure:
|
42 | 63 |
|
|
52 | 73 |
|
53 | 74 | Then from the VC++ environment at a prompt do:
|
54 | 75 |
|
55 |
| - - to build static libraries: |
| 76 | + > nmake -f ms\cedll.mak |
56 | 77 |
|
57 |
| - > nmake -f ms\ce.mak |
| 78 | + [note that static builds are not supported under CE] |
58 | 79 |
|
59 |
| - - or to build DLLs: |
| 80 | + If all is well it should compile and you will have some DLLs and executables |
| 81 | + in out32dll*. |
60 | 82 |
|
61 |
| - > nmake -f ms\cedll.mak |
| 83 | + <<< everyting below needs revision in respect to wcecompat vs. PortSDK >>> |
62 | 84 |
|
63 |
| - If all is well it should compile and you will have some static libraries and |
64 |
| - executables in out32, or some DLLs and executables in out32dll. If you want |
| 85 | + If you want |
65 | 86 | to try the tests then make sure the ceutils are in the path and do:
|
66 | 87 |
|
67 | 88 | > cd out32
|
|
0 commit comments