summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--INSTALL.W321
-rw-r--r--INSTALL.W6466
-rw-r--r--TABLE4
4 files changed, 72 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index d332f1044f..fb85e776a1 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,9 @@
Changes between 0.9.7h and 0.9.8 [xx XXX xxxx]
+ *) Add initial support for Win64, both IA64 and AMD64/x64 flavors.
+ [Andy Polyakov]
+
*) Add -utf8 command line and config file option to 'ca'.
[Stefan <stf@udoma.org]
diff --git a/INSTALL.W32 b/INSTALL.W32
index 0f6c302f0d..f18f249677 100644
--- a/INSTALL.W32
+++ b/INSTALL.W32
@@ -3,6 +3,7 @@
----------------------------------
[Instructions for building for Windows CE can be found in INSTALL.WCE]
+ [Instructions for building for Win64 can be found in INSTALL.W64]
Heres a few comments about building OpenSSL in Windows environments. Most
of this is tested on Win32 but it may also work in Win 3.1 with some
diff --git a/INSTALL.W64 b/INSTALL.W64
new file mode 100644
index 0000000000..9fa7a19205
--- /dev/null
+++ b/INSTALL.W64
@@ -0,0 +1,66 @@
+
+ INSTALLATION ON THE WIN64 PLATFORM
+ ----------------------------------
+
+ Caveat lector
+ -------------
+
+ As of moment of this writing Win64 support is classified "initial"
+ for the following reasons.
+
+ - No assembler modules are engaged upon initial 0.9.8 release.
+ - API might change within 0.9.8 life-span, *but* in a manner which
+ doesn't break backward binary compatibility. Or in other words,
+ application programs compiled with initial 0.9.8 headers will
+ be expected to work with future minor release .DLL without need
+ to re-compile, even if future minor release features modified API.
+ - Above mentioned API modifications have everything to do with
+ elimination of a number of limitations, which are normally
+ considered inherent to 32-bit platforms. Which in turn is why they
+ are treated as limitations on 64-bit platform such as Win64:-)
+ The current list comprises [but not necessarily limited to]:
+
+ - null-terminated strings may not be longer than 2G-1 bytes,
+ longer strings are treated as zero-length;
+ - dynamically and *internally* allocated chunks can't be larger
+ than 2G-1 bytes;
+ - inability to encrypt/decrypt chunks of data larger than 4GB
+ [it's possibly to *hash* chunks of arbitrary size through];
+
+ Neither of these is actually big deal and hardly encountered
+ in real-life applications.
+
+ Compiling procedure
+ -------------------
+
+ You will need Perl. You can run under Cygwin or you can download
+ ActiveState Perl from http://www.activestate.com/ActivePerl.
+
+ You will need Microsoft Platform SDK, available for download at
+ http://www.microsoft.com/msdownload/platformsdk/sdkupdate/. As per
+ April 2005 Platform SDK is equipped with Win64 compilers, as well
+ as assemblers, but it might change in the future.
+
+ To build for Win64/x64:
+
+ > perl Configure VC-WIN64A
+ > ms\do_win64a
+ > nmake -f ms\ntdll.mak
+ > cd out32dll
+ > ..\ms\test
+
+ To build for Win64/IA64:
+
+ > perl Configure VC-WIN64I
+ > ms\do_win64i
+ > nmake -f ms\ntdll.mak
+ > cd out32dll
+ > ..\ms\test
+
+ Naturally test-suite itself has to be executed on the target platform.
+
+ Installation
+ ------------
+
+ TBD, for now see INSTALL.W32.
+
diff --git a/TABLE b/TABLE
index bf0a1542bf..5c1007f37a 100644
--- a/TABLE
+++ b/TABLE
@@ -628,7 +628,7 @@ $unistd =
$thread_cflag =
$sys_id = WIN64A
$lflags =
-$bn_ops = SIXTY_FOUR_BIT EXPORT_VAR_AS_FN
+$bn_ops = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
$cpuid_obj =
$bn_obj =
$des_obj =
@@ -655,7 +655,7 @@ $unistd =
$thread_cflag =
$sys_id = WIN64I
$lflags =
-$bn_ops = SIXTY_FOUR_BIT EXPORT_VAR_AS_FN
+$bn_ops = SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN
$cpuid_obj =
$bn_obj =
$des_obj =