mirror of
https://github.com/openssl/openssl.git
synced 2025-02-17 14:32:04 +08:00
More Win32 fixes and upsdate INSTALL.W32 documentation.
This commit is contained in:
parent
9becf66621
commit
5c00879ef0
6
CHANGES
6
CHANGES
@ -5,6 +5,12 @@
|
||||
|
||||
Changes between 0.9.1c and 0.9.2
|
||||
|
||||
*) Modify ms/do_ms.bat to not generate assembly language makefiles since
|
||||
not many people have the assembler. Various Win32 compilation fixes and
|
||||
update to the INSTALL.W32 file with (hopefully) more accurate Win32
|
||||
build instructions.
|
||||
[Steve Henson]
|
||||
|
||||
*) Modify configure script 'Configure' to automatically create crypto/date.h
|
||||
file under Win32 and also build pem.h from pem.org. New script
|
||||
util/mkfiles.pl to create the MINFO file on environments that can't do a
|
||||
|
82
INSTALL.W32
82
INSTALL.W32
@ -1,3 +1,85 @@
|
||||
Building OpenSSL under Win32.
|
||||
|
||||
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 modification.
|
||||
See the end of this file for Eric's original comments.
|
||||
|
||||
You will need perl for Win32 (which can be got from various sources) and Visual
|
||||
C++.
|
||||
|
||||
If you are compiling from a tarball or a CVS snapshot then the Win32 files may
|
||||
well be not up to date. This may mean that some "tweaking" is required to get
|
||||
it all to work. See the trouble shooting section later on for if (when?) it
|
||||
goes wrong.
|
||||
|
||||
Firstly you should run Configure:
|
||||
|
||||
perl Configure VC-WIN32
|
||||
|
||||
Then rebuild the Win32 Makefiles and friends:
|
||||
|
||||
ms\do_ms
|
||||
|
||||
if you get errors about things not having numbers assigned then check the
|
||||
troubleshooting section: you probably wont be able to compile it as it stands.
|
||||
|
||||
then from the VC++ environment at a prompt do:
|
||||
|
||||
nmake -f ms\ntdll.mak
|
||||
|
||||
you may get a warning about too many rules but if all is well it should all
|
||||
compile and you will have some DLLs and executables in out32dll.
|
||||
|
||||
Troubleshooting.
|
||||
|
||||
Since the Win32 build is only occasionally tested it may not always compile
|
||||
cleanly.
|
||||
|
||||
If you get an error about functions not having numbers assigned when you
|
||||
run ms\do_ms then this means the Win32 ordinal files are not up to date. You
|
||||
can do:
|
||||
|
||||
perl util\mkdef.pl crypto ssl update
|
||||
|
||||
then ms\do_ms should not give a warning any more. However the numbers that get
|
||||
assigned by this technique may not match those that eventually get assigned
|
||||
in the CVS tree: so you anything linked against this version of the library
|
||||
may need to be recompiled.
|
||||
|
||||
If you get errors about unresolved externals then this means that either you
|
||||
didn't read the note above about functions not having numbers assigned or
|
||||
someone forgot to add a function to the header file.
|
||||
|
||||
In this latter case check out the header file to see if the function is defined
|
||||
in the header file: it should be defined twice: once with ANSI prototypes and
|
||||
once without. If its missing from the non ASNI section then add an entry for
|
||||
it: check that ms\do_ms now reports missing numbers and update the numbers as
|
||||
above.
|
||||
|
||||
If you get warnings in the code then the compilation will halt.
|
||||
|
||||
The default Makefile for Win32 halts whenever any warnings occur. Since VC++
|
||||
has its own ideas about warnings which don't always match up to other
|
||||
environments this can happen. The best fix is to edit the file with the warning
|
||||
in and fix it. Alternatively you can turn off the halt on warnings by editing
|
||||
the CFLAG line in the Makefile and deleting the /WX option.
|
||||
|
||||
Finally you might get compilation errors. Again you will have to fix these or
|
||||
report them.
|
||||
|
||||
Tweaks.
|
||||
|
||||
There are various changes you can make to the Win32 compile environment. If you
|
||||
have the MASM assembler 'ml' then you can try the assembly language code. To
|
||||
do this remove the 'no-asm' part from do_ms.bat.
|
||||
|
||||
You can also build a static version of the library using the Makefile ms\nt.mak
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
The orignal Windows build instructions from SSLeay follow. Note: some of this
|
||||
may be out of date and no longer applicable
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
The Microsoft World.
|
||||
|
||||
The good news, to build SSLeay for the Microsft World
|
||||
|
@ -633,8 +633,7 @@ char **argv;
|
||||
count*=2;
|
||||
Time_F(START);
|
||||
for (i=count; i; i--)
|
||||
des_ecb_encrypt((C_Block *)buf,(C_Block *)buf,
|
||||
&(sch[0]),DES_ENCRYPT);
|
||||
des_ecb_encrypt(buf,buf, &(sch[0]),DES_ENCRYPT);
|
||||
d=Time_F(STOP);
|
||||
} while (d <3);
|
||||
c[D_MD2][0]=count/10;
|
||||
|
@ -271,6 +271,7 @@ void des_encrypt2();
|
||||
void des_encrypt3();
|
||||
void des_decrypt3();
|
||||
void des_ede3_cbc_encrypt();
|
||||
void des_ede3_cbcm_encrypt();
|
||||
int des_enc_read();
|
||||
int des_enc_write();
|
||||
char *des_fcrypt();
|
||||
|
@ -204,7 +204,7 @@ int num;
|
||||
MD_Final(md,&m);
|
||||
md_count[1]++;
|
||||
|
||||
buf+=j;
|
||||
buf=(char *)buf + j;
|
||||
|
||||
for (k=0; k<j; k++)
|
||||
{
|
||||
|
@ -1,9 +1,10 @@
|
||||
|
||||
perl util\mkfiles.pl >MINFO
|
||||
rem perl util\mk1mf.pl VC-MSDOS no-sock >ms\msdos.mak
|
||||
rem perl util\mk1mf.pl VC-W31-32 >ms\w31.mak
|
||||
perl util\mk1mf.pl VC-W31-32 dll >ms\w31dll.mak
|
||||
rem perl util\mk1mf.pl VC-WIN32 >ms\nt.mak
|
||||
perl util\mk1mf.pl VC-WIN32 dll >ms\ntdll.mak
|
||||
perl util\mk1mf.pl VC-WIN32 no-asm >ms\nt.mak
|
||||
perl util\mk1mf.pl VC-WIN32 dll no-asm >ms\ntdll.mak
|
||||
|
||||
perl util\mkdef.pl 16 libeay > ms\libeay16.def
|
||||
perl util\mkdef.pl 32 libeay > ms\libeay32.def
|
||||
|
@ -1196,3 +1196,4 @@ s2i_ASN1_OCTET_STRING 1221
|
||||
X509V3_EXT_check_conf 1222
|
||||
hex_to_string 1223
|
||||
string_to_hex 1224
|
||||
des_ede3_cbcm_encrypt 1225
|
||||
|
Loading…
Reference in New Issue
Block a user