Junio C Hamano <junkio@xxxxxxx> writes: > (1) configure misdetects NO_OPENSSL. The relevant parts are: > > checking for SHA1_Init in -lssl... no > checking for SHA1_INIT in -lcrypto... no > > but I've been building git on Cygwin without NO_OPENSSL (eh, > that's double negation -- what I mean is I've been building > git with -lssl just fine). I think the function to check in > -lcrypto should be SHA1_Init, not SHA1_INIT (trivial patch > attached at the end). I just noticed that this is not enough. It does fix the NO_OPENSSL problem, but I think the logic and test for ssl and crypto in the original are the other way around. NEEDS_SSL_WITH_CRYPTO means you cannot just say "-lcrypto" to use SHA1 stuff, but need to say "-lcrypto -lssl", so the test should say "if we can get away with -lcrypto, we are happy, otherwise if we need -lssl, then say NEEDS_SSL_WITH_CRYPTO, otherwise we cannot use OpenSSL so say NO_OPENSSL", or something like that. -- >8 -- diff --git a/configure.ac b/configure.ac index 9ce00e9..fea18b6 100644 --- a/configure.ac +++ b/configure.ac @@ -154,8 +154,8 @@ AC_MSG_NOTICE([CHECKS for libraries]) # # Define NO_OPENSSL environment variable if you do not have OpenSSL. # Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin). -AC_CHECK_LIB([ssl], [SHA1_Init],[], -[AC_CHECK_LIB([crypto], [SHA1_INIT], +AC_CHECK_LIB([crypto], [SHA1_Init],[], +[AC_CHECK_LIB([ssl], [SHA1_Init], [GIT_CONF_APPEND_LINE(NEEDS_SSL_WITH_CRYPTO=YesPlease)], [GIT_CONF_APPEND_LINE(NO_OPENSSL=YesPlease)])]) # - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html