msvc: Fix an "unrecognized option" linker warning
Having recently added support for building git-imap-send on
Windows, we now link against OpenSSL libraries, and the linker
issues the following warning:
    warning LNK4044: unrecognized option '/lssl'; ignored
In order to suppress the warning, we change the msvc linker
script to translate an '-lssl' parameter to the ssleay32.lib
library.
Note that the linker script was already including ssleay32.lib
(along with libeay32.lib) as part of the translation of the
'-lcrypto' library parameter.  However, libeay32.dll does not
depend on ssleay32.dll and can be used stand-alone, so we remove
ssleay32.lib from the '-lcrypto' translation.
The dependence of ssleay32.dll on libeay32.dll is represented in
the Makefile by the NEEDS_CRYPTO_WITH_SSL build variable.
Also, add the corresponding change to the buildsystem generator.
Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk>
Acked-by: Sebastian Schuberth <sschuberth@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
			
			
				maint
			
			
		
							parent
							
								
									459a18864f
								
							
						
					
					
						commit
						38743b7d10
					
				|  | @ -31,6 +31,7 @@ while (@ARGV) { | ||||||
| 		push(@args, "iconv.lib"); | 		push(@args, "iconv.lib"); | ||||||
| 	} elsif ("$arg" eq "-lcrypto") { | 	} elsif ("$arg" eq "-lcrypto") { | ||||||
| 		push(@args, "libeay32.lib"); | 		push(@args, "libeay32.lib"); | ||||||
|  | 	} elsif ("$arg" eq "-lssl") { | ||||||
| 		push(@args, "ssleay32.lib"); | 		push(@args, "ssleay32.lib"); | ||||||
| 	} elsif ("$arg" =~ /^-L/ && "$arg" ne "-LTCG") { | 	} elsif ("$arg" =~ /^-L/ && "$arg" ne "-LTCG") { | ||||||
| 		$arg =~ s/^-L/-LIBPATH:/; | 		$arg =~ s/^-L/-LIBPATH:/; | ||||||
|  |  | ||||||
|  | @ -319,6 +319,7 @@ sub handleLinkLine | ||||||
|             push(@libs, "zlib.lib"); |             push(@libs, "zlib.lib"); | ||||||
| 	} elsif ("$part" eq "-lcrypto") { | 	} elsif ("$part" eq "-lcrypto") { | ||||||
|             push(@libs, "libeay32.lib"); |             push(@libs, "libeay32.lib"); | ||||||
|  |         } elsif ("$part" eq "-lssl") { | ||||||
|             push(@libs, "ssleay32.lib"); |             push(@libs, "ssleay32.lib"); | ||||||
|         } elsif ($part =~ /^-/) { |         } elsif ($part =~ /^-/) { | ||||||
|             push(@lflags, $part); |             push(@lflags, $part); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Ramsay Jones
						Ramsay Jones