提交 5c00879e 编写于 作者: D Dr. Stephen Henson

More Win32 fixes and upsdate INSTALL.W32 documentation.

上级 9becf666
......@@ -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
......
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++)
{
......
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
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册