From 38743b7d10cfacca3b1b74ba5edc2bb1cd277597 Mon Sep 17 00:00:00 2001 From: Ramsay Jones Date: Wed, 20 Jan 2010 19:25:51 +0000 Subject: 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 Acked-by: Sebastian Schuberth Signed-off-by: Junio C Hamano diff --git a/compat/vcbuild/scripts/clink.pl b/compat/vcbuild/scripts/clink.pl index 8a2112f..4374771 100644 --- a/compat/vcbuild/scripts/clink.pl +++ b/compat/vcbuild/scripts/clink.pl @@ -31,6 +31,7 @@ while (@ARGV) { push(@args, "iconv.lib"); } elsif ("$arg" eq "-lcrypto") { push(@args, "libeay32.lib"); + } elsif ("$arg" eq "-lssl") { push(@args, "ssleay32.lib"); } elsif ("$arg" =~ /^-L/ && "$arg" ne "-LTCG") { $arg =~ s/^-L/-LIBPATH:/; diff --git a/contrib/buildsystems/engine.pl b/contrib/buildsystems/engine.pl index 8f890fb..23da787 100644 --- a/contrib/buildsystems/engine.pl +++ b/contrib/buildsystems/engine.pl @@ -319,6 +319,7 @@ sub handleLinkLine push(@libs, "zlib.lib"); } elsif ("$part" eq "-lcrypto") { push(@libs, "libeay32.lib"); + } elsif ("$part" eq "-lssl") { push(@libs, "ssleay32.lib"); } elsif ($part =~ /^-/) { push(@lflags, $part); -- cgit v0.10.2-6-g49f6