Current git's configure script allow --without-<package>, it rightfully set NO_<PACKAGE> in the beginning of the configure script, but overwrite them with autodetect later. Respect them now. Change from v1: - Simply check if NO_<PACKAGE> is empty or not instead of explicitly check for YesPlease - --without-openssl will ignore libcrypto all-together and fallback into DC_SHA1 Đoàn Trần Công Danh (3): configure: respect --without-curl flag configure: respect --without-expat flag configure: respect --without-openssl flag configure.ac | 13 +++++++++++++ 1 file changed, 13 insertions(+) Interdiff against v1: diff --git a/configure.ac b/configure.ac index 20a11e1f32..807bb8bc5a 100644 --- a/configure.ac +++ b/configure.ac @@ -542,17 +542,18 @@ AC_MSG_NOTICE([CHECKS for libraries]) GIT_STASH_FLAGS($OPENSSLDIR) +if test -z "$NO_OPENSSL"; then AC_CHECK_LIB([crypto], [SHA1_Init], [NEEDS_SSL_WITH_CRYPTO=], -[ -if "x$NO_OPENSSL" = xYesPlease; then - AC_MSG_ERROR([Disabled OpenSSL is required for SHA1]) +[AC_CHECK_LIB([ssl], [SHA1_Init], + [NEEDS_SSL_WITH_CRYPTO=YesPlease NO_OPENSSL=], + [NEEDS_SSL_WITH_CRYPTO= NO_OPENSSL=YesPlease])]) else - AC_CHECK_LIB([ssl], [SHA1_Init], - [NEEDS_SSL_WITH_CRYPTO=YesPlease NO_OPENSSL=], - [NEEDS_SSL_WITH_CRYPTO= NO_OPENSSL=YesPlease]) + # Fallback to DC SHA1 + NEEDS_SSL_WITH_CRYPTO= + DC_SHA1=YesPlease + GIT_CONF_SUBST([DC_SHA1]) fi -]) GIT_UNSTASH_FLAGS($OPENSSLDIR) @@ -598,17 +599,19 @@ fi # git-http-push are not built, and you cannot use http:// and https:// # transports. -# Respect --without-curl -if test "x$NO_CURL" != "xYesPlease"; then - GIT_STASH_FLAGS($CURLDIR) +# Respect --without-curl +if test -z "$NO_CURL"; then AC_CHECK_LIB([curl], [curl_global_init], [NO_CURL=], [NO_CURL=YesPlease]) +fi GIT_UNSTASH_FLAGS($CURLDIR) +GIT_CONF_SUBST([NO_CURL]) + if test -z "$NO_CURL"; then AC_CHECK_PROG([CURL_CONFIG], [curl-config], @@ -629,27 +632,22 @@ fi fi -fi - -GIT_CONF_SUBST([NO_CURL]) # # Define NO_EXPAT if you do not have expat installed. git-http-push is # not built, and you cannot push using http:// and https:// transports. -# Respect --without-expat -if test "x$NO_EXPAT" != xYesPlease; then - GIT_STASH_FLAGS($EXPATDIR) +# Respect --without-expat +if test -z "$NO_EXPAT"; then AC_CHECK_LIB([expat], [XML_ParserCreate], [NO_EXPAT=], [NO_EXPAT=YesPlease]) +fi GIT_UNSTASH_FLAGS($EXPATDIR) -fi - GIT_CONF_SUBST([NO_EXPAT]) # -- 2.26.0.rc2.234.g969ad452ca