From 5c00879ef093f9fb8ed2a9b58993e90401ec7b50 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sun, 14 Feb 1999 00:40:13 +0000 Subject: More Win32 fixes and upsdate INSTALL.W32 documentation. --- INSTALL.W32 | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) (limited to 'INSTALL.W32') diff --git a/INSTALL.W32 b/INSTALL.W32 index 54176f0472..9122410404 100644 --- a/INSTALL.W32 +++ b/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 -- cgit v1.2.3