Various Win32 fixes. Win95 doesn't support MoveFileEx() (which was used for a
[openssl.git] / INSTALL.W32
index 20dc0fc..8246e41 100644 (file)
 
  To build OpenSSL, you need the Mingw32 package and GNU make.
 
- Mingw32 is available from <ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/
- mingw32/egcs-1.1.2/egcs-1.1.2-mingw32.zip>. GNU make is at
- <ftp://agnes.dida.physik.uni-essen.de/home/janjaap/mingw32/binaries/
- make-3.76.1.zip>. Install both of them in C:\egcs-1.1.2 and run
- C:\egcs-1.1.2\mingw32.bat to set the PATH.
+ * Compiler installation:
 
- * Cofigure OpenSSL:
+   Mingw32 is available from <ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/
+   mingw32/egcs-1.1.2/egcs-1.1.2-mingw32.zip>. GNU make is at
+   <ftp://agnes.dida.physik.uni-essen.de/home/janjaap/mingw32/binaries/
+   make-3.76.1.zip>. Install both of them in C:\egcs-1.1.2 and run
+   C:\egcs-1.1.2\mingw32.bat to set the PATH.
 
-   > perl Configure Mingw32
-   > perl util\mkfiles.pl >MINFO
-   > perl util\mk1mf.pl Mingw32 >ms\mingw32.mak
+ * Compile OpenSSL:
 
- * If you don't have the GNU file utilities (cp, rm, etc.) installed,
-   an additional step is required:
+   Run ms\mw.bat
 
-   > perl util\mk1mf.pl VC-WIN32 no-asm >ms\nt.mak
-   > make -f ms/nt.mak
+   This will create the library and binaries in out.
 
-   This will end with an error message. If you don't like that, install
-   the file utilities. :)
+   libcrypto.a and libssl.a are the static libraries. To use the DLLs,
+   link with libeay32.a and libssl32.a instead.
 
- * Compile the library:
-   > make -f ms/mingw32.mak
+   See troubleshooting if you get error messages about functions not having
+   a number assigned.
 
  You can now try the tests:
* You can now try the tests:
 
    > cd out
    > ..\ms\test
 
- * Build the OpenSSL DLLs:
-
-   > perl util\mkdef.pl 32 libeay > ms\libeay32.def
-   > perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
-
-   [to be done]
-
  Troubleshooting
  ---------------
 
  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.
+ defined in the header file.
 
  If you get warnings in the code then the compilation will halt.
 
  program will almost certainly crash: see the original SSLeay description
  below for more details.
 
- Tweaks
- ------
-
 --------------------------------------------------------------------------------
 The orignal Windows build instructions from SSLeay follow. 
-Note: some of this may be out of date and no longer applicable
+Note: some of this may be out of date and no longer applicable. In particular
+the Crypto_malloc_init() comment appears to be wrong: you always need to use
+the same runtime library as the DLL itself.
 --------------------------------------------------------------------------------
 
 The Microsoft World.