Commit Graph

26 Commits

Author SHA1 Message Date
Jakub Narebski
a20b4d899a autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
Add support for --with-openssl=PATH and --without-openssl,
--with-curl=PATH and --without-curl, --with-expat=PATH and
--without-expat ./configure options, each setting or unsetting
appropriate NO_PACKAGE and if called with argument also PACKAGEDIR
(of which only CURLDIR is documented in Makefile)

All above options are supported as override to autodetection; more to
come in the same style (override to autodetection), so moved the bulk
of comments for site configuration down.

Needs review by someone well versed in autoconf and m4.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-08 22:07:08 -07:00
Jakub Narebski
7b1e9d3d85 autoconf: It is --without-python, not --no-python
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-08 17:47:36 -07:00
Jakub Narebski
424adc50b7 autoconf: Move variables which we always set to config.mak.in
Move detected NO_STH and NEED_STH variables, which we always output,
either setting or unsetting (setting to empty string) to config.mak.in
and use setting appropriately named variables and doing AC_SUBST
instead of adding them via GIT_CONF_APPEND_LINE macro and
config.mak.append temporary file.

Variables which might and might not be set are still added via
config.mak.append; this include all STH_PATH variables.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-08 17:19:18 -07:00
Jakub Narebski
af6058cc2b autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling
Unset NO_PYTHON for --with-python without arguments, and when
PYTHON_PATH is set.  Do not check for PYTHON_PATH if it is set
via --with-python=PYTHON_PATH.  Prefer "python" over version
specific names such as "python2.4".

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-08 13:34:00 -07:00
Jakub Narebski
b52b1d433b autoconf: Error out on --without-shell and --without-perl
Error out on --without-shell/--with-shell=no and
--without-perl/--with-perl=no instead of just warning
and continuing.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-08 13:32:34 -07:00
Jakub Narebski
3900145ed7 autoconf: Add configure target to main Makefile
While at it fill git version information in configure.ac
configure target needs autoconf, of course.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-08 13:32:04 -07:00
Jakub Narebski
d5c31a1ccf autoconf: Unset NO_STH and NEED_STH when it is detected not needed
When configure detects some NO_XXX or NEEDS_XXX is unneeded, unset
this variable (actually set it to empty string).  This allow
autodetection to override the default set in Makefile.

[jc: while at it fixed a thinko in IPv6 detection.]

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-07 01:22:13 -07:00
Junio C Hamano
8c6ab35efe autoconf: NO_IPV6
We would need both "struct addrinfo" and getaddrinfo()
available.  Check them and set NO_IPV6 otherwise.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 16:46:16 -07:00
Jakub Narebski
f7b5e8d03a autoconf: Set NEEDS_LIBICONV unconditionally if there is no iconv in libc
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 16:34:30 -07:00
Junio C Hamano
3068f6c47d autoconf: fix NEEDS_SSL_WITH_CRYPTO
NEEDS_SSL_WITH_CRYPTO means you cannot just say "-lcrypto" to
use SHA1 stuff, but need to say "-lcrypto -lssl".

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 16:33:18 -07:00
Jakub Narebski
34d4a67f47 Copy description of new build configuration variables to configure.ac
Copy description of new build configuration variables from the
commentary in the top Makefile, namely NO_FINK and NO_DARWIN_PORTS
configuration variables, putting them in site configuration section.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 11:55:42 -07:00
Jakub Narebski
465e649d0c autoconf: Typo cleanup, reordering etc.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 11:53:13 -07:00
Jakub Narebski
656517b9ef autoconf: Check for ll hh j z t size specifiers introduced by C99
Add custom test for checking whether formatted IO functions
(printf/scanf et.al.) support 'size specifiers' introduced by C99,
namely ll, hh, j, z, t. (representing long long int, char, intmax_t,
size_t, ptrdiff_t).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-04 11:46:27 -07:00
Jakub Narebski
eb858c56cb autoconf: Add support for setting PYTHON_PATH or NO_PYTHON
This patch adds support for setting either PYTHON_PATH or NO_PYTHON to
autoconf generated ./configure script via --with-python=PATH (sets
PYTHON_PATH) or --without-python (sets NO_PYTHON).  Autodetect
PYTHON_PATH via AC_PATH_PROGS.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 17:16:41 -07:00
Jakub Narebski
c4b1b1401c autoconf: Move site configuration section earlier in configure.ac
Move site configuration section, i.e. --with-PACKAGE[=ARG] and
--without-PACKAGE, --enable-FEATURE[=ARG] and --disable-FEATURE
options to the beginning of configure.ac file, just after definitions
of macros.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 17:16:40 -07:00
Jakub Narebski
657b062dba autoconf: Add support for setting SHELL_PATH and PERL_PATH
This patch adds support for setting SHELL_PATH and PERL_PATH to
autoconf generated ./configure script via --with-shell=PATH and
--with-perl=PATH options.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-08-02 17:16:40 -07:00
Pavel Roskin
66142aa1f5 Quote all calls to GIT_CONF_APPEND_LINE
Not quoting macro arguments that contain other macros is a big no-no in
Autoconf.  It can break at any time.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-14 22:33:10 -07:00
Pavel Roskin
81d0e51e28 Typofix in configure.ac comment.
[jc: copied from Makefile typofix in "master"]

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:47:31 -07:00
Jakub Narebski
f671957206 configure.ac vertical whitespace usage cleanup
configure.ac |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:20:59 -07:00
Jakub Narebski
fd22c0271b autoconf: Checks for some programs
./configure script checks now for the following programs:
 * CC  - using AC_PROG_CC
 * AR  - using AC_CHECK_TOOL among ar
 * TAR - among gtar, tar

Checks not implemented:
 * INSTALL  - needs install-sh or install.sh in sources
 * RPMBUILD - not known alternatives for rpmbuild
 * PYTHON   - no PYTHON variable in Makefile,
              has to set NO_PYTHON if not present

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:20:57 -07:00
Jakub Narebski
ebdf53210c autoconf: Checks for libraries
./configure script checks now if the following libraries are present:
 * -lssl    for SHA1_Init (NO_OPENSSL)
 * -lcurl   for curl_easy_setopt (NO_CURL)
 * -lexpat  for XML_ParserCreate (NO_EXPAT)
It also checks if adding the following libraries are needed:
 * -lcrypto for SHA1_Init (NEEDS_SSL_WITH_CRYPTO)
 * -liconv  for iconv (NEEDS_LIBICONV)
 * -lsocket for socket (NEEDS_SOCKET)

Policy: we check also if NEEDS_LIBRARY libraries are present, even if
there is no NO_LIBRARY variable.

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:20:54 -07:00
Jakub Narebski
1bbbadbc2c autoconf: Checks for some library functions.
./configure script checks now for the following library functions:
 * strcasestr (NO_STRCASESTR)
 * strlcpy (NO_STRLCPY)
 * setenv (NO_SETENV)
in default C library and in libraries which have AC_CHECK_LIB done for
them.

Checks not implemented:
 * NO_MMAP  - probably only via optional features configuration
 * NO_IPV6  - what does "lack IPv6 support" mean?
 * NO_ICONV - what does "properly support iconv" mean?

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:20:47 -07:00
Jakub Narebski
eb0f255d61 autoconf: Checks for typedefs, structures, and compiler characteristics.
./configure script checks now for existence of the following types,
structures, and structure members:
 * dirent.d_ino  in <dirent.h> (NO_D_INO_IN_DIRENT)
 * dirent.d_type in <dirent.h> (NO_D_TYPE_IN_DIRENT)
 * 'struct sockaddr_storage' in <netinet/in.h> (NO_SOCKADDR_STORAGE)

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:20:40 -07:00
Jakub Narebski
d3a6db9811 autoconf: Preparing the way for autodetection
Prepares configure.ac to output autodetected and selected (by using
--with/--without and --enable/disable parameters to generated
./configure script) building configuration in "git style", i.e. by
appending appropriate variables to output file config.mak.autogen
(via temporary file config.mak.append).

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:20:32 -07:00
Jakub Narebski
633b423961 Copy description of build configuration variables to configure.ac
Copy description of build configuration variables from the commentary
in the top Makefile (from 'next' branch) to configure.ac, splitting
them into "autoconf" sections.

This is to be able to easily check which build/install configuration
variables are covered by current configure.ac

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-09 02:19:38 -07:00
Jakub Narebski
556677144b autoconf: Use autoconf to write installation directories to config.mak.autogen
This is beginning of patch series introducing installation configuration
using autoconf (and no other autotools) to git. The idea is to generate
config.mak.autogen using ./configure (generated from configure.ac by running
autoconf) from config.mak.in, so one can use autoconf as an _alternative_ to
ordinary Makefile, and creating one's own config.mak. Local settings in
config.mak override generated settings in config.mak.autogen

This patch includes minimal configure.ac and config.mak.in, so one can set
installation directories using autoconf generated ./configure script
e.g. ./configure --prefix=/usr

Signed-off-by: Jakub Narebski <jnareb@gmail.com>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-07-02 17:11:52 -07:00