{"thread":{"id":"4702","subject":"[PATCH] autoconf: Use autoconf to write installation directories to config.mak","startedAt":"2006-06-29T01:01:50Z","lastAt":"2006-07-08T07:33:19Z","messageCount":30,"participants":["Jakub Narebski","Uwe Zeisberger","Matthias Lederhofer","Junio C Hamano","Andreas Ericsson","Pavel Roskin"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"22765","messageId":"200606290301.51657.jnareb@gmail.com","threadId":"4702","inReplyTo":null,"subject":"[PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T01:01:50Z","receivedAt":"2006-06-29T01:01:50Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"This is beginning of patch series introducing installation configuration\nusing autoconf (and no other autotools) to git. The idea is to generate\nconfig.mak using ./configure (generated from configure.ac) from\nconfig.mak.in, so one can use autoconf as an _alternative_ to ordinary\nMakefile, and creating one's own config.mak.\n\nThis patch includes minimal configure.ac and config.mak.in, so one \ncan set installation directories using ./configure script\ne.g. ./configure --prefix=/usr\n\nIgnoring files generated by running autoconf and ./configure\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n\n---\n\nOne of the ideas is to use in .spec RPM macro %configure which takes\ncare of setting all installation directories correctly.\n\nThoughts?\n\n .gitignore    |    4 ++++\n config.mak.in |   12 ++++++++++++\n configure.ac  |   11 +++++++++++\n 3 files changed, 27 insertions(+), 0 deletions(-)\n\ndiff --git a/.gitignore b/.gitignore\nindex 7b954d5..b0dd54d 100644\n--- a/.gitignore\n+++ b/.gitignore\n@@ -136,3 +136,7 @@ git-core.spec\n *.py[co]\n config.mak\n git-blame\n+autom4te.cache\n+config.log\n+config.status\n+configure\ndiff --git a/config.mak.in b/config.mak.in\nnew file mode 100644\nindex 0000000..82d80e2\n--- /dev/null\n+++ b/config.mak.in\n@@ -0,0 +1,12 @@\n+# git Makefile configuration, included in main Makefile\n+# @configure_input@\n+\n+prefix = @prefix@\n+exec_prefix = @exec_prefix@\n+bindir = @bindir@\n+#gitexecdir = @libexecdir@/git-core/\n+template_dir = @datadir@/git-core/templates/\n+GIT_PYTHON_DIR = @datadir@/git-core/python\n+\n+srcdir = @srcdir@\n+VPATH = @srcdir@\ndiff --git a/configure.ac b/configure.ac\nnew file mode 100644\nindex 0000000..4003ff6\n--- /dev/null\n+++ b/configure.ac\n@@ -0,0 +1,11 @@\n+#                                               -*- Autoconf -*-\n+# Process this file with autoconf to produce a configure script.\n+\n+AC_PREREQ(2.59)\n+AC_INIT([git], [1.4.0], [git@vger.kernel.org])\n+\n+AC_CONFIG_SRCDIR([git.c])\n+\n+# Output files\n+AC_CONFIG_FILES([config.mak])\n+AC_OUTPUT\n-- \n1.4.0\n"},{"id":"22778","messageId":"20060629071813.GB1127@informatik.uni-freiburg.de","threadId":"4702","inReplyTo":"200606290301.51657.jnareb@gmail.com","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Uwe Zeisberger","fromEmail":"zeisberg@informatik.uni-freiburg.de","sentAt":"2006-06-29T07:18:13Z","receivedAt":"2006-06-29T07:18:13Z","isPatch":true,"sender":{"key":"u.kleine-koenig@pengutronix.de","avatar":"https://gravatar.com/avatar/354b5e3ceb2806a2f1e1e382ac29ddbdad18288654da62b61eb13583a857eee7?d=mp&s=160"},"body":"Jakub Narebski wrote:\n> This is beginning of patch series introducing installation configuration\n> using autoconf (and no other autotools) to git. The idea is to generate\n> config.mak using ./configure (generated from configure.ac) from\n> config.mak.in, so one can use autoconf as an _alternative_ to ordinary\n> Makefile, and creating one's own config.mak.\n> \n> This patch includes minimal configure.ac and config.mak.in, so one \n> can set installation directories using ./configure script\n> e.g. ./configure --prefix=/usr\n\nautoconf does to much things, even with that little configure.ac.  (But\nI agree, it's much better than automake :-)\n\nE.g.\n\n\t./configure --prefix=$HOME/usr --mandir=$HOME/usr/share/man\n\nis supported by the configure script, but the manpages are installed in\n$HOME/usr/man all the same.\n\nBTW: Even if I specify mandir=... in config.mak, it is not respected,\nbecause only the toplevel Makefile includes config.mak.  (I didn't test\nit, but I think I could export mandir in config.mak ...)\n\nBest regards\nUwe\n\n-- \nUwe Zeisberger\n\nhttp://www.google.com/search?q=1+hertz+in+sec**-1\n"},{"id":"22788","messageId":"200606291359.43640.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606290301.51657.jnareb@gmail.com","subject":"[PATCH] autoconf: Use autoconf to check for libraries: openssl/crypto, curl, expat","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T11:59:41Z","receivedAt":"2006-06-29T11:59:41Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"./configure script checks now if the following libraries are present:\n * -lcrypto (checks for SHA1_Init, sets NO_OPENSSL=YesPlease if not found)\n * -lcurl   (checks for curl_easy_setopt, sets NO_CURL=YesPlease if not found)\n * -lexpat  (checks for XML_ParserCreate, sets NO_EXPAT=YesPlease if not found)\n\nAppropriate lines in config.mak are generated using MY_APPEND_LINE macro by adding\nlines to temporary file config.mak.append\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n\nSecond patch in series introducing nonintrusive autoconf support to\ngit build process.\n\nI'm not that sure about -lcrypto equals openssl.\n\n configure.ac |   17 ++++++++++++++++-\n 1 files changed, 16 insertions(+), 1 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 4003ff6..55d7a9b 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -6,6 +6,21 @@ AC_INIT([git], [1.4.0], [git@vger.kernel\n \n AC_CONFIG_SRCDIR([git.c])\n \n+# Definitions of macros\n+# MY_APPEND_LINE(LINE)\n+# --------------------\n+# Append LINE to file config.mak.append\n+AC_DEFUN([MY_APPEND_LINE],\n+[[echo \"$1\" >> config.mak.append]])# AC_APPEND_LINE\n+\n+# Checks for libraries.\n+AC_MSG_NOTICE(CHECKS for libraries)\n+AC_CHECK_LIB([crypto], [SHA1_Init],,MY_APPEND_LINE(NO_OPENSSL=YesPlease))\n+AC_CHECK_LIB([curl], [curl_easy_setopt],,MY_APPEND_LINE(NO_CURL=YesPlease))\n+AC_CHECK_LIB([expat], [XML_ParserCreate],,MY_APPEND_LINE(NO_EXPAT=YesPlease))\n+\n # Output files\n-AC_CONFIG_FILES([config.mak])\n+AC_CONFIG_FILES([config.mak:config.mak.in:config.mak.append], \n+[rm -f config.mak.append], \n+[echo >> config.mak.append])\n AC_OUTPUT\n-- \n1.4.0\n"},{"id":"22789","messageId":"E1FvvuX-0002Lr-Nt@moooo.ath.cx","threadId":"4702","inReplyTo":"200606290301.51657.jnareb@gmail.com","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Matthias Lederhofer","fromEmail":"matled@gmx.net","sentAt":"2006-06-29T12:46:21Z","receivedAt":"2006-06-29T12:46:21Z","isPatch":true,"sender":{"key":"matled@gmx.net","avatar":null},"body":"> This is beginning of patch series introducing installation configuration\n> using autoconf (and no other autotools) to git. The idea is to generate\n> config.mak using ./configure (generated from configure.ac) from\n> config.mak.in, so one can use autoconf as an _alternative_ to ordinary\n> Makefile, and creating one's own config.mak.\n\nAre you sure this should be named config.mak? From INSTALL:\n> You can place local settings in config.mak and the Makefile\n> will include them.  Note that config.mak is not distributed;\n> the name is reserved for local settings.\n\nSo with another filename either include it\n- before config.mak: the user may override ./configure options with\n  config.mak\n- after config.mak: ./configure overrides config.mak\nAt least do not overwrite config.mak if it exists.\n"},{"id":"22794","messageId":"200606291536.18667.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606291359.43640.jnareb@gmail.com","subject":"[RFC/PATCH] autoconf: Use autoconf to check for some types and library functions","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T13:36:17Z","receivedAt":"2006-06-29T13:36:17Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"./configure script checks now for existence of the following types\nand structure members:\n * dirent.d_ino  in dirent.h (NO_D_INO_IN_DIRENT)\n * dirent.d_type in dirent.h (NO_D_TYPE_IN_DIRENT)\n * 'struct sockaddr_storage' in netinet/in.h (NO_SOCKADDR_STORAGE)\n\n./configure script checks now for the following library functions:\n * strcasestr (NO_STRCASESTR)\n * strlcpy (NO_STRLCPY)\n * setenv (NO_SETENV)\nin default C library and in libraries which have AC_CHECK_LIB done for\nthem (crypto, curl, expat).\n\nNOTE: not all checks are implemented!\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n\nThis patch needs review by someone better versed in compiling git on\ndifferent platforms, namely AC_CHECK_MEMBER and AC_CHECK_TYPE needs\nchecking if all header files where git search for specified structure\nmember or specified type.\n\nI don't know (yet) how to implement checking for NEEDS_SSL_WITH_CRYPTO\n(probably also checlking for crypto library needs correction),\nNEEDS_LIBICONV, NEEDS_SOCKET, NO_IPV6, NO_ICONV, Python < 2.3 and\nPython == 2.3, if to check for NO_MMAP, and for NO_ACCURATE_DIFF.\n\nThis patch is to be considered preliminary!\n\n configure.ac |   28 ++++++++++++++++++++++++++--\n 1 files changed, 26 insertions(+), 2 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 55d7a9b..fbd46e2 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -14,17 +14,41 @@ AC_CONFIG_SRCDIR([git.c])\n AC_DEFUN([MY_APPEND_LINE],\n [[echo \"$1\" >> config.mak.append]])# AC_APPEND_LINE\n \n+\n # Checks for libraries.\n-AC_MSG_NOTICE(CHECKS for libraries)\n+AC_MSG_NOTICE([CHECKS for libraries])\n AC_CHECK_LIB([crypto], [SHA1_Init],,MY_APPEND_LINE(NO_OPENSSL=YesPlease))\n AC_CHECK_LIB([curl], [curl_easy_setopt],,MY_APPEND_LINE(NO_CURL=YesPlease))\n AC_CHECK_LIB([expat], [XML_ParserCreate],,MY_APPEND_LINE(NO_EXPAT=YesPlease))\n \n+\n+# Checks for typedefs, structures, and compiler characteristics.\n+AC_MSG_NOTICE([CHECKS for typedefs, structures, and compiler characteristics])\n+\n+AC_CHECK_MEMBER(struct dirent.d_ino,,\n+MY_APPEND_LINE(NO_D_INO_IN_DIRENT=YesPlease),\n+[#include <dirent.h>])\n+AC_CHECK_MEMBER(struct dirent.d_type,,\n+MY_APPEND_LINE(NO_D_TYPE_IN_DIRENT=YesPlease),\n+[#include <dirent.h>])\n+\n+AC_CHECK_TYPE(struct sockaddr_storage,,\n+MY_APPEND_LINE(NO_SOCKADDR_STORAGE=YesPlease),\n+[#include <netinet/in.h>])\n+\n+\n+# Checks for library functions.\n+AC_MSG_NOTICE([CHECKS for library functions])\n+AC_CHECK_FUNC(strcasestr,,MY_APPEND_LINE(NO_STRCASESTR=YesPlease))\n+AC_CHECK_FUNC(strlcpy,,MY_APPEND_LINE(NO_STRLCPY=YesPlease))\n+AC_CHECK_FUNC(setenv,,MY_APPEND_LINE(NO_SETENV=YesPlease))\n+\n+\n # Output files\n AC_CONFIG_FILES([config.mak:config.mak.in:config.mak.append], \n [rm -f config.mak.append], \n-- \n1.4.0\n"},{"id":"22795","messageId":"e80lnq$9mi$1@sea.gmane.org","threadId":"4702","inReplyTo":"E1FvvuX-0002Lr-Nt@moooo.ath.cx","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T13:48:48Z","receivedAt":"2006-06-29T13:48:48Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Matthias Lederhofer wrote:\n\n>> This is beginning of patch series introducing installation configuration\n>> using autoconf (and no other autotools) to git. The idea is to generate\n>> config.mak using ./configure (generated from configure.ac) from\n>> config.mak.in, so one can use autoconf as an _alternative_ to ordinary\n>> Makefile, and creating one's own config.mak.\n> \n> Are you sure this should be named config.mak? From INSTALL:\n>> You can place local settings in config.mak and the Makefile\n>> will include them.  Note that config.mak is not distributed;\n>> the name is reserved for local settings.\n> \n> So with another filename either include it\n> - before config.mak: the user may override ./configure options with\n>   config.mak\n> - after config.mak: ./configure overrides config.mak\n\nThe idea was to use ./configure to _generate_ config.mak, which the user can\nthen edit.\n\nBut perhaps using another filename for results of ./configure script \n(and including it in main Makefile) would be better idea.\n\n> At least do not overwrite config.mak if it exists.\n\nBut one might want to run ./configure with different options, to finally\narrive at the set which is satisfactionary. So unless some magic to detect\nif config.mak was generated from ./configure script, or generated by user\nis used...\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"22799","messageId":"200606291704.27677.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606291536.18667.jnareb@gmail.com","subject":"[PATCH] autoconf: Cleanup generation of config.mak.append by ./configure","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T15:04:26Z","receivedAt":"2006-06-29T15:04:26Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n configure.ac |    7 ++++---\n 1 files changed, 4 insertions(+), 3 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex fbd46e2..f48307c 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -6,12 +6,14 @@ AC_INIT([git], [1.4.0], [git@vger.kernel\n \n AC_CONFIG_SRCDIR([git.c])\n \n+echo \"# config.mak.append.  Generated by configure.\" >> config.mak.append\n+\n # Definitions of macros\n # MY_APPEND_LINE(LINE)\n # --------------------\n # Append LINE to file config.mak.append\n AC_DEFUN([MY_APPEND_LINE],\n-[[echo \"$1\" >> config.mak.append]])# AC_APPEND_LINE\n+[[echo \"$1\" >> config.mak.append]])# MY_APPEND_LINE\n \n \n # Checks for libraries.\n@@ -45,6 +47,5 @@ AC_CHECK_FUNC(setenv,,MY_APPEND_LINE(NO_\n \n # Output files\n AC_CONFIG_FILES([config.mak:config.mak.in:config.mak.append], \n-[rm -f config.mak.append], \n-[echo >> config.mak.append])\n+[rm -f config.mak.append])\n AC_OUTPUT\n-- \n1.4.0\n"},{"id":"22804","messageId":"200606291835.53788.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606291704.27677.jnareb@gmail.com","subject":"[PATCH] Allow INSTALL, bindir, mandir to be set in main Makefile","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T16:35:51Z","receivedAt":"2006-06-29T16:35:51Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Makefiles in subdirectories now use existing value of INSTALL, bindir,\nmandir if it is set, allowing those to be set in main Makefile or in\nconfig.mak.  Main Makefile exports variables which it sets.\n\nRenames man1 and man7 variables to man1dir and man7dir, according to\n\"Makefile Conventions: Variables for Installation Directories\" in\nmake.info of GNU Make.  Renames bin to bindir (unused, perhaps to be\nremoved).\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\nPart of autoconf series, but independent.\n\nShould probably be split into two patches:\n * first with export + '?='\n * second renaming man1 and man7 to man1dir and man7dir\n\n Documentation/Makefile   |   14 +++++++-------\n Makefile                 |    2 ++\n contrib/emacs/Makefile   |    4 ++--\n contrib/git-svn/Makefile |    8 ++++----\n 4 files changed, 15 insertions(+), 13 deletions(-)\n\ndiff --git a/Documentation/Makefile b/Documentation/Makefile\nindex 2b0efe7..cc83610 100644\n--- a/Documentation/Makefile\n+++ b/Documentation/Makefile\n@@ -25,10 +25,10 @@ DOC_MAN1=$(patsubst %.txt,%.1,$(MAN1_TXT\n DOC_MAN7=$(patsubst %.txt,%.7,$(MAN7_TXT))\n \n prefix?=$(HOME)\n-bin=$(prefix)/bin\n-mandir=$(prefix)/man\n-man1=$(mandir)/man1\n-man7=$(mandir)/man7\n+bindir?=$(prefix)/bin\n+mandir?=$(prefix)/man\n+man1dir=$(mandir)/man1\n+man7dir=$(mandir)/man7\n # DESTDIR=\n \n INSTALL?=install\n@@ -52,9 +52,9 @@ man1: $(DOC_MAN1)\n man7: $(DOC_MAN7)\n \n install: man\n-\t$(INSTALL) -d -m755 $(DESTDIR)$(man1) $(DESTDIR)$(man7)\n-\t$(INSTALL) $(DOC_MAN1) $(DESTDIR)$(man1)\n-\t$(INSTALL) $(DOC_MAN7) $(DESTDIR)$(man7)\n+\t$(INSTALL) -d -m755 $(DESTDIR)$(man1dir) $(DESTDIR)$(man7dir)\n+\t$(INSTALL) $(DOC_MAN1) $(DESTDIR)$(man1dir)\n+\t$(INSTALL) $(DOC_MAN7) $(DESTDIR)$(man7dir)\n \n \n #\ndiff --git a/Makefile b/Makefile\nindex cde619c..b8fe669 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -100,6 +100,8 @@ template_dir = $(prefix)/share/git-core/\n GIT_PYTHON_DIR = $(prefix)/share/git-core/python\n # DESTDIR=\n \n+export prefix bindir gitexecdir template_dir GIT_PYTHON_DIR\n+\n CC = gcc\n AR = ar\n TAR = tar\ndiff --git a/contrib/emacs/Makefile b/contrib/emacs/Makefile\nindex d3619db..350846d 100644\n--- a/contrib/emacs/Makefile\n+++ b/contrib/emacs/Makefile\n@@ -3,9 +3,9 @@ ## Build and install stuff\n EMACS = emacs\n \n ELC = git.elc vc-git.elc\n-INSTALL = install\n+INSTALL ?= install\n INSTALL_ELC = $(INSTALL) -m 644\n-prefix = $(HOME)\n+prefix ?= $(HOME)\n emacsdir = $(prefix)/share/emacs/site-lisp\n \n all: $(ELC)\ndiff --git a/contrib/git-svn/Makefile b/contrib/git-svn/Makefile\nindex 7c20946..8cac688 100644\n--- a/contrib/git-svn/Makefile\n+++ b/contrib/git-svn/Makefile\n@@ -1,9 +1,9 @@\n all: git-svn\n \n prefix?=$(HOME)\n-bindir=$(prefix)/bin\n-mandir=$(prefix)/man\n-man1=$(mandir)/man1\n+bindir?=$(prefix)/bin\n+mandir?=$(prefix)/man\n+man1dir=$(mandir)/man1\n INSTALL?=install\n doc_conf=../../Documentation/asciidoc.conf\n -include ../../config.mak\n@@ -17,7 +17,7 @@ install: all\n \t$(INSTALL) git-svn $(DESTDIR)$(bindir)\n \n install-doc: doc\n-\t$(INSTALL) git-svn.1 $(DESTDIR)$(man1)\n+\t$(INSTALL) git-svn.1 $(DESTDIR)$(man1dir)\n \n doc: git-svn.1\n git-svn.1 : git-svn.xml\n-- \n1.4.0\n"},{"id":"22807","messageId":"200606291947.50980.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606291835.53788.jnareb@gmail.com","subject":"[PATCH] autoconf: Set mandir in config.mak.in and export variables not in Makefile","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T17:47:48Z","receivedAt":"2006-06-29T17:47:48Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"This patch with the previous \"[PATCH] Allow INSTALL, bindir, mandir to\nbe set in main Makefile\" patch allows ./configure script to set where\nmanpages will be installed using --mandir=DIR (./configure defaults to\nPREFIX/man).\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n\nUwe Zeisberger wrote:\n> autoconf does to much things, even with that little configure.ac.\n> (But I agree, it's much better than automake :-)\n>\n> E.g.\n>\n>         ./configure --prefix=$HOME/usr --mandir=$HOME/usr/share/man\n>\n> is supported by the configure script, but the manpages are installed\n> in $HOME/usr/man all the same.\n>\n> BTW: Even if I specify mandir=... in config.mak, it is not respected,\n> because only the toplevel Makefile includes config.mak.  (I didn't\n> test it, but I think I could export mandir in config.mak ...)\n\nThis patch and previous one adressess this.\n\n config.mak.in |    6 ++++++\n 1 files changed, 6 insertions(+), 0 deletions(-)\n\ndiff --git a/config.mak.in b/config.mak.in\nindex 82d80e2..82c9781 100644\n--- a/config.mak.in\n+++ b/config.mak.in\n@@ -8,5 +8,11 @@ #gitexecdir = @libexecdir@/git-core/\n template_dir = @datadir@/git-core/templates/\n GIT_PYTHON_DIR = @datadir@/git-core/python\n \n+mandir=@mandir@\n+\n srcdir = @srcdir@\n VPATH = @srcdir@\n+\n+export exec_prefix mandir\n+export srcdir VPATH\n+\n-- \n1.4.0\n"},{"id":"22813","messageId":"7vy7vfrfc6.fsf@assigned-by-dhcp.cox.net","threadId":"4702","inReplyTo":"200606291835.53788.jnareb@gmail.com","subject":"Re: [PATCH] Allow INSTALL, bindir, mandir to be set in main Makefile","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-06-29T18:23:21Z","receivedAt":"2006-06-29T18:23:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Jakub Narebski <jnareb@gmail.com> writes:\n\n> Part of autoconf series, but independent.\n\nI'd like to take something like this, independently from\n\"optionally managing config.mak with autoconf\" series.\n\n> Should probably be split into two patches:\n>  * first with export + '?='\n>  * second renaming man1 and man7 to man1dir and man7dir\n\nAnd I think it is probably a good idea to somehow keep people's\nconfigurations that have been overriding man1 and man7 if\npossible.  Otherwise things would regress for them.\n"},{"id":"22814","messageId":"7vr717rfbw.fsf@assigned-by-dhcp.cox.net","threadId":"4702","inReplyTo":"E1FvvuX-0002Lr-Nt@moooo.ath.cx","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-06-29T18:23:31Z","receivedAt":"2006-06-29T18:23:31Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Matthias Lederhofer <matled@gmx.net> writes:\n\n>> This is beginning of patch series introducing installation configuration\n>> using autoconf (and no other autotools) to git. The idea is to generate\n>> config.mak using ./configure (generated from configure.ac) from\n>> config.mak.in, so one can use autoconf as an _alternative_ to ordinary\n>> Makefile, and creating one's own config.mak.\n>\n> Are you sure this should be named config.mak? From INSTALL:\n>> You can place local settings in config.mak and the Makefile\n>> will include them.  Note that config.mak is not distributed;\n>> the name is reserved for local settings.\n>\n> So with another filename either include it\n> - before config.mak: the user may override ./configure options with\n>   config.mak\n> - after config.mak: ./configure overrides config.mak\n> At least do not overwrite config.mak if it exists.\n\nThink of it as an incredibly smart editor that you can use to\nedit your config.mak.  As far as I understand it, this is an\n\"opt-in\" way for you to manage config.mak without editing it\nyourself, so I do not have much objections to the series in\nprinciple.\n\nI think it is fair to say that autoconf is not so bad compared\nto its worse friends, but I am biased -- I used to deal with\nautoconf quite a lot in old days (before there were automake nor\nlibtool), and my own changes to autoconf might still be\nsurviving in a few .m4 files but I doubt it it was so long ago.\n\nHaving said that, I am skeptical how well we can keep this\ncontained only to config.mak and keep it \"opt-in\", so I am not\nenthused to have this series at the toplevel of the tree.\n\nIt would have been a bit easier to swallow if this whole\nmachinery to build config.mk were somewhere under contrib/ (say\nin contrib/autoconf), with an instruction to make an \"opt-in\"\nsymlink \"ln -s contrib/autoconf/config.mk config.mk\" for people\nwho want to use it in the toplevel INSTALL file, perhaps.\n\nThe one that touches the Makefile to propagate some variables\ndown to submakes is probably a desirable change but that is\npretty much independent from the series.\n"},{"id":"22830","messageId":"e81ce5$tdq$1@sea.gmane.org","threadId":"4702","inReplyTo":"7vy7vfrfc6.fsf@assigned-by-dhcp.cox.net","subject":"Re: [PATCH] Allow INSTALL, bindir, mandir to be set in main Makefile","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-29T20:16:13Z","receivedAt":"2006-06-29T20:16:13Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano wrote:\n\n> Jakub Narebski <jnareb@gmail.com> writes:\n> \n>> Part of autoconf series, but independent.\n> \n> I'd like to take something like this, independently from\n> \"optionally managing config.mak with autoconf\" series.\n> \n>> Should probably be split into two patches:\n>>  * first with export + '?='\n>>  * second renaming man1 and man7 to man1dir and man7dir\n> \n> And I think it is probably a good idea to somehow keep people's\n> configurations that have been overriding man1 and man7 if\n> possible.  Otherwise things would regress for them.\n\nDone. Resent as two patch \"series\", starting with\nMessage-Id: <200606292211.28352.jnareb@gmail.com>\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"22867","messageId":"200606300211.21922.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606291947.50980.jnareb@gmail.com","subject":"[PATCH 7] autoconf: configure.ac uses variables to set in, out and temp files","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T00:11:18Z","receivedAt":"2006-06-30T00:11:18Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"configure.ac now uses variables to set input file (containing strings\nsubstituted by ./configure script), temporary file (for appending\nlines to output file) and output file (with the result configuration).\n\nThis is preparation to using other file than config.mak for output.\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n configure.ac |   14 +++++++++-----\n 1 files changed, 9 insertions(+), 5 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex f48307c..58ec57a 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -6,14 +6,18 @@ AC_INIT([git], [1.4.0], [git@vger.kernel\n \n AC_CONFIG_SRCDIR([git.c])\n \n-echo \"# config.mak.append.  Generated by configure.\" >> config.mak.append\n+config_file=config.mak\n+config_append=config.mak.append\n+config_in=config.mak.in\n+\n+echo \"# ${config_append}.  Generated by configure.\" >> \"${config_append}\"\n \n # Definitions of macros\n # MY_APPEND_LINE(LINE)\n # --------------------\n-# Append LINE to file config.mak.append\n+# Append LINE to file ${config_append}\n AC_DEFUN([MY_APPEND_LINE],\n-[[echo \"$1\" >> config.mak.append]])# MY_APPEND_LINE\n+[[echo \"$1\" >> \"${config_append}\"]])# MY_APPEND_LINE\n \n \n # Checks for libraries.\n@@ -46,6 +50,6 @@ AC_CHECK_FUNC(setenv,,MY_APPEND_LINE(NO_\n \n \n # Output files\n-AC_CONFIG_FILES([config.mak:config.mak.in:config.mak.append], \n-[rm -f config.mak.append])\n+AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\":\"${config_append}\"], \n+[rm -f \"${config_append}\"])\n AC_OUTPUT\n-- \n1.4.0\n"},{"id":"22868","messageId":"200606300232.34472.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606300211.21922.jnareb@gmail.com","subject":"[PATCH 8] autoconf: ./configure script outputs to config.mac.auto","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T00:32:33Z","receivedAt":"2006-06-30T00:32:33Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"---\nSo now to actually use ./configure output you either have to add\n  -include config.mak.auto\nto Makefile before including config.mak, link config.mak.auto to config.mak, \nor rename (move) config.mak.auto to config.mak after done with ./configure\n\n configure.ac |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 58ec57a..799bc87 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -6,7 +6,7 @@ AC_INIT([git], [1.4.0], [git@vger.kernel\n \n AC_CONFIG_SRCDIR([git.c])\n \n-config_file=config.mak\n+config_file=config.mak.auto\n config_append=config.mak.append\n config_in=config.mak.in\n \n-- \n1.4.0\n"},{"id":"22913","messageId":"44A51693.5020501@op5.se","threadId":"4702","inReplyTo":"e80lnq$9mi$1@sea.gmane.org","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Andreas Ericsson","fromEmail":"ae@op5.se","sentAt":"2006-06-30T12:18:27Z","receivedAt":"2006-06-30T12:18:27Z","isPatch":true,"sender":{"key":"ae@op5.se","avatar":"https://gravatar.com/avatar/426e89595c75a8f5252dd0c989e5fabe5bcac616e68557427ad9aef6b0ca342a?d=mp&s=160"},"body":"Jakub Narebski wrote:\n> Matthias Lederhofer wrote:\n> \n> \n>>>This is beginning of patch series introducing installation configuration\n>>>using autoconf (and no other autotools) to git. The idea is to generate\n>>>config.mak using ./configure (generated from configure.ac) from\n>>>config.mak.in, so one can use autoconf as an _alternative_ to ordinary\n>>>Makefile, and creating one's own config.mak.\n>>\n>>Are you sure this should be named config.mak? From INSTALL:\n>>\n>>>You can place local settings in config.mak and the Makefile\n>>>will include them.  Note that config.mak is not distributed;\n>>>the name is reserved for local settings.\n>>\n>>So with another filename either include it\n>>- before config.mak: the user may override ./configure options with\n>>  config.mak\n>>- after config.mak: ./configure overrides config.mak\n> \n> \n> The idea was to use ./configure to _generate_ config.mak, which the user can\n> then edit.\n> \n\nThis is bad, since it forces users to do one thing first and then do \nwhat they're used to. Better to have the script add\n\n-include config.mak.autogen\n\nLAST in config.mak, unless it's already in the file and generate \nconfig.mak.autogen with configure.\n\nSince Make does things bottoms-up (much like swedish students and \nmidsummer celebrators), the previous hand-edited defaults in config.mak \nwill beat the ones in config.mak.autogen (a good thing).\n\n> But perhaps using another filename for results of ./configure script \n> (and including it in main Makefile) would be better idea.\n> \n> \n>>At least do not overwrite config.mak if it exists.\n> \n> \n> But one might want to run ./configure with different options, to finally\n> arrive at the set which is satisfactionary. So unless some magic to detect\n> if config.mak was generated from ./configure script, or generated by user\n> is used...\n> \n\ngrep -q autogen config.mak || \\\n\techo \"-include config.mak.autogen\" >> config.mak\n\nI wouldn't want my long-standing, functioning config.mak overwritten, \nbut I *might* be interested in trying some of the options provided by \n./configure.\n\n-- \nAndreas Ericsson                   andreas.ericsson@op5.se\nOP5 AB                             www.op5.se\nTel: +46 8-230225                  Fax: +46 8-230231\n"},{"id":"22915","messageId":"200606301437.52590.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606300232.34472.jnareb@gmail.com","subject":"[PATCH 9] autoconf: Cleanup generation of temporary \"append\" file","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T12:37:50Z","receivedAt":"2006-06-30T12:37:50Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\n configure.ac |    7 ++++---\n 1 files changed, 4 insertions(+), 3 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 799bc87..e387f5b 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -10,7 +10,7 @@ config_file=config.mak.auto\n config_append=config.mak.append\n config_in=config.mak.in\n \n-echo \"# ${config_append}.  Generated by configure.\" >> \"${config_append}\"\n+echo \"# ${config_append}.  Generated by configure.\" > \"${config_append}\"\n \n # Definitions of macros\n # MY_APPEND_LINE(LINE)\n@@ -50,6 +50,7 @@ AC_CHECK_FUNC(setenv,,MY_APPEND_LINE(NO_\n \n \n # Output files\n-AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\":\"${config_append}\"], \n-[rm -f \"${config_append}\"])\n+AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\":\"${config_append}\"])\n AC_OUTPUT\n+\n+rm -f \"${config_append}\"\n-- \n1.4.0\n"},{"id":"22916","messageId":"200606301439.40584.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606301437.52590.jnareb@gmail.com","subject":"[PATCH 10] autoconf: Write how to use ./configure generated file in git build process","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T12:39:40Z","receivedAt":"2006-06-30T12:39:40Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\nProbably there is better way to do this.\n\n configure.ac |    6 ++++++\n 1 files changed, 6 insertions(+), 0 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex e387f5b..ef310ee 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -54,3 +54,9 @@ AC_CONFIG_FILES([\"${config_file}\":\"${con\n AC_OUTPUT\n \n rm -f \"${config_append}\"\n+\n+cat <<_ACEOF\n+\n+Add '-include ${config_file}' to your config.mak, \n+or rename ${config_file} to config.mak\n+_ACEOF\n-- \n1.4.0\n"},{"id":"22917","messageId":"200606301441.01327.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606301439.40584.jnareb@gmail.com","subject":"[PATCH 11] autoconf: Rename ./configure output file to config.mak.autogen","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T12:41:01Z","receivedAt":"2006-06-30T12:41:01Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\nChoose the name you are more comfortable with\n\n configure.ac |    2 +-\n 1 files changed, 1 insertions(+), 1 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex ef310ee..f01fc17 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -6,7 +6,7 @@ AC_INIT([git], [1.4.0], [git@vger.kernel\n \n AC_CONFIG_SRCDIR([git.c])\n \n-config_file=config.mak.auto\n+config_file=config.mak.autogen\n config_append=config.mak.append\n config_in=config.mak.in\n \n-- \n1.4.0\n"},{"id":"22922","messageId":"200606301708.19521.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606301441.01327.jnareb@gmail.com","subject":"[PATCH 12] Revert \"autoconf: Write how to use ./configure generated file in git build process\"","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T15:08:18Z","receivedAt":"2006-06-30T15:08:18Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"This reverts 6015ccba6c0439b0b615615aacefaf463c546ba4 commit.\n\nTo be replaced by better solution, idea by Andreas Ericsson\n---\nOr just not apply [PATCH 10] (and this patch)\n\n configure.ac |    6 ------\n 1 files changed, 0 insertions(+), 6 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex f01fc17..1ead656 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -54,9 +54,3 @@ AC_CONFIG_FILES([\"${config_file}\":\"${con\n AC_OUTPUT\n \n rm -f \"${config_append}\"\n-\n-cat <<_ACEOF\n-\n-Add '-include ${config_file}' to your config.mak, \n-or rename ${config_file} to config.mak\n-_ACEOF\n-- \n1.4.0\n"},{"id":"22923","messageId":"200606301711.39635.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606301708.19521.jnareb@gmail.com","subject":"[PATCH 13] autoconf: Append '-include config.mak.autogen' to config.mak if it is not present","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T15:11:39Z","receivedAt":"2006-06-30T15:11:39Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Signed-off-by: Jakub Narebski <jnareb@gmail.com>\n---\nAndreas Ericsson wrote:\n> Jakub Narebski wrote:\n>>\n>> The idea was to use ./configure to _generate_ config.mak, which the user can\n>> then edit.\n>\n> This is bad, since it forces users to do one thing first and then do\n> what they're used to. Better to have the script add\n>\n> -include config.mak.autogen\n>\n> LAST in config.mak, unless it's already in the file and generate\n> config.mak.autogen with configure, e.g. with\n>\n> grep -q autogen config.mak || \\\n>         echo \"-include config.mak.autogen\" >> config.mak\n>\n> Since Make does things bottoms-up (much like swedish students and\n> midsummer celebrators), the previous hand-edited defaults in config.mak\n> will beat the ones in config.mak.autogen (a good thing).\n>\n> I wouldn't want my long-standing, functioning config.mak overwritten,\n> but I *might* be interested in trying some of the options provided by\n> ./configure.\n\nDone, with small changes.\n\nCan anyone tell me if frep use is portable enough?\n\n configure.ac |    3 +++\n 1 files changed, 3 insertions(+), 0 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 1ead656..2904077 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -54,3 +54,6 @@ AC_CONFIG_FILES([\"${config_file}\":\"${con\n AC_OUTPUT\n \n rm -f \"${config_append}\"\n+\n+grep -q -s -F \"-include ${config_file}\" config.mak || \\\n+        echo  \"-include ${config_file}\" >> config.mak\n-- \n1.4.0\n"},{"id":"22925","messageId":"e83f5j$e6f$1@sea.gmane.org","threadId":"4702","inReplyTo":"44A51693.5020501@op5.se","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T15:15:10Z","receivedAt":"2006-06-30T15:15:10Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Andreas Ericsson wrote:\n\n> grep -q autogen config.mak || \\\n>       echo \"-include config.mak.autogen\" >> config.mak\n> \n> I wouldn't want my long-standing, functioning config.mak overwritten, \n> but I *might* be interested in trying some of the options provided by \n> ./configure.\n\nThanks for the solution. Done in my latest patch.\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"22947","messageId":"e841j7$ne3$1@sea.gmane.org","threadId":"4702","inReplyTo":"200606301711.39635.jnareb@gmail.com","subject":"Re: [PATCH 13] autoconf: Append '-include config.mak.autogen' to config.mak if it is not present","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T20:29:39Z","receivedAt":"2006-06-30T20:29:39Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Jakub Narebski wrote:\n\n> +grep -q -s -F \"-include ${config_file}\" config.mak || \\\n> +        echo  \"-include ${config_file}\" >> config.mak\n\nGah, should be of course\n\n+grep -q -s -F -e \"-include ${config_file}\" config.mak || \\\n+            echo \"-include ${config_file}\" >> config.mak\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"22949","messageId":"200606302345.17045.jnareb@gmail.com","threadId":"4702","inReplyTo":"200606301711.39635.jnareb@gmail.com","subject":"[RFC/PATCH 14] autoconf: Added --with/--without for openssl, curl, expat to ./configure","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T21:45:12Z","receivedAt":"2006-06-30T21:45:12Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"\nAdded --with-PACKAGE[=PATH] (where PATH is prefix for PACKAGE\nlibraries and includes) and --without-PACKAGE (--with-PACKAGE=no)\nsupport for curl, openssl, expat to configure.ac\n\nSigned-off-by: Jakub Narebski <jnareb@gmail.com>\n\n---\n\nI'm not autoconf/m4 expert: could anyone tell me how to uppercase\nPACKAGE name, so one could write MY_PARSE_WITH(openssl)?\n\nHow to add [=PATH] to --with-PACKAGE option description in a way\nwhich does not screw up AS_HELP_WITH calculations. I could use\n@<:@=PATH@:>@ which transforms to [=PATH], but AS_HELP_WITH counts\nnumber of characters in source I think.\n\n configure.ac |   34 ++++++++++++++++++++++++++++++++++\n 1 files changed, 34 insertions(+), 0 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex fcfc9ce..26d6f4d 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -19,6 +19,22 @@ # Append LINE to file ${config_append}\n AC_DEFUN([MY_APPEND_LINE],\n [[echo \"$1\" >> \"${config_append}\"]])# MY_APPEND_LINE\n \n+# MY_PARSE_WITH(PACKAGE)\n+# ----------------------\n+# For use in AC_ARG_WITH action-if-found, for packages default ON. \n+# * Set NO_PACKAGE=YesPlease  for --without-PACKAGE\n+# * Set PACKAGEDIR=ARG for --with-PACKAGE=ARG\n+# * Do nothing for --with-PACKAGE without ARG\n+# PACKAGE option must be all uppercase\n+AC_DEFUN([MY_PARSE_WITH],\n+[[if test \"$withval\" = \"no\"; then \\\n+    MY_APPEND_LINE(NO_$1=YesPlease); \\\n+  elif test \"$withval\" != \"yes\"; then \\\n+    MY_APPEND_LINE($1DIR=$withval); \\\n+  fi; \\\n+]])# MY_PARSE_WITH\n+\n+\n # Checks for libraries.\n AC_MSG_NOTICE([CHECKS for libraries])\n AC_CHECK_LIB([crypto], [SHA1_Init],,MY_APPEND_LINE(NO_OPENSSL=YesPlease))\n@@ -48,6 +64,24 @@ AC_CHECK_FUNC(strlcpy,,MY_APPEND_LINE(NO\n AC_CHECK_FUNC(setenv,,MY_APPEND_LINE(NO_SETENV=YesPlease))\n \n \n+# Site configuration\n+AC_MSG_NOTICE([CHECKS for site configuration])\n+AC_ARG_WITH(curl, \n+AS_HELP_STRING([--with-curl],[support http(s):// transports (default is YES)])\n+AS_HELP_STRING([],           [ARG can be also prefix for curl library and headers]),\\\n+MY_PARSE_WITH(CURL))\n+\n+AC_ARG_WITH(openssl,\n+AS_HELP_STRING([--with-openssl],[use OpenSSL library (default is YES)])\n+AS_HELP_STRING([],              [ARG can be prefix for openssl library and headers]),\\\n+MY_PARSE_WITH(OPENSSL))\n+\n+AC_ARG_WITH(expat,\n+AS_HELP_STRING([--with-expat],[support git-push using http:// and https:// transports via WebDAV (default is YES)])\n+AS_HELP_STRING([],            [ARG can be also prefix for expat library and headers]),\\\n+MY_PARSE_WITH(EXPAT))\n+\n+\n # Output files\n AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\":\"${config_append}\"])\n AC_OUTPUT\n-- \n1.4.0\n"},{"id":"22950","messageId":"1151704626.12008.5.camel@dv","threadId":"4702","inReplyTo":"200606302345.17045.jnareb@gmail.com","subject":"Re: [RFC/PATCH 14] autoconf: Added --with/--without for openssl, curl, expat to ./configure","fromName":"Pavel Roskin","fromEmail":"proski@gnu.org","sentAt":"2006-06-30T21:57:06Z","receivedAt":"2006-06-30T21:57:06Z","isPatch":true,"sender":{"key":"proski@gnu.org","avatar":null},"body":"Hi Jakub,\n\nOn Fri, 2006-06-30 at 23:45 +0200, Jakub Narebski wrote:\n> I'm not autoconf/m4 expert: could anyone tell me how to uppercase\n> PACKAGE name, so one could write MY_PARSE_WITH(openssl)?\n\nI don't quite understand what you want, but you could check m4_toupper.\n\n> How to add [=PATH] to --with-PACKAGE option description in a way\n> which does not screw up AS_HELP_WITH calculations. I could use\n> @<:@=PATH@:>@ which transforms to [=PATH], but AS_HELP_WITH counts\n> number of characters in source I think.\n\nTry another pair of square brackets as quotes for literal contents.  In\nthis case, use [[=PATH]]\n\n> +# MY_PARSE_WITH(PACKAGE)\n\nBy the way, it's better to use a prefix other than MY.  I thing\nGIT_PARSE_WITH would be great.\n\n-- \nRegards,\nPavel Roskin\n"},{"id":"22951","messageId":"e848pr$cca$1@sea.gmane.org","threadId":"4702","inReplyTo":"1151704626.12008.5.camel@dv","subject":"Re: [RFC/PATCH 14] autoconf: Added --with/--without for openssl, curl, expat to ./configure","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T22:32:41Z","receivedAt":"2006-06-30T22:32:41Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"<posted & mailed>\n\nPavel Roskin wrote:\n\n> On Fri, 2006-06-30 at 23:45 +0200, Jakub Narebski wrote:\n>> I'm not autoconf/m4 expert: could anyone tell me how to uppercase\n>> PACKAGE name, so one could write MY_PARSE_WITH(openssl)?\n> \n> I don't quite understand what you want, but you could check m4_toupper.\n\nThanks. It works great. GIT_PARSE_WITH is now:\n\nAC_DEFUN([GIT_PARSE_WITH],\n[[PACKAGE=m4_toupper($1); \\\nif test \"$withval\" = \"no\"; then \\\n    GIT_APPEND_LINE(NO_${PACKAGE}=YesPlease); \\\n  elif test \"$withval\" != \"yes\"; then \\\n    GIT_APPEND_LINE(${PACKAGE}DIR=$withval); \\\n  fi; \\\n]])# GIT_PARSE_WITH\n\n>> How to add [=PATH] to --with-PACKAGE option description in a way\n>> which does not screw up AS_HELP_WITH calculations. I could use\n>> @<:@=PATH@:>@ which transforms to [=PATH], but AS_HELP_WITH counts\n>> number of characters in source I think.\n> \n> Try another pair of square brackets as quotes for literal contents.  In\n> this case, use [[=PATH]]\n\nI suspect that AS_HELP_WITH does some strange quoting, or stripping. Both\n[=PATH] and [[=PATH]] produces =PATH in ./configure --help output.\nWhen using @<:@=PATH@:>@ I get [=PATH], but the description of option begins\nline below.\n\n>> +# MY_PARSE_WITH(PACKAGE)\n> \n> By the way, it's better to use a prefix other than MY.  I thing\n> GIT_PARSE_WITH would be great.\n\nAny ideas for name of MY_APPEND_LINE(LINE)/GIT_APPEND_LINE(LINE) macro,\nwhich as a result adds line to output (e.g. LINE = \"NO_CURL=YesPlease\")?\n\nThanks for all suggestions\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"22952","messageId":"e848tn$e36$1@sea.gmane.org","threadId":"4702","inReplyTo":"200606302345.17045.jnareb@gmail.com","subject":"Re: [RFC/PATCH 14] autoconf: Added --with/--without for openssl, curl, expat to ./configure","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-06-30T22:34:44Z","receivedAt":"2006-06-30T22:34:44Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Jakub Narebski wrote:\n\n> +AC_ARG_WITH(expat,\n> +AS_HELP_STRING([--with-expat],[support git-push using http:// and https:// transports via WebDAV (default is YES)])\n> +AS_HELP_STRING([],            [ARG can be also prefix for expat library and headers]),\\\n> +MY_PARSE_WITH(EXPAT))\n\nOf course to do anything for --with-expat=PATH case this patch needs\nthe one that introduces EXPATDIR (there was such patch on the list,\nI'm not sure if it got accepted).\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"22975","messageId":"e85v14$85c$1@sea.gmane.org","threadId":"4702","inReplyTo":"44A51693.5020501@op5.se","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-07-01T13:58:13Z","receivedAt":"2006-07-01T13:58:13Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Andreas Ericsson wrote:\n\n> This is bad, since it forces users to do one thing first and then do \n> what they're used to. Better to have the script add\n> \n> -include config.mak.autogen\n> \n> LAST in config.mak, unless it's already in the file and generate \n> config.mak.autogen with configure.\n> \n> Since Make does things bottoms-up (much like swedish students and \n> midsummer celebrators), the previous hand-edited defaults in config.mak \n> will beat the ones in config.mak.autogen (a good thing).\n\nThat's not true, unless we use '?=' assignment in Makefile. And we _want_ to\noverride defaults provided in main git Makefile, so in config.mak.autoconf,\nand probably in user's own config.mak we use '=' overriding assignment. So\nit would be better to just add \"-include config.mak.autogen\" to makefile\nbefore \"-include config.mak\", as in patch below.\n\ndiff --git a/Makefile b/Makefile\nindex ccd7c62..a37d400 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -333,6 +333,7 @@ ifneq (,$(findstring arm,$(uname_M)))\n        ARM_SHA1 = YesPlease\n endif\n \n+-include config.mak.autogen\n -include config.mak\n \n ifdef WITH_OWN_SUBPROCESS_PY\n\n\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n"},{"id":"22980","messageId":"200607011955.23908.jnareb@gmail.com","threadId":"4702","inReplyTo":"20060630233004.7xckw444g4g0gcs8@webmail.spamcop.net","subject":"Re: [RFC/PATCH 14] autoconf: Added --with/--without for openssl, curl, expat to ./configure","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-07-01T17:55:22Z","receivedAt":"2006-07-01T17:55:22Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Pavel Roskin wrote:\n> Hi Jakub,\n> \n> you lost cc: but please feel free to return to the list.\n\nSending reply to GMane newsgroup tied to mailing list, and via email \nto author, but _not_ via mail to mailing list would do that... \nespecially if the author I'm replying to doesn't use newsgroup \ninterface.\n \n> Quoting Jakub Narebski <jnareb@gmail.com>:\n\n>> I suspect that AS_HELP_WITH does some strange quoting, or stripping. Both\n>> [=PATH] and [[=PATH]] produces =PATH in ./configure --help output.\n>> When using @<:@=PATH@:>@ I get [=PATH], but the description of option begins\n>> line below.\n> \n> If you are not following quoting rules, every macro can do strange things!\n\nWell, [=PATH] or [[=PATH]] doesn't work even if GIT_APPEND_LINE is without\ndouble quotes. Besides, that doesn't matter because this is inside of \nAS_HELP_STRING macro. No combination of quoting (I think I tried all)\nworks... I guess I would just not use AS_HELP_STRING, and format help \nmessage \"by hand\".\n\n>> Any ideas for name of MY_APPEND_LINE(LINE)/GIT_APPEND_LINE(LINE) macro,\n>> which as a result adds line to output (e.g. LINE = \"NO_CURL=YesPlease\")?\n> \n> GIT_LIB_CURL\n> \n> Generally, please try to avoid negations.  They are confising to the end users. \n> Lack of curl may be an anomaly to git developers, but it is not an anomaly for a\n> user who has never heard of curl.  If you can, try to use positive logic, like\n> CURL=1, and translate it to negative logic only as a temporary solution and far\n> away from the user's eyes.\n\nI'm following example set by main Makefile. That, and I tried to make configure.ac\nas simple as possible...\n\n\nBy the way, if you know autoconf well, perhaps you could tell me how to write\ntests for the following programs: ar, tar, rpmbuild, how to write test for\nPython version (or rather for WITH_OWN_SUBPROCESS_PY) and other test autoconf.ac\nlacks now (NEEDS_SSL_WITH_CRYPTO, NEEDS_LIBICONV, NEEDS_SOCKET, NO_MMAP,\nNO_IPV6, NO_ICONV, NO_ACCURATE_DIFF unless that was removed or changed name).\n\n-- \nJakub Narebski\nShadeHawk on #git\n"},{"id":"22995","messageId":"8fe92b430607011504t6987b207kbe27640206755af1@mail.gmail.com","threadId":"4702","inReplyTo":"20060701213305.GA29115@pasky.or.cz","subject":"Re: [PATCH] autoconf: Use autoconf to write installation directories to config.mak","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-07-01T22:04:38Z","receivedAt":"2006-07-01T22:04:38Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"On 7/1/06, Petr Baudis <pasky@suse.cz> wrote:\n> Dear diary, on Thu, Jun 29, 2006 at 08:23:31PM CEST, I got a letter\n> where Junio C Hamano <junkio@cox.net> said that...\n\n>> It would have been a bit easier to swallow if this whole\n>> machinery to build config.mk were somewhere under contrib/ (say\n>> in contrib/autoconf), with an instruction to make an \"opt-in\"\n>> symlink \"ln -s contrib/autoconf/config.mk config.mk\" for people\n>> who want to use it in the toplevel INSTALL file, perhaps.\n>\n> Well, I don't get the point of that - it doesn't make any sense to me to\n> require this.\n>\n> The point of ./configure is to make things easier for the user, so to\n> balance that we should make the ./configure harder to _call_ by requiring\n> the user to do strange arbitrary steps after calling it.\n\nEasiest way is to output ./configure result to e.g. configure.mak.autoconf,\nand include this file just before configure.mak in main Makefile.\n\nJust as in patches (although you have to discard or revert two alternate\nmechanism patches)\n\n-- \nJakub Narebski\n"},{"id":"23407","messageId":"1152343999.26627.6.camel@dv","threadId":"4702","inReplyTo":"200607011955.23908.jnareb@gmail.com","subject":"Re: [RFC/PATCH 14] autoconf: Added --with/--without for openssl, curl, expat to ./configure","fromName":"Pavel Roskin","fromEmail":"proski@gnu.org","sentAt":"2006-07-08T07:33:19Z","receivedAt":"2006-07-08T07:33:19Z","isPatch":true,"sender":{"key":"proski@gnu.org","avatar":null},"body":"Hello, Jakub!\n\nOn Sat, 2006-07-01 at 19:55 +0200, Jakub Narebski wrote: \n> >> I suspect that AS_HELP_WITH does some strange quoting, or stripping. Both\n> >> [=PATH] and [[=PATH]] produces =PATH in ./configure --help output.\n> >> When using @<:@=PATH@:>@ I get [=PATH], but the description of option begins\n> >> line below.\n\nSorry, I misunderstood the problem.  I think it's pure cosmetics.\nPlease don't let it stop you.\n\n> I guess I would just not use AS_HELP_STRING, and format help \n> message \"by hand\".\n\nPlease don't wast time on such minor things.  It's more important to get\nthe functionality implemented.\n\n> By the way, if you know autoconf well, perhaps you could tell me how to write\n> tests for the following programs: ar, tar, rpmbuild, how to write test for\n> Python version (or rather for WITH_OWN_SUBPROCESS_PY) and other test autoconf.ac\n> lacks now (NEEDS_SSL_WITH_CRYPTO, NEEDS_LIBICONV, NEEDS_SOCKET, NO_MMAP,\n> NO_IPV6, NO_ICONV, NO_ACCURATE_DIFF unless that was removed or changed name).\n\nGenerally, see the Autoconf manual for the specific test first, then for\nmore common test.\n\nFor ar, use AC_CHECK_TOOL to allow cross-compilation.  For tar and\nrpmbiuld, use \nAC_CHECK_PROG.  Python will have to run to find the version, I'm afraid,\nwhich would complicate cross builds.  Fortunately, it's on the way out.\n\nTests for sockets are described in the Autoconf documentation.  Other\ntests should probably be implemented as test programs unless they can be\nreduced to checking for a specific symbol in a specific library.\n\n-- \nRegards,\nPavel Roskin\n"}]}