Skip to content

autoconf: Fixes and improvements (was: What's in git.git)

Jakub Narebski git 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest5 patches 0 repliesNew

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/5autoconf: typofix to detect SHA1_Init in -lcryptoconfigure.ac+0 -00 replies
2/5autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libcconfigure.ac+1 -20 replies
3/5autoconf: Fix NEEDS_SSL_WITH_CRYPTO detectionconfigure.ac+2 -20 replies
4/5autoconf: Double check for IPv6 supportconfigure.ac+11 -20 replies
5/5autoconf: Unset NO_STH and NEED_STH when it is detected not neededconfigure.ac+33 -160 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/5] autoconf: Fixes and improvements (was: What's in git.git)
Quoted 10 lines · Junio C Hamano

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

Quoted 2 lines

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

Not adressed.

Quoted 8 lines

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

Quoted 6 lines

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

Quoted 7 lines

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

Signature · 2 lines
Jakub Narebski
Poland