diff options
author | Ulf Möller <ulf@openssl.org> | 1999-05-07 22:55:27 +0000 |
---|---|---|
committer | Ulf Möller <ulf@openssl.org> | 1999-05-07 22:55:27 +0000 |
commit | 7d5d27b9a3edf37e6752a961b0da969b6813fa75 (patch) | |
tree | 5f7a6007d694e8e45360b722118f1897484b76dd | |
parent | 12d7d32f24a3fb1ea804cfeebdbbcb91308150bd (diff) | |
download | openssl-new-7d5d27b9a3edf37e6752a961b0da969b6813fa75.tar.gz |
Generate DLLs with Mingw32.
-rw-r--r-- | INSTALL.W32 | 44 | ||||
-rw-r--r-- | ms/mw.bat | 34 | ||||
-rwxr-xr-x | util/mkdef.pl | 16 | ||||
-rw-r--r-- | util/pl/Mingw32.pl | 5 | ||||
-rw-r--r-- | util/pl/Mingw32f.pl | 2 |
5 files changed, 61 insertions, 40 deletions
diff --git a/INSTALL.W32 b/INSTALL.W32 index 80ea905049..3da0cb4477 100644 --- a/INSTALL.W32 +++ b/INSTALL.W32 @@ -72,44 +72,31 @@ To build OpenSSL, you need the Mingw32 package and GNU make. - Compiler installation: + * Compiler installation: - 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. + 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. - * Configure OpenSSL: + * Compile OpenSSL: - > perl Configure Mingw32 - > perl util\mkfiles.pl >MINFO - > perl util\mk1mf.pl Mingw32 >ms\mingw32.mak + Run ms\mw.bat - * This step can be skipped if you have the GNU file utitilities (cp, rm, ...) - installed: + This will create the library and binaries in out. - > perl util\mk1mf.pl Mingw32-files >ms\mingw32f.mak - > make -f ms/mingw32f.mak + libcrypto.a and libssl.a are the static libraries. To use the DLLs, + link with libeay32.a and libssl32.a instead. - This will end with an error message. If you don't like that, install - the file utilities. :) + See troubleshooting if you get error messages about functions not having + a number assigned. - * Compile the library: - > make -f ms/mingw32.mak - - 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 --------------- @@ -151,9 +138,6 @@ 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 diff --git a/ms/mw.bat b/ms/mw.bat new file mode 100644 index 0000000000..1f4372c81a --- /dev/null +++ b/ms/mw.bat @@ -0,0 +1,34 @@ +@rem OpenSSL with Mingw32
+@rem --------------------
+
+perl Configure Mingw32
+if errorlevel 1 goto end
+
+@rem Makefile
+perl util\mkfiles.pl >MINFO
+perl util\mk1mf.pl Mingw32 >ms\mingw32.mak
+perl util\mk1mf.pl Mingw32-files >ms\mingw32f.mak
+@rem DLL defintion files
+perl util\mkdef.pl 32 libeay >ms\libeay32.def
+if errorlevel 1 goto end
+perl util\mkdef.pl 32 ssleay >ms\ssleay32.def
+if errorlevel 1 goto end
+
+@rem Create files -- this can be skipped if using the GNU file utilities
+make -f ms/mingw32f.mak
+echo You can ignore the error messages above
+
+@rem Build the libraries
+make -f ms/mingw32.mak
+if errorlevel 1 goto end
+
+@rem Generate the DLLs and input libraries
+dllwrap --dllname libeay32.dll --output-lib out/libeay32.a --def ms/libeay32.def out/libcrypto.a -lwsock32 -lgdi32
+if errorlevel 1 goto end
+dllwrap --dllname libssl32.dll --output-lib out/libssl32.a --def ms/libssl32.def out/libssl.a out/libeay32.a
+if errorlevel 1 goto end
+
+echo Done compiling OpenSSL
+
+:end
+
diff --git a/util/mkdef.pl b/util/mkdef.pl index 230644130b..d3263b6408 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -109,13 +109,13 @@ if($do_crypto == 1) { } } else { - - &print_def_file(*STDOUT,"SSLEAY",*ssl_list,@ssl_func) + my $err = 0; + $err += &print_def_file(*STDOUT,"SSLEAY",*ssl_list,@ssl_func) if $do_ssl == 1; - &print_def_file(*STDOUT,"LIBEAY",*crypto_list,@crypto_func) + $err += &print_def_file(*STDOUT,"LIBEAY",*crypto_list,@crypto_func) if $do_crypto == 1; - + exit($err); } @@ -290,6 +290,7 @@ sub print_def_file { (*OUT,my $name,*nums,@functions)=@_; my $n =1; + my $nodef=0; if ($W32) { $name.="32"; } @@ -329,14 +330,17 @@ EOF foreach $func (@functions) { if (!defined($nums{$func})) { - printf STDERR "$func does not have a number assigned\n" - if(!$do_update); + if(!$do_update) { + printf STDERR "$func does not have a number assigned\n"; + $nodef = 1; + } } else { $n=$nums{$func}; printf OUT " %s%-40s@%d\n",($W32)?"":"_",$func,$n; } } printf OUT "\n"; + return ($nodef); } sub load_numbers diff --git a/util/pl/Mingw32.pl b/util/pl/Mingw32.pl index f99b015aba..a47a961c27 100644 --- a/util/pl/Mingw32.pl +++ b/util/pl/Mingw32.pl @@ -1,12 +1,11 @@ #!/usr/local/bin/perl # -# unix.pl - the standard unix makefile stuff. +# Mingw32.pl -- Mingw32 with GNU cp (Mingw32f.pl uses DOS tools) # -# Need the Cygwin32 file utilities $o='/'; $cp='cp'; -$rm='rm'; +$rm='del'; # use 'rm -f' if using GNU file utilities $mkdir='gmkdir'; # gcc wouldn't accept backslashes in paths diff --git a/util/pl/Mingw32f.pl b/util/pl/Mingw32f.pl index d523d70153..8d8ad96f91 100644 --- a/util/pl/Mingw32f.pl +++ b/util/pl/Mingw32f.pl @@ -1,6 +1,6 @@ #!/usr/local/bin/perl # -# unix.pl - the standard unix makefile stuff. +# Mingw32f.pl -- copy files; Mingw32.pl is needed to do the compiling. # $o='\\'; |