threads / discuss / 20177

configure: is NEEDS_SSL_WITH_CRYPTO test correct?

Subject: configure: is NEEDS_SSL_WITH_CRYPTO test correct?

## tl;dr

4 messages between Jul 21, 2009 and Jul 22, 2009.

replies: 3people: 3as markdown or json

Brandon Casey· Jul 21, 2009, 15:29 UTC · lore
>From configure.ac, but re-nested:
AC_CHECK_LIB([crypto], [SHA1_Init],
   [NEEDS_SSL_WITH_CRYPTO=],
   [AC_CHECK_LIB([ssl], [SHA1_Init],
      [NEEDS_SSL_WITH_CRYPTO=YesPlease NEEDS_SSL_WITH_CRYPTO=],
      [NO_OPENSSL=YesPlease])])
should it rather be:
AC_CHECK_LIB([crypto], [SHA1_Init],
   [NEEDS_SSL_WITH_CRYPTO=],
   [AC_CHECK_LIB([ssl], [SHA1_Init],
      [NEEDS_SSL_WITH_CRYPTO=YesPlease],
      [NEEDS_SSL_WITH_CRYPTO= NO_OPENSSL=YesPlease])])

Notice the pairing of "action" parameters to the inner AC_CHECK_LIB(). The first one seems to set, and then unset NEEDS_SSL_WITH_CRYPTO. Not sure what is going on there. Was the unsetting of NEEDS_SSL_WITH_CRYPTO supposed to go into the action-if-not-found section?

-brandon
Junio C Hamano· Jul 21, 2009, 18:49 UTC · re: Brandon Casey · lore

Re: configure: is NEEDS_SSL_WITH_CRYPTO test correct?

Brandon Casey <brandon.casey.ctr@nrlssc.navy.mil> writes:
Show 7 quoted lines
> From configure.ac, but re-nested:
>
> AC_CHECK_LIB([crypto], [SHA1_Init],
>    [NEEDS_SSL_WITH_CRYPTO=],
>    [AC_CHECK_LIB([ssl], [SHA1_Init],
>       [NEEDS_SSL_WITH_CRYPTO=YesPlease NEEDS_SSL_WITH_CRYPTO=],
>       [NO_OPENSSL=YesPlease])])
Yuck.
Show 7 quoted lines
> should it rather be:
>
> AC_CHECK_LIB([crypto], [SHA1_Init],
>    [NEEDS_SSL_WITH_CRYPTO=],
>    [AC_CHECK_LIB([ssl], [SHA1_Init],
>       [NEEDS_SSL_WITH_CRYPTO=YesPlease],
>       [NEEDS_SSL_WITH_CRYPTO= NO_OPENSSL=YesPlease])])

We expect to find SHA1_Init in -lcrypto, and if we find it there we do not do anything funky. If we do not find it in -lcrypto, we try -lssl and if we find it then we know we do need -lssl when saying -lcrypto. Otherwise we do not seem to have OpenSSL.

That is how I read your version, and it makes perfect sense to me.
> Notice the pairing of "action" parameters to the inner AC_CHECK_LIB().
> The first one seems to set, and then unset NEEDS_SSL_WITH_CRYPTO.  Not
> sure what is going on there.  Was the unsetting of NEEDS_SSL_WITH_CRYPTO
> supposed to go into the action-if-not-found section?
Thanks.
Brandon Casey· Jul 22, 2009, 22:20 UTC · re: Junio C Hamano · lore

[PATCH] configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missing

From: Brandon Casey <drafnel@gmail.com>

The empty assignment NEEDS_SSL_WITH_CRYPTO= was mistakenly paired with the assignment NEEDS_SSL_WITH_CRYPTO=YesPlease in the "action-if-found" parameter of the AC_CHECK_LIB macro. The empty assignment was intended for the "action-if-not-found" section, since in that case, the necessary sha1 hash function was not found and the internal sha1 implementation will be used instead.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
If you haven't already fixed this, here's a patch to do so.
-brandon
 configure.ac |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index ba44cf2..3f1922d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -342,9 +342,8 @@ GIT_STASH_FLAGS($OPENSSLDIR)
 AC_CHECK_LIB([crypto], [SHA1_Init],
 [NEEDS_SSL_WITH_CRYPTO=],
 [AC_CHECK_LIB([ssl], [SHA1_Init],
- [NEEDS_SSL_WITH_CRYPTO=YesPlease
-  NEEDS_SSL_WITH_CRYPTO=],
- [NO_OPENSSL=YesPlease])])
+ [NEEDS_SSL_WITH_CRYPTO=YesPlease],
+ [NEEDS_SSL_WITH_CRYPTO= NO_OPENSSL=YesPlease])])
 
 GIT_UNSTASH_FLAGS($OPENSSLDIR)
 
-- 
1.6.3.1.24.g152f4
Brandon Casey· Jul 22, 2009, 22:20 UTC · re: Junio C Hamano · lore

[PATCH] configure.ac: properly unset NEEDS_SSL_WITH_CRYPTO when sha1 func is missing

From: Brandon Casey <drafnel@gmail.com>

The empty assignment NEEDS_SSL_WITH_CRYPTO= was mistakenly paired with the assignment NEEDS_SSL_WITH_CRYPTO=YesPlease in the "action-if-found" parameter of the AC_CHECK_LIB macro. The empty assignment was intended for the "action-if-not-found" section, since in that case, the necessary sha1 hash function was not found and the internal sha1 implementation will be used instead.

Signed-off-by: Brandon Casey <drafnel@gmail.com>
---
If you haven't already fixed this, here's a patch to do so.
-brandon
 configure.ac |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index ba44cf2..3f1922d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -342,9 +342,8 @@ GIT_STASH_FLAGS($OPENSSLDIR)
 AC_CHECK_LIB([crypto], [SHA1_Init],
 [NEEDS_SSL_WITH_CRYPTO=],
 [AC_CHECK_LIB([ssl], [SHA1_Init],
- [NEEDS_SSL_WITH_CRYPTO=YesPlease
-  NEEDS_SSL_WITH_CRYPTO=],
- [NO_OPENSSL=YesPlease])])
+ [NEEDS_SSL_WITH_CRYPTO=YesPlease],
+ [NEEDS_SSL_WITH_CRYPTO= NO_OPENSSL=YesPlease])])
 
 GIT_UNSTASH_FLAGS($OPENSSLDIR)
 
-- 
1.6.3.1.24.g152f4

← back to recent threads