* [PATCH 0/4] autoconf: Some improvements
@ 2006-08-08 16:34 Jakub Narebski
2006-08-08 16:35 ` [PATCH 1/4] autoconf: Add configure target to main Makefile Jakub Narebski
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 16:34 UTC (permalink / raw)
To: git
This series of patches, based on next branch
(commit id: 45c5baf2f082dd5f537f043f7637bff87db515e8)
introduces few minor improvements, and one (last) larger,
following
"autoconf: Unset NO_STH and NEED_STH when it is detected not needed"
* [PATCH 1/4] autoconf: Add configure target to main Makefile
* [PATCH 2/4] autoconf: Error out on --without-shell and --without-perl
* [PATCH 3/4] autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling
* [PATCH 4/4] autoconf: Move variables which we always set
to config.mak.in
--
Jakub Narebski
Poland
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/4] autoconf: Add configure target to main Makefile
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
@ 2006-08-08 16:35 ` Jakub Narebski
2006-08-08 16:48 ` [PATCH 5/4] autoconf: Mention "make configure" instead of "autoconf" in INSTALL Jakub Narebski
2006-08-08 16:36 ` [PATCH 2/4] autoconf: Error out on --without-shell and --without-perl Jakub Narebski
` (5 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 16:35 UTC (permalink / raw)
To: git
While at it fill git version information in configure.ac
configure target needs autoconf, of course.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
This will make testing autoconf improvements easier
Makefile | 7 +++++++
configure.ac | 2 +-
2 files changed, 8 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index 8c225e6..321267b 100644
--- a/Makefile
+++ b/Makefile
@@ -676,6 +676,13 @@ git-instaweb: git-instaweb.sh gitweb/git
chmod +x $@+
mv $@+ $@
+configure: configure.ac
+ rm -f $@ $<+
+ sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
+ $< > $<+
+ autoconf -o $@ $<+
+ rm -f $<+
+
# These can record GIT_VERSION
git$X git.spec \
$(patsubst %.sh,%,$(SCRIPT_SH)) \
diff --git a/configure.ac b/configure.ac
index 3c56cc5..e2da891 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@ #
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT([git], [1.4.1], [git@vger.kernel.org])
+AC_INIT([git], [@@GIT_VERSION@@], [git@vger.kernel.org])
AC_CONFIG_SRCDIR([git.c])
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/4] autoconf: Error out on --without-shell and --without-perl
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
2006-08-08 16:35 ` [PATCH 1/4] autoconf: Add configure target to main Makefile Jakub Narebski
@ 2006-08-08 16:36 ` Jakub Narebski
2006-08-08 16:38 ` [PATCH 3/4] autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling Jakub Narebski
` (4 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 16:36 UTC (permalink / raw)
To: git
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>
---
It's a matter of taste (and not doing unexpected)
configure.ac | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index e2da891..c2ddd9b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,7 +37,7 @@ # Used by GIT_ARG_SET_PATH(PROGRAM)
AC_DEFUN([GIT_CONF_APPEND_PATH],
[PROGRAM=m4_toupper($1); \
if test "$withval" = "no"; then \
- AC_MSG_WARN([You cannot use git without $1]); \
+ AC_MSG_ERROR([You cannot use git without $1]); \
else \
if test "$withval" = "yes"; then \
AC_MSG_WARN([You should provide path for --with-$1=PATH]); \
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/4] autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
2006-08-08 16:35 ` [PATCH 1/4] autoconf: Add configure target to main Makefile Jakub Narebski
2006-08-08 16:36 ` [PATCH 2/4] autoconf: Error out on --without-shell and --without-perl Jakub Narebski
@ 2006-08-08 16:38 ` Jakub Narebski
2006-08-08 16:39 ` [PATCH 4/4] autoconf: Move variables which we always set to config.mak.in Jakub Narebski
` (3 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 16:38 UTC (permalink / raw)
To: git
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 to python2.4 etc.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
What might be unexpected is the fact that even for --with-python
(but only without setting PYTHON_PATH) autodetection might set NO_PYTHON
configure.ac | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index c2ddd9b..c27a994 100644
--- a/configure.ac
+++ b/configure.ac
@@ -105,7 +105,10 @@ AC_ARG_WITH(python,[AS_HELP_STRING([--wi
AS_HELP_STRING([--no-python], [don't use python scripts])],
[if test "$withval" = "no"; then \
NO_PYTHON=YesPlease; \
- elif test "$withval" != "yes"; then \
+ elif test "$withval" = "yes"; then \
+ NO_PYTHON=; \
+ else \
+ NO_PYTHON=; \
PYTHON_PATH=$withval; \
fi; \
])
@@ -138,15 +141,15 @@ #
# 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 -z "$PYTHON_PATH"; then
+ AC_PATH_PROGS(PYTHON_PATH, [python python2.4 python2.3 python2])
+ fi
if test -n "$PYTHON_PATH"; then
GIT_CONF_APPEND_LINE([PYTHON_PATH=@PYTHON_PATH@])
- else
- GIT_CONF_APPEND_LINE([NO_PYTHON=@NO_PYTHON@])
+ NO_PYTHON=""
fi
-else
- GIT_CONF_APPEND_LINE([NO_PYTHON=@NO_PYTHON@])
fi
+GIT_CONF_APPEND_LINE([NO_PYTHON=@NO_PYTHON@])
## Checks for libraries.
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/4] autoconf: Move variables which we always set to config.mak.in
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
` (2 preceding siblings ...)
2006-08-08 16:38 ` [PATCH 3/4] autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling Jakub Narebski
@ 2006-08-08 16:39 ` Jakub Narebski
2006-08-08 23:42 ` [PATCH 6/4] autoconf: Add forgotten NO_OPENSSL=@NO_OPENSSL@ " Jakub Narebski
2006-08-08 20:43 ` [PATCH] autoconf: clean temporary file mak.append Junio C Hamano
` (2 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 16:39 UTC (permalink / raw)
To: git
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>
---
This makes our configure.ac more typical.
config.mak.in | 15 +++++++++++
configure.ac | 75 +++++++++++++++++++++++++++++++++------------------------
2 files changed, 59 insertions(+), 31 deletions(-)
diff --git a/config.mak.in b/config.mak.in
index 04f508a..99b13a7 100644
--- a/config.mak.in
+++ b/config.mak.in
@@ -22,3 +22,18 @@ VPATH = @srcdir@
export exec_prefix mandir
export srcdir VPATH
+NO_PYTHON=@NO_PYTHON@
+NEEDS_SSL_WITH_CRYPTO=@NEEDS_SSL_WITH_CRYPTO@
+NO_CURL=@NO_CURL@
+NO_EXPAT=@NO_EXPAT@
+NEEDS_LIBICONV=@NEEDS_LIBICONV@
+NEEDS_SOCKET=@NEEDS_SOCKET@
+NO_D_INO_IN_DIRENT=@NO_D_INO_IN_DIRENT@
+NO_D_TYPE_IN_DIRENT=@NO_D_TYPE_IN_DIRENT@
+NO_SOCKADDR_STORAGE=@NO_SOCKADDR_STORAGE@
+NO_IPV6=@NO_IPV6@
+NO_C99_FORMAT=@NO_C99_FORMAT@
+NO_STRCASESTR=@NO_STRCASESTR@
+NO_STRLCPY=@NO_STRLCPY@
+NO_SETENV=@NO_SETENV@
+
diff --git a/configure.ac b/configure.ac
index c27a994..bc2824b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -149,7 +149,6 @@ if test -z "$NO_PYTHON"; then
NO_PYTHON=""
fi
fi
-GIT_CONF_APPEND_LINE([NO_PYTHON=@NO_PYTHON@])
## Checks for libraries.
@@ -158,35 +157,41 @@ #
# 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([crypto], [SHA1_Init],
-[GIT_CONF_APPEND_LINE(NEEDS_SSL_WITH_CRYPTO=)],
+[NEEDS_SSL_WITH_CRYPTO=],
[AC_CHECK_LIB([ssl], [SHA1_Init],
- [GIT_CONF_APPEND_LINE(NEEDS_SSL_WITH_CRYPTO=YesPlease)
- GIT_CONF_APPEND_LINE(NEEDS_SSL_WITH_CRYPTO=)],
- [GIT_CONF_APPEND_LINE(NO_OPENSSL=YesPlease)])])
+ [NEEDS_SSL_WITH_CRYPTO=YesPlease
+ NEEDS_SSL_WITH_CRYPTO=],
+ [NO_OPENSSL=YesPlease])])
+AC_SUBST(NEEDS_SSL_WITH_CRYPTO)
+AC_SUBST(NO_OPENSSL)
#
# Define NO_CURL if you do not have curl installed. git-http-pull and
# git-http-push are not built, and you cannot use http:// and https://
# transports.
AC_CHECK_LIB([curl], [curl_global_init],
-[GIT_CONF_APPEND_LINE(NO_CURL=)],
-[GIT_CONF_APPEND_LINE(NO_CURL=YesPlease)])
+[NO_CURL=],
+[NO_CURL=YesPlease])
+AC_SUBST(NO_CURL)
#
# 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.
AC_CHECK_LIB([expat], [XML_ParserCreate],
-[GIT_CONF_APPEND_LINE(NO_EXPAT=)],
-[GIT_CONF_APPEND_LINE(NO_EXPAT=YesPlease)])
+[NO_EXPAT=],
+[NO_EXPAT=YesPlease])
+AC_SUBST(NO_EXPAT)
#
# Define NEEDS_LIBICONV if linking with libc is not enough (Darwin).
AC_CHECK_LIB([c], [iconv],
-[GIT_CONF_APPEND_LINE(NEEDS_LIBICONV=)],
-[GIT_CONF_APPEND_LINE(NEEDS_LIBICONV=YesPlease)])
+[NEEDS_LIBICONV=],
+[NEEDS_LIBICONV=YesPlease])
+AC_SUBST(NEEDS_LIBICONV)
#
# Define NEEDS_SOCKET if linking with libc is not enough (SunOS,
# Patrick Mauritz).
AC_CHECK_LIB([c], [socket],
-[GIT_CONF_APPEND_LINE(NEEDS_SOCKET=)],
-[GIT_CONF_APPEND_LINE(NEEDS_SOCKET=YesPlease)])
+[NEEDS_SOCKET=],
+[NEEDS_SOCKET=YesPlease])
+AC_SUBST(NEEDS_SOCKET)
## Checks for header files.
@@ -197,33 +202,38 @@ AC_MSG_NOTICE([CHECKS for typedefs, stru
#
# Define NO_D_INO_IN_DIRENT if you don't have d_ino in your struct dirent.
AC_CHECK_MEMBER(struct dirent.d_ino,
-[GIT_CONF_APPEND_LINE(NO_D_INO_IN_DIRENT=)],
-[GIT_CONF_APPEND_LINE(NO_D_INO_IN_DIRENT=YesPlease)],
+[NO_D_INO_IN_DIRENT=],
+[NO_D_INO_IN_DIRENT=YesPlease],
[#include <dirent.h>])
+AC_SUBST(NO_D_INO_IN_DIRENT)
#
# Define NO_D_TYPE_IN_DIRENT if your platform defines DT_UNKNOWN but lacks
# d_type in struct dirent (latest Cygwin -- will be fixed soonish).
AC_CHECK_MEMBER(struct dirent.d_type,
-[GIT_CONF_APPEND_LINE(NO_D_TYPE_IN_DIRENT=)],
-[GIT_CONF_APPEND_LINE(NO_D_TYPE_IN_DIRENT=YesPlease)],
+[NO_D_TYPE_IN_DIRENT=],
+[NO_D_TYPE_IN_DIRENT=YesPlease],
[#include <dirent.h>])
+AC_SUBST(NO_D_TYPE_IN_DIRENT)
#
# Define NO_SOCKADDR_STORAGE if your platform does not have struct
# sockaddr_storage.
AC_CHECK_TYPE(struct sockaddr_storage,
-[GIT_CONF_APPEND_LINE(NO_SOCKADDR_STORAGE=)],
-[GIT_CONF_APPEND_LINE(NO_SOCKADDR_STORAGE=YesPlease)],
+[NO_SOCKADDR_STORAGE=],
+[NO_SOCKADDR_STORAGE=YesPlease],
[#include <netinet/in.h>])
+AC_SUBST(NO_SOCKADDR_STORAGE)
+#
# 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=)],
- [GIT_CONF_APPEND_LINE(NO_IPV6=YesPlease)])
-],[GIT_CONF_APPEND_LINE(NO_IPV6=YesPlease)],[
+ [NO_IPV6=],
+ [NO_IPV6=YesPlease])
+],[NO_IPV6=YesPlease],[
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
])
+AC_SUBST(NO_IPV6)
#
# 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,
@@ -243,11 +253,11 @@ AC_RUN_IFELSE(
[ac_cv_c_c99_format=no])
])
if test $ac_cv_c_c99_format = no; then
- GIT_CONF_APPEND_LINE(NO_C99_FORMAT=YesPlease)
+ NO_C99_FORMAT=YesPlease
else
- GIT_CONF_APPEND_LINE(NO_C99_FORMAT=)
+ NO_C99_FORMAT=
fi
-
+AC_SUBST(NO_C99_FORMAT)
## Checks for library functions.
## (in default C library and libraries checked by AC_CHECK_LIB)
@@ -255,18 +265,21 @@ AC_MSG_NOTICE([CHECKS for library functi
#
# Define NO_STRCASESTR if you don't have strcasestr.
AC_CHECK_FUNC(strcasestr,
-[GIT_CONF_APPEND_LINE(NO_STRCASESTR=)],
-[GIT_CONF_APPEND_LINE(NO_STRCASESTR=YesPlease)])
+[NO_STRCASESTR=],
+[NO_STRCASESTR=YesPlease])
+AC_SUBST(NO_STRCASESTR)
#
# Define NO_STRLCPY if you don't have strlcpy.
AC_CHECK_FUNC(strlcpy,
-[GIT_CONF_APPEND_LINE(NO_STRLCPY=)],
-[GIT_CONF_APPEND_LINE(NO_STRLCPY=YesPlease)])
+[NO_STRLCPY=],
+[NO_STRLCPY=YesPlease])
+AC_SUBST(NO_STRLCPY)
#
# Define NO_SETENV if you don't have setenv in the C library.
AC_CHECK_FUNC(setenv,
-[GIT_CONF_APPEND_LINE(NO_SETENV=)],
-[GIT_CONF_APPEND_LINE(NO_SETENV=YesPlease)])
+[NO_SETENV=],
+[NO_SETENV=YesPlease])
+AC_SUBST(NO_SETENV)
#
# Define NO_MMAP if you want to avoid mmap.
#
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/4] autoconf: Mention "make configure" instead of "autoconf" in INSTALL
2006-08-08 16:35 ` [PATCH 1/4] autoconf: Add configure target to main Makefile Jakub Narebski
@ 2006-08-08 16:48 ` Jakub Narebski
0 siblings, 0 replies; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 16:48 UTC (permalink / raw)
To: git
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
Should be part of [PATCH 1/4] in this series (replied-to patch)
INSTALL | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/INSTALL b/INSTALL
index f8dfa19..0d432d7 100644
--- a/INSTALL
+++ b/INSTALL
@@ -16,7 +16,7 @@ install" would not work.
Alternatively you can use autoconf generated ./configure script to
set up install paths (via config.mak.autogen), so you can write instead
- $ autoconf ;# as yourself if ./configure doesn't exist yet
+ $ make configure ;# as yourself
$ ./configure --prefix=/usr ;# as yourself
$ make all doc ;# as yourself
# make install install-doc ;# as root
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH] autoconf: clean temporary file mak.append
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
` (3 preceding siblings ...)
2006-08-08 16:39 ` [PATCH 4/4] autoconf: Move variables which we always set to config.mak.in Jakub Narebski
@ 2006-08-08 20:43 ` Junio C Hamano
2006-08-08 20:58 ` Jakub Narebski
2006-08-09 0:15 ` [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR Jakub Narebski
2006-08-09 0:19 ` [PATCH 8] autoconf: It is --without-python, not --no-python Jakub Narebski
6 siblings, 1 reply; 15+ messages in thread
From: Junio C Hamano @ 2006-08-08 20:43 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git
When configure is interrupted in the middle it leaves
config.mak.append behind. Add it to .gitignore and make sure
$(MAKE) clean removes it.
Also earlier .gitignore listed config.mak.in which is a tracked
file. Fix it.
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
* on top of today's 5 series from you.
.gitignore | 2 +-
Makefile | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/.gitignore b/.gitignore
index fb0fa3f..6e973b3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -140,7 +140,7 @@ config.mak
autom4te.cache
config.log
config.status
-config.mak.in
config.mak.autogen
+config.mak.append
configure
git-blame
diff --git a/Makefile b/Makefile
index d8cc835..d4297c2 100644
--- a/Makefile
+++ b/Makefile
@@ -793,7 +793,7 @@ clean:
rm -f $(ALL_PROGRAMS) $(BUILT_INS) git$X
rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags
rm -rf autom4te.cache
- rm -f config.log config.mak.autogen configure config.status config.cache
+ rm -f configure config.log config.mak.autogen config.mak.append config.status config.cache
rm -rf $(GIT_TARNAME) .doc-tmp-dir
rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
rm -f $(htmldocs).tar.gz $(manpages).tar.gz
--
1.4.2.rc3.g45c5
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH] autoconf: clean temporary file mak.append
2006-08-08 20:43 ` [PATCH] autoconf: clean temporary file mak.append Junio C Hamano
@ 2006-08-08 20:58 ` Jakub Narebski
2006-08-08 21:35 ` Junio C Hamano
0 siblings, 1 reply; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 20:58 UTC (permalink / raw)
To: git
Junio C Hamano wrote:
> diff --git a/Makefile b/Makefile
> index d8cc835..d4297c2 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -793,7 +793,7 @@ clean:
> rm -f $(ALL_PROGRAMS) $(BUILT_INS) git$X
> rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags
> rm -rf autom4te.cache
> - rm -f config.log config.mak.autogen configure config.status config.cache
> + rm -f configure config.log config.mak.autogen config.mak.append config.status config.cache
> rm -rf $(GIT_TARNAME) .doc-tmp-dir
> rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
> rm -f $(htmldocs).tar.gz $(manpages).tar.gz
I didn't add configure to make clean, because there was hand-crafted
configure script in git.git.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH] autoconf: clean temporary file mak.append
2006-08-08 20:58 ` Jakub Narebski
@ 2006-08-08 21:35 ` Junio C Hamano
0 siblings, 0 replies; 15+ messages in thread
From: Junio C Hamano @ 2006-08-08 21:35 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git
Jakub Narebski <jnareb@gmail.com> writes:
> Junio C Hamano wrote:
>
>> diff --git a/Makefile b/Makefile
>> index d8cc835..d4297c2 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -793,7 +793,7 @@ clean:
>> rm -f $(ALL_PROGRAMS) $(BUILT_INS) git$X
>> rm -f *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h TAGS tags
>> rm -rf autom4te.cache
>> - rm -f config.log config.mak.autogen configure config.status config.cache
>> + rm -f configure config.log config.mak.autogen config.mak.append config.status config.cache
>> rm -rf $(GIT_TARNAME) .doc-tmp-dir
>> rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz
>> rm -f $(htmldocs).tar.gz $(manpages).tar.gz
>
> I didn't add configure to make clean, because there was hand-crafted
> configure script in git.git.
Did anybody ask who added 'configure'?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 6/4] autoconf: Add forgotten NO_OPENSSL=@NO_OPENSSL@ to config.mak.in
2006-08-08 16:39 ` [PATCH 4/4] autoconf: Move variables which we always set to config.mak.in Jakub Narebski
@ 2006-08-08 23:42 ` Jakub Narebski
0 siblings, 0 replies; 15+ messages in thread
From: Jakub Narebski @ 2006-08-08 23:42 UTC (permalink / raw)
To: git
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
Or just correct previous patch, instead.
config.mak.in | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/config.mak.in b/config.mak.in
index 99b13a7..369e611 100644
--- a/config.mak.in
+++ b/config.mak.in
@@ -24,6 +24,7 @@ export srcdir VPATH
NO_PYTHON=@NO_PYTHON@
NEEDS_SSL_WITH_CRYPTO=@NEEDS_SSL_WITH_CRYPTO@
+NO_OPENSSL=@NO_OPENSSL@
NO_CURL=@NO_CURL@
NO_EXPAT=@NO_EXPAT@
NEEDS_LIBICONV=@NEEDS_LIBICONV@
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
` (4 preceding siblings ...)
2006-08-08 20:43 ` [PATCH] autoconf: clean temporary file mak.append Junio C Hamano
@ 2006-08-09 0:15 ` Jakub Narebski
2006-08-10 10:50 ` Jakub Narebski
2006-08-09 0:19 ` [PATCH 8] autoconf: It is --without-python, not --no-python Jakub Narebski
6 siblings, 1 reply; 15+ messages in thread
From: Jakub Narebski @ 2006-08-09 0:15 UTC (permalink / raw)
To: git
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>
---
With this patch current autoconf generated ./configure script can
do everything the first abandoned (rewritten) version could...
and much, much more.
configure.ac | 158 +++++++++++++++++++++++++++++++++++++---------------------
1 files changed, 101 insertions(+), 57 deletions(-)
diff --git a/configure.ac b/configure.ac
index bc2824b..ae56462 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,53 +46,29 @@ else \
fi; \
fi; \
]) # GIT_CONF_APPEND_PATH
+#
+# GIT_PARSE_WITH(PACKAGE)
+# -----------------------
+# For use in AC_ARG_WITH action-if-found, for packages default ON.
+# * Set NO_PACKAGE=YesPlease for --without-PACKAGE
+# * Set PACKAGEDIR=PATH for --with-PACKAGE=PATH
+# * Unset NO_PACKAGE for --with-PACKAGE without ARG
+AC_DEFUN([GIT_PARSE_WITH],
+[PACKAGE=m4_toupper($1); \
+if test "$withval" = "no"; then \
+ m4_toupper(NO_$1)=YesPlease; \
+elif test "$withval" = "yes"; then \
+ m4_toupper(NO_$1)=; \
+else \
+ m4_toupper(NO_$1)=; \
+ GIT_CONF_APPEND_LINE(${PACKAGE}DIR=$withval); \
+fi \
+])# GIT_PARSE_WITH
-## Site configuration
+## Site configuration related to programs (before tests)
## --with-PACKAGE[=ARG] and --without-PACKAGE
#
-# 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.
-#
-# Define MOZILLA_SHA1 environment variable when running make to make use of
-# a bundled SHA1 routine coming from Mozilla. It is GPL'd and should be fast
-# on non-x86 architectures (e.g. PowerPC), while the OpenSSL version (default
-# choice) has very fast version optimized for i586.
-#
-# Define PPC_SHA1 environment variable when running make to make use of
-# a bundled SHA1 routine optimized for PowerPC.
-#
-# Define ARM_SHA1 environment variable when running make to make use of
-# a bundled SHA1 routine optimized for ARM.
-#
-# Define NO_OPENSSL environment variable if you do not have OpenSSL.
-# This also implies MOZILLA_SHA1.
-#
-# Define NO_CURL if you do not have curl installed. git-http-pull and
-# git-http-push are not built, and you cannot use http:// and https://
-# transports.
-#
-# Define CURLDIR=/foo/bar if your curl header and library files are in
-# /foo/bar/include and /foo/bar/lib directories.
-#
-# 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 SHELL_PATH to provide path to shell.
GIT_ARG_SET_PATH(shell)
#
@@ -114,20 +90,6 @@ AS_HELP_STRING([--no-python], [don't use
])
AC_SUBST(NO_PYTHON)
AC_SUBST(PYTHON_PATH)
-#
-## --enable-FEATURE[=ARG] and --disable-FEATURE
-# Define COLLISION_CHECK below if you believe that SHA1's
-# 1461501637330902918203684832716283019655932542976 hashes do not give you
-# sufficient guarantee that no collisions between objects will ever happen.
-#
-# Define USE_NSEC below if you want git to care about sub-second file mtimes
-# and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and
-# it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely
-# randomly break unless your underlying filesystem supports those sub-second
-# times (my ext3 doesn't).
-#
-# Define USE_STDEV below if you want git to care about the underlying device
-# change being considered an inode change from the update-cache perspective.
## Checks for programs.
@@ -259,6 +221,7 @@ else
fi
AC_SUBST(NO_C99_FORMAT)
+
## Checks for library functions.
## (in default C library and libraries checked by AC_CHECK_LIB)
AC_MSG_NOTICE([CHECKS for library functions])
@@ -299,6 +262,87 @@ # Define NO_ACCURATE_DIFF if your diff p
# a missing newline at the end of the file.
+## Site configuration (override autodetection)
+## --with-PACKAGE[=ARG] and --without-PACKAGE
+AC_MSG_NOTICE([CHECKS for site configuration])
+#
+# 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.
+#
+# Define MOZILLA_SHA1 environment variable when running make to make use of
+# a bundled SHA1 routine coming from Mozilla. It is GPL'd and should be fast
+# on non-x86 architectures (e.g. PowerPC), while the OpenSSL version (default
+# choice) has very fast version optimized for i586.
+#
+# Define PPC_SHA1 environment variable when running make to make use of
+# a bundled SHA1 routine optimized for PowerPC.
+#
+# Define ARM_SHA1 environment variable when running make to make use of
+# a bundled SHA1 routine optimized for ARM.
+#
+# Define NO_OPENSSL environment variable if you do not have OpenSSL.
+# This also implies MOZILLA_SHA1.
+#
+# Define OPENSSLDIR=/foo/bar if your openssl header and library files are in
+# /foo/bar/include and /foo/bar/lib directories.
+AC_ARG_WITH(openssl,
+AS_HELP_STRING([--with-openssl],[use OpenSSL library (default is YES)])
+AS_HELP_STRING([], [ARG can be prefix for openssl library and headers]),\
+GIT_PARSE_WITH(openssl))
+#
+# Define NO_CURL if you do not have curl installed. git-http-pull and
+# git-http-push are not built, and you cannot use http:// and https://
+# transports.
+#
+# Define CURLDIR=/foo/bar if your curl header and library files are in
+# /foo/bar/include and /foo/bar/lib directories.
+AC_ARG_WITH(curl,
+AS_HELP_STRING([--with-curl],[support http(s):// transports (default is YES)])
+AS_HELP_STRING([], [ARG can be also prefix for curl library and headers]),
+GIT_PARSE_WITH(curl))
+#
+# 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 EXPATDIR=/foo/bar if your expat header and library files are in
+# /foo/bar/include and /foo/bar/lib directories.
+AC_ARG_WITH(expat,
+AS_HELP_STRING([--with-expat],
+[support git-push using http:// and https:// transports via WebDAV (default is YES)])
+AS_HELP_STRING([], [ARG can be also prefix for expat library and headers]),
+GIT_PARSE_WITH(expat))
+#
+# 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.
+
+## --enable-FEATURE[=ARG] and --disable-FEATURE
+#
+# Define COLLISION_CHECK below if you believe that SHA1's
+# 1461501637330902918203684832716283019655932542976 hashes do not give you
+# sufficient guarantee that no collisions between objects will ever happen.
+#
+# Define USE_NSEC below if you want git to care about sub-second file mtimes
+# and ctimes. Note that you need recent glibc (at least 2.2.4) for this, and
+# it will BREAK YOUR LOCAL DIFFS! show-diff and anything using it will likely
+# randomly break unless your underlying filesystem supports those sub-second
+# times (my ext3 doesn't).
+#
+# Define USE_STDEV below if you want git to care about the underlying device
+# change being considered an inode change from the update-cache perspective.
+
+
## Output files
AC_CONFIG_FILES(["${config_file}":"${config_in}":"${config_append}"])
AC_OUTPUT
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 8] autoconf: It is --without-python, not --no-python
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
` (5 preceding siblings ...)
2006-08-09 0:15 ` [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR Jakub Narebski
@ 2006-08-09 0:19 ` Jakub Narebski
6 siblings, 0 replies; 15+ messages in thread
From: Jakub Narebski @ 2006-08-09 0:19 UTC (permalink / raw)
To: git
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
configure.ac | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index ae56462..e890131 100644
--- a/configure.ac
+++ b/configure.ac
@@ -78,7 +78,7 @@ #
# 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])],
+AS_HELP_STRING([--without-python], [don't use python scripts])],
[if test "$withval" = "no"; then \
NO_PYTHON=YesPlease; \
elif test "$withval" = "yes"; then \
--
1.4.1.1
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
2006-08-09 0:15 ` [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR Jakub Narebski
@ 2006-08-10 10:50 ` Jakub Narebski
2006-08-10 21:27 ` Junio C Hamano
0 siblings, 1 reply; 15+ messages in thread
From: Jakub Narebski @ 2006-08-10 10:50 UTC (permalink / raw)
To: git
Jakub Narebski wrote:
> 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.
Is this patch dropped?
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
2006-08-10 10:50 ` Jakub Narebski
@ 2006-08-10 21:27 ` Junio C Hamano
2006-08-10 21:43 ` Jakub Narebski
0 siblings, 1 reply; 15+ messages in thread
From: Junio C Hamano @ 2006-08-10 21:27 UTC (permalink / raw)
To: Jakub Narebski; +Cc: git
Jakub Narebski <jnareb@gmail.com> writes:
> Jakub Narebski wrote:
>
>> 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.
>
> Is this patch dropped?
I think it should be on "pu" but I might have missed it; it came
with a warning not to apply didn't it?
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR
2006-08-10 21:27 ` Junio C Hamano
@ 2006-08-10 21:43 ` Jakub Narebski
0 siblings, 0 replies; 15+ messages in thread
From: Jakub Narebski @ 2006-08-10 21:43 UTC (permalink / raw)
To: git
<opublikowany i wysłany>
Junio C Hamano wrote:
> Jakub Narebski <jnareb@gmail.com> writes:
>
>> Jakub Narebski wrote:
>>
>>> 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.
>>
>> Is this patch dropped?
>
> I think it should be on "pu" but I might have missed it; it came
> with a warning not to apply didn't it?
Yes, although the warning is more about the _style_ than about what
it does. It works as far as I tested, but IMVHO it is a bit of hack.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2006-08-10 21:43 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-08 16:34 [PATCH 0/4] autoconf: Some improvements Jakub Narebski
2006-08-08 16:35 ` [PATCH 1/4] autoconf: Add configure target to main Makefile Jakub Narebski
2006-08-08 16:48 ` [PATCH 5/4] autoconf: Mention "make configure" instead of "autoconf" in INSTALL Jakub Narebski
2006-08-08 16:36 ` [PATCH 2/4] autoconf: Error out on --without-shell and --without-perl Jakub Narebski
2006-08-08 16:38 ` [PATCH 3/4] autoconf: Improvements in NO_PYTHON/PYTHON_PATH handling Jakub Narebski
2006-08-08 16:39 ` [PATCH 4/4] autoconf: Move variables which we always set to config.mak.in Jakub Narebski
2006-08-08 23:42 ` [PATCH 6/4] autoconf: Add forgotten NO_OPENSSL=@NO_OPENSSL@ " Jakub Narebski
2006-08-08 20:43 ` [PATCH] autoconf: clean temporary file mak.append Junio C Hamano
2006-08-08 20:58 ` Jakub Narebski
2006-08-08 21:35 ` Junio C Hamano
2006-08-09 0:15 ` [PATCH 7] autoconf: Add support for setting CURLDIR, OPENSSLDIR, EXPATDIR Jakub Narebski
2006-08-10 10:50 ` Jakub Narebski
2006-08-10 21:27 ` Junio C Hamano
2006-08-10 21:43 ` Jakub Narebski
2006-08-09 0:19 ` [PATCH 8] autoconf: It is --without-python, not --no-python Jakub Narebski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).