OLD | NEW |
1 | 1 |
2 INSTALLATION FOR THE WINDOWS CE PLATFORM | 2 INSTALLATION FOR THE WINDOWS CE PLATFORM |
3 ---------------------------------------- | 3 ---------------------------------------- |
4 | 4 |
5 Building OpenSSL for Windows CE requires the following external tools: | 5 Building OpenSSL for Windows CE requires the following external tools: |
6 | 6 |
7 * Microsoft eMbedded Visual C++ 3.0 | 7 * Microsoft eMbedded Visual C++ 3.0 or later |
8 * wcecompat compatibility library (www.essemer.com.au) | 8 * Appropriate SDK might be required |
9 * Optionally ceutils for running automated tests (www.essemer.com.au) | 9 * Perl for Win32 [commonly recommended ActiveState Perl is available |
| 10 from http://www.activestate.com/Products/ActivePerl/] |
10 | 11 |
11 You also need Perl for Win32. You will need ActiveState Perl, available | 12 * wcecompat compatibility library available at |
12 from http://www.activestate.com/ActivePerl. | 13 http://www.essemer.com.au/windowsce/ |
| 14 * Optionally ceutils for running automated tests (same location) |
13 | 15 |
14 Windows CE support in OpenSSL relies on wcecompat and therefore it's | 16 _or_ |
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 | 17 |
20 The C Runtime Library implementation for Windows CE that is included with | 18 * PocketConsole driver and PortSDK available at |
21 Microsoft eMbedded Visual C++ 3.0 is incomplete and in some places | 19 http://www.symbolictools.de/public/pocketconsole/ |
22 incorrect. wcecompat plugs the holes and tries to bring the Windows CE | 20 * CMD command interpreter (same location) |
23 CRT to a level that is more compatible with ANSI C. wcecompat goes further | 21 |
24 and provides low-level IO and stream IO support for stdin/stdout/stderr | 22 As Windows CE support in OpenSSL relies on 3rd party compatibility |
25 (which Windows CE does not provide). This IO functionality is not needed | 23 library, it's appropriate to check corresponding URL for updates. For |
26 by the OpenSSL library itself but is used for the tests and openssl.exe. | 24 example if you choose wcecompat, note that as for the moment of this |
27 More information is available at www.essemer.com.au. | 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 Building | 38 Building |
30 -------- | 39 -------- |
31 | 40 |
32 Setup the eMbedded Visual C++ environment. There are batch files for doing | 41 Setup the eMbedded Visual C++ environment. There are batch files for doing |
33 this installed with eVC++. For an ARM processor, for example, execute: | 42 this installed with eVC++. For an ARM processor, for example, execute: |
34 | 43 |
35 > "C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN\WCEARM.BAT" | 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 Next you should run Configure: | 62 Next you should run Configure: |
42 | 63 |
43 > perl Configure VC-CE | 64 > perl Configure VC-CE |
44 | 65 |
45 Next you need to build the Makefiles: | 66 Next you need to build the Makefiles: |
46 | 67 |
47 > ms\do_ms | 68 > ms\do_ms |
48 | 69 |
49 If you get errors about things not having numbers assigned then check the | 70 If you get errors about things not having numbers assigned then check the |
50 troubleshooting section in INSTALL.W32: you probably won't be able to compile | 71 troubleshooting section in INSTALL.W32: you probably won't be able to compile |
51 it as it stands. | 72 it as it stands. |
52 | 73 |
53 Then from the VC++ environment at a prompt do: | 74 Then from the VC++ environment at a prompt do: |
54 | 75 |
55 - to build static libraries: | |
56 | |
57 > nmake -f ms\ce.mak | |
58 | |
59 - or to build DLLs: | |
60 | |
61 > nmake -f ms\cedll.mak | 76 > nmake -f ms\cedll.mak |
62 | 77 |
63 If all is well it should compile and you will have some static libraries and | 78 [note that static builds are not supported under CE] |
64 executables in out32, or some DLLs and executables in out32dll. If you want | 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 |
65 to try the tests then make sure the ceutils are in the path and do: | 86 to try the tests then make sure the ceutils are in the path and do: |
66 | 87 |
67 > cd out32 | 88 > cd out32 |
68 > ..\ms\testce | 89 > ..\ms\testce |
69 | 90 |
70 This will copy each of the test programs to the Windows CE device and execute | 91 This will copy each of the test programs to the Windows CE device and execute |
71 them, displaying the output of the tests on this computer. The output should | 92 them, displaying the output of the tests on this computer. The output should |
72 look similar to the output produced by running the tests for a regular Windows | 93 look similar to the output produced by running the tests for a regular Windows |
73 build. | 94 build. |
74 | 95 |
OLD | NEW |