]>
Commit | Line | Data |
---|---|---|
0bf23d9b RL |
1 | |
2 | INSTALLATION FOR THE WINDOWS CE PLATFORM | |
3 | ---------------------------------------- | |
4 | ||
5 | Building OpenSSL for Windows CE requires the following external tools: | |
6 | ||
176a6148 AP |
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. | |
0bf23d9b | 37 | |
d333ebaf RL |
38 | CAVEAT LECTOR |
39 | ------------- | |
40 | ||
41 | ### Default install and config paths | |
42 | ||
43 | ./Configure defaults to '/usr/local/ssl' as installation top. This is | |
44 | suitable for Unix, but not for Windows, where this usually is a world | |
45 | writable directory and therefore accessible for change by untrusted users. | |
46 | It is therefore recommended to set your own --prefix or --openssldir to | |
47 | some location that is not world writeable (see the example above) | |
48 | ||
0bf23d9b RL |
49 | Building |
50 | -------- | |
51 | ||
0bf23d9b RL |
52 | Setup the eMbedded Visual C++ environment. There are batch files for doing |
53 | this installed with eVC++. For an ARM processor, for example, execute: | |
54 | ||
55 | > "C:\Program Files\Microsoft eMbedded Tools\EVC\WCE300\BIN\WCEARM.BAT" | |
56 | ||
176a6148 | 57 | Next pick compatibility library according to your preferences. |
0bf23d9b | 58 | |
176a6148 AP |
59 | 1. To choose wcecompat set up WCECOMPAT environment variable pointing |
60 | at the location of wcecompat tree "root": | |
61 | ||
62 | > set WCECOMPAT=C:\wcecompat | |
63 | > set PORTSDK_LIBPATH= | |
64 | ||
65 | 2. To choose PortSDK set up PORTSDK_LIBPATH to point at hardware- | |
66 | specific location where your portlib.lib is installed: | |
67 | ||
68 | > set PORTSDK_LIBPATH=C:\PortSDK\lib\ARM | |
69 | > set WCECOMPAT= | |
70 | ||
71 | Note that you may not set both variables. | |
0bf23d9b RL |
72 | |
73 | Next you should run Configure: | |
74 | ||
d333ebaf | 75 | > perl Configure VC-CE --prefix=c:\some\openssl\dir |
0bf23d9b RL |
76 | |
77 | Next you need to build the Makefiles: | |
78 | ||
79 | > ms\do_ms | |
80 | ||
81 | If you get errors about things not having numbers assigned then check the | |
82 | troubleshooting section in INSTALL.W32: you probably won't be able to compile | |
83 | it as it stands. | |
84 | ||
85 | Then from the VC++ environment at a prompt do: | |
86 | ||
176a6148 | 87 | > nmake -f ms\cedll.mak |
0bf23d9b | 88 | |
176a6148 | 89 | [note that static builds are not supported under CE] |
0bf23d9b | 90 | |
176a6148 AP |
91 | If all is well it should compile and you will have some DLLs and executables |
92 | in out32dll*. | |
0bf23d9b | 93 | |
176a6148 | 94 | <<< everyting below needs revision in respect to wcecompat vs. PortSDK >>> |
0bf23d9b | 95 | |
176a6148 | 96 | If you want |
0bf23d9b RL |
97 | to try the tests then make sure the ceutils are in the path and do: |
98 | ||
99 | > cd out32 | |
100 | > ..\ms\testce | |
101 | ||
629b58b7 RL |
102 | This will copy each of the test programs to the Windows CE device and execute |
103 | them, displaying the output of the tests on this computer. The output should | |
104 | look similar to the output produced by running the tests for a regular Windows | |
105 | build. | |
106 |