Merge branch 'jn/conf' into next

* jn/conf:
  autoconf: NO_IPV6
  autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc
  autoconf: fix NEEDS_SSL_WITH_CRYPTO
  Copy description of new build configuration variables to configure.ac
  autoconf: Typo cleanup, reordering etc.
  autoconf: Check for ll hh j z t size specifiers introduced by C99
This commit is contained in:
Junio C Hamano
2006-08-04 19:15:00 -07:00
2 changed files with 67 additions and 26 deletions

View File

@@ -22,7 +22,7 @@ all:
# Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.)
# do not support the 'size specifiers' introduced by C99, namely ll, hh,
# j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).
# some c compilers supported these specifiers prior to C99 as an extension.
# some C compilers supported these specifiers prior to C99 as an extension.
#
# Define NO_STRCASESTR if you don't have strcasestr.
#

View File

@@ -51,7 +51,7 @@ fi; \
## Site configuration
## --with-PACKAGE[=ARG] and --without-PACKAGE
#
# Define NO_SVN_TESTS if you want to skip time-consuming SVN interopability
# Define NO_SVN_TESTS if you want to skip time-consuming SVN interoperability
# tests. These tests take up a significant amount of the total test time
# but are not needed unless you plan to talk to SVN repos.
#
@@ -79,9 +79,38 @@ fi; \
# 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.
#
# Define NO_FINK if you are building on Darwin/Mac OS X, have Fink
# installed in /sw, but don't want GIT to link against any libraries
# installed there. If defined you may specify your own (or Fink's)
# include directories and library directories by defining CFLAGS
# and LDFLAGS appropriately.
#
# Define NO_DARWIN_PORTS if you are building on Darwin/Mac OS X,
# have DarwinPorts installed in /opt/local, but don't want GIT to
# link against any libraries installed there. If defined you may
# specify your own (or DarwinPort's) include directories and
# library directories by defining CFLAGS and LDFLAGS appropriately.
#
# Define NO_MMAP if you want to avoid mmap.
#
# Define NO_PYTHON if you want to loose all benefits of the recursive merge.
# Define SHELL_PATH to provide path to shell.
GIT_ARG_SET_PATH(shell)
#
# Define PERL_PATH to provide path to Perl.
GIT_ARG_SET_PATH(perl)
#
# Define NO_PYTHON if you want to lose all benefits of the recursive merge.
# Define PYTHON_PATH to provide path to Python.
AC_ARG_WITH(python,[AS_HELP_STRING([--with-python=PATH], [provide PATH to python])
AS_HELP_STRING([--no-python], [don't use python scripts])],
[if test "$withval" = "no"; then \
NO_PYTHON=YesPlease; \
elif test "$withval" != "yes"; then \
PYTHON_PATH=$withval; \
fi; \
])
AC_SUBST(NO_PYTHON)
AC_SUBST(PYTHON_PATH)
#
## --enable-FEATURE[=ARG] and --disable-FEATURE
# Define COLLISION_CHECK below if you believe that SHA1's
@@ -101,27 +130,13 @@ fi; \
## Checks for programs.
AC_MSG_NOTICE([CHECKS for programs])
#
GIT_ARG_SET_PATH(shell)
GIT_ARG_SET_PATH(perl)
AC_ARG_WITH(python,[AS_HELP_STRING([--with-python=PATH], [provide PATH to python])
AS_HELP_STRING([--no-python], [don't use python scripts])],
[if test "$withval" = "no"; then \
NO_PYTHON=YesPlease; \
elif test "$withval" != "yes"; then \
PYTHON_PATH=$withval; \
fi; \
])
AC_SUBST(NO_PYTHON)
AC_SUBST(PYTHON_PATH)
#
# Define NO_PYTHON if you want to lose all benefits of the recursive merge.
# Define PYTHON_PATH to provide path to Python.
AC_PROG_CC
#AC_PROG_INSTALL # needs install-sh or install.sh in sources
AC_CHECK_TOOL(AR, ar, :)
AC_CHECK_PROGS(TAR, [gtar tar])
#
# Define NO_PYTHON if you want to lose all benefits of the recursive merge.
# Define PYTHON_PATH to provide path to Python.
if test -z "$NO_PYTHON"; then
AC_PATH_PROGS(PYTHON_PATH, [python2.4 python2.3 python2 python])
if test -n "$PYTHON_PATH"; then
@@ -139,8 +154,8 @@ AC_MSG_NOTICE([CHECKS for libraries])
#
# Define NO_OPENSSL environment variable if you do not have OpenSSL.
# Define NEEDS_SSL_WITH_CRYPTO if you need -lcrypto with -lssl (Darwin).
AC_CHECK_LIB([ssl], [SHA1_Init],[],
[AC_CHECK_LIB([crypto], [SHA1_INIT],
AC_CHECK_LIB([crypto], [SHA1_Init],[],
[AC_CHECK_LIB([ssl], [SHA1_Init],
[GIT_CONF_APPEND_LINE(NEEDS_SSL_WITH_CRYPTO=YesPlease)],
[GIT_CONF_APPEND_LINE(NO_OPENSSL=YesPlease)])])
#
@@ -157,8 +172,7 @@ AC_CHECK_LIB([expat], [XML_ParserCreate],[],
#
# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
AC_CHECK_LIB([c], [iconv],[],
[AC_CHECK_LIB([iconv],[iconv],
[GIT_CONF_APPEND_LINE(NEEDS_LIBICONV=YesPlease)],[])])
[GIT_CONF_APPEND_LINE(NEEDS_LIBICONV=YesPlease)])
#
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
# Patrick Mauritz).
@@ -189,6 +203,35 @@ AC_CHECK_MEMBER(struct dirent.d_type,[],
AC_CHECK_TYPE(struct sockaddr_storage,[],
[GIT_CONF_APPEND_LINE(NO_SOCKADDR_STORAGE=YesPlease)],
[#include <netinet/in.h>])
# Define NO_IPV6 if you lack IPv6 support and getaddrinfo().
AC_CHECK_TYPE([struct addrinfo],[
AC_CHECK_FUNC([getaddrinfo],[],
[GIT_CONF_APPEND_LINE(NO_IPV6=YesPlease)])],[],[
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
])
#
# Define NO_C99_FORMAT if your formatted IO functions (printf/scanf et.al.)
# do not support the 'size specifiers' introduced by C99, namely ll, hh,
# j, z, t. (representing long long int, char, intmax_t, size_t, ptrdiff_t).
# some C compilers supported these specifiers prior to C99 as an extension.
AC_CACHE_CHECK(whether formatted IO functions support C99 size specifiers,
ac_cv_c_c99_format,
[# Actually git uses only %z (%zu) in alloc.c, and %t (%td) in mktag.c
AC_RUN_IFELSE(
[AC_LANG_PROGRAM([AC_INCLUDES_DEFAULT],
[[char buf[64];
if (sprintf(buf, "%lld%hhd%jd%zd%td", (long long int)1, (char)2, (intmax_t)3, (size_t)4, (ptrdiff_t)5) != 5)
exit(1);
else if (strcmp(buf, "12345"))
exit(2);]])],
[ac_cv_c_c99_format=yes],
[ac_cv_c_c99_format=no])
])
if test $ac_cv_c_c99_format = no; then
GIT_CONF_APPEND_LINE(NO_C99_FORMAT=YesPlease)
fi
## Checks for library functions.
@@ -209,8 +252,6 @@ AC_CHECK_FUNC(setenv,[],
#
# Define NO_MMAP if you want to avoid mmap.
#
# Define NO_IPV6 if you lack IPv6 support and getaddrinfo().
#
# Define NO_ICONV if your libc does not properly support iconv.