mirror of
https://github.com/openssl/openssl.git
synced 2024-11-25 11:03:37 +08:00
176a614899
more work, i.e. more modifications are due...
96 lines
3.2 KiB
Plaintext
96 lines
3.2 KiB
Plaintext
|
|
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.
|
|
|