]>
Commit | Line | Data |
---|---|---|
1875e6db AP |
1 | |
2 | INSTALLATION ON THE WIN64 PLATFORM | |
3 | ---------------------------------- | |
4 | ||
5 | Caveat lector | |
6 | ------------- | |
7 | ||
8 | As of moment of this writing Win64 support is classified "initial" | |
9 | for the following reasons. | |
10 | ||
11 | - No assembler modules are engaged upon initial 0.9.8 release. | |
12 | - API might change within 0.9.8 life-span, *but* in a manner which | |
13 | doesn't break backward binary compatibility. Or in other words, | |
14 | application programs compiled with initial 0.9.8 headers will | |
15 | be expected to work with future minor release .DLL without need | |
16 | to re-compile, even if future minor release features modified API. | |
17 | - Above mentioned API modifications have everything to do with | |
18 | elimination of a number of limitations, which are normally | |
19 | considered inherent to 32-bit platforms. Which in turn is why they | |
20 | are treated as limitations on 64-bit platform such as Win64:-) | |
21 | The current list comprises [but not necessarily limited to]: | |
22 | ||
23 | - null-terminated strings may not be longer than 2G-1 bytes, | |
24 | longer strings are treated as zero-length; | |
25 | - dynamically and *internally* allocated chunks can't be larger | |
26 | than 2G-1 bytes; | |
27 | - inability to encrypt/decrypt chunks of data larger than 4GB | |
28 | [it's possibly to *hash* chunks of arbitrary size through]; | |
29 | ||
30 | Neither of these is actually big deal and hardly encountered | |
31 | in real-life applications. | |
32 | ||
d333ebaf RL |
33 | ### Default install and config paths |
34 | ||
35 | ./Configure defaults to '/usr/local/ssl' as installation top. This is | |
36 | suitable for Unix, but not for Windows, where this usually is a world | |
37 | writable directory and therefore accessible for change by untrusted users. | |
38 | It is therefore recommended to set your own --prefix or --openssldir to | |
39 | some location that is not world writeable (see the example above) | |
40 | ||
1875e6db AP |
41 | Compiling procedure |
42 | ------------------- | |
43 | ||
44 | You will need Perl. You can run under Cygwin or you can download | |
45 | ActiveState Perl from http://www.activestate.com/ActivePerl. | |
46 | ||
47 | You will need Microsoft Platform SDK, available for download at | |
48 | http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. As per | |
49 | April 2005 Platform SDK is equipped with Win64 compilers, as well | |
50 | as assemblers, but it might change in the future. | |
51 | ||
52 | To build for Win64/x64: | |
53 | ||
d333ebaf | 54 | > perl Configure VC-WIN64A --prefix=c:\some\openssl\dir |
1875e6db AP |
55 | > ms\do_win64a |
56 | > nmake -f ms\ntdll.mak | |
57 | > cd out32dll | |
58 | > ..\ms\test | |
59 | ||
60 | To build for Win64/IA64: | |
61 | ||
d333ebaf | 62 | > perl Configure VC-WIN64I --prefix=c:\some\openssl\dir |
1875e6db AP |
63 | > ms\do_win64i |
64 | > nmake -f ms\ntdll.mak | |
65 | > cd out32dll | |
66 | > ..\ms\test | |
67 | ||
68 | Naturally test-suite itself has to be executed on the target platform. | |
69 | ||
70 | Installation | |
71 | ------------ | |
72 | ||
73 | TBD, for now see INSTALL.W32. | |
74 |