Subject: [PATCH 0/5] autoconf: Fixes and improvements (was: What's in git.git)

From: Jakub Narebski <[email-masked]>
Date: Fri, 4 Aug 2006 23:33:18 +0200

Junio C Hamano wrote:

> (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).

Should be corrected by patches 1 and 3 by Junio C Hamano.
I had just not understood meaning of NEEDS_SSL_WITH_CRYPTO 
variable.

> (2) NO_STRLCPY is detected to be available by configure.  I
>     think we should update the default in Makefile.

Not adressed.

> (3) NEEDS_LIBICONV is found to be unnecessary by configure, but
>     the link fails like this without it:
>
>         builtin-mailinfo.o: In function `convert_to_utf8':
>         /git/builtin-mailinfo.c:539: undefined reference to
> `_libiconv_open' /git/builtin-mailinfo.c:560: undefined reference to
> `_libiconv' /git/builtin-mailinfo.c:561: undefined reference to
> `_libiconv_close' collect2: ld returned 1 exit status

Check if patch 2 corrects this error. Patch 5 does the same as patch 2 
for NEEDS_SOCKET due to cleanup during making this change.

> (4) NO_IPV6 is not detected yet -- you should be able to detect
>     this by checking for "struct addrinfo".  The compilation
>     fails like this on Cygwin:
>
>         connect.c: In function `git_tcp_connect_sock':
>         connect.c:361: error: storage size of 'hints' isn't known

Patch 4 adresses this. Perhas one of the checks can be dropped (leaving 
easier or faster one).

> (Z) When configure detects some NO_XXX is unneeded, currently
>     there is no way for generated config.mak.autogen to override
>     the default set in Makefile.  For example, NO_STRLCPY is set
>     by Makefile, and the included config.mak.autogen does not
>     say anything about it even though it knows strlcpy is
>     usable.  It might be better to explicitly undef unneeded
>     NO_XXX in config.mak.autogen?

Patch 5 tries to address this. Additionally it can be easily seen what 
was detested... but it is somewhat harder to see which variables are 
set among unset ones.

-- 
Jakub Narebski
Poland