зеркало из https://github.com/microsoft/git.git
Improve accuracy of check for presence of deflateBound.
ZLIB_VERNUM isn't defined in some zlib versions, so this patch does a proper linking test in autoconf to see whether deflateBound exists in zlib. Also, setting NO_DEFLATE_BOUND will also work for folk not using autoconf. Signed-off-by: David Symonds <dsymonds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
6d0618a820
Коммит
609a2289d7
6
Makefile
6
Makefile
|
@ -94,6 +94,8 @@ all::
|
|||
# Define OLD_ICONV if your library has an old iconv(), where the second
|
||||
# (input buffer pointer) parameter is declared with type (const char **).
|
||||
#
|
||||
# Define NO_DEFLATE_BOUND if your zlib does not have deflateBound.
|
||||
#
|
||||
# Define NO_R_TO_GCC_LINKER if your gcc does not like "-R/path/lib"
|
||||
# that tells runtime paths to dynamic libraries;
|
||||
# "-Wl,-rpath=/path/lib" is used instead.
|
||||
|
@ -637,6 +639,10 @@ ifdef OLD_ICONV
|
|||
BASIC_CFLAGS += -DOLD_ICONV
|
||||
endif
|
||||
|
||||
ifdef NO_DEFLATE_BOUND
|
||||
BASIC_CFLAGS += -DNO_DEFLATE_BOUND
|
||||
endif
|
||||
|
||||
ifdef PPC_SHA1
|
||||
SHA1_HEADER = "ppc/sha1.h"
|
||||
LIB_OBJS += ppc/sha1.o ppc/sha1ppc.o
|
||||
|
|
2
cache.h
2
cache.h
|
@ -6,7 +6,7 @@
|
|||
#include SHA1_HEADER
|
||||
#include <zlib.h>
|
||||
|
||||
#if ZLIB_VERNUM < 0x1200
|
||||
#if defined(NO_DEFLATE_BOUND) || ZLIB_VERNUM < 0x1200
|
||||
#define deflateBound(c,s) ((s) + (((s) + 7) >> 3) + (((s) + 63) >> 6) + 11)
|
||||
#endif
|
||||
|
||||
|
|
|
@ -38,3 +38,4 @@ NO_STRCASESTR=@NO_STRCASESTR@
|
|||
NO_STRLCPY=@NO_STRLCPY@
|
||||
NO_SETENV=@NO_SETENV@
|
||||
NO_ICONV=@NO_ICONV@
|
||||
NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@
|
||||
|
|
20
configure.ac
20
configure.ac
|
@ -182,6 +182,26 @@ AC_SUBST(NEEDS_LIBICONV)
|
|||
AC_SUBST(NO_ICONV)
|
||||
test -n "$NEEDS_LIBICONV" && LIBS="$LIBS -liconv"
|
||||
#
|
||||
# Define NO_DEFLATE_BOUND if deflateBound is missing from zlib.
|
||||
AC_DEFUN([ZLIBTEST_SRC], [
|
||||
#include <zlib.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
deflateBound(0, 0);
|
||||
return 0;
|
||||
}
|
||||
])
|
||||
AC_MSG_CHECKING([for deflateBound in -lz])
|
||||
old_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lz"
|
||||
AC_LINK_IFELSE(ZLIBTEST_SRC,
|
||||
[AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])
|
||||
NO_DEFLATE_BOUND=yes])
|
||||
LIBS="$old_LIBS"
|
||||
AC_SUBST(NO_DEFLATE_BOUND)
|
||||
#
|
||||
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
|
||||
# Patrick Mauritz).
|
||||
AC_CHECK_LIB([c], [socket],
|
||||
|
|
Загрузка…
Ссылка в новой задаче