{"thread":{"id":"31050","subject":"[PATCH 1/7] autoconf: GIT_CONF_APPEND_LINE: change signature","startedAt":"2012-07-18T22:34:55Z","lastAt":"2012-07-23T23:28:58Z","messageCount":31,"participants":["Stefano Lattarini","Junio C Hamano","Matthieu Moy"],"isPatch":true,"patchVersion":1,"patchTotal":7},"messages":[{"id":"195294","messageId":"cover.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":null,"subject":"[PATCH 0/7] build system: support automatic reconfiguration for autotools user","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:34:55Z","receivedAt":"2012-07-18T22:34:55Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"This series aims at improving the user experience for those people who\n(like me) use that Autotools-based interface to the build system of Git.\n\nThe two actual improvements (equipped with proper explanations and\nrationales) are implemented in the last two patches.  The other five\npatches are just preparatory changes.\n\nThe series as general or as clean as it could actually be, but it's\nenough to scratch the itch that motivated me to write it.\n\nThanks,\n  Stefano\n\nStefano Lattarini (7):\n  autoconf: GIT_CONF_APPEND_LINE: change signature\n  autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST\n  autoconf: remove some redundant shell indirections\n  autoconf: remove few redundant semicolons\n  autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'\n  build: \"make clean\" should not remove configure-generated files\n  build: reconfigure automatically if configure.ac changes\n\n Makefile     | 17 +++++++++++++++--\n configure.ac | 53 ++++++++++++++++++++++++++++++-----------------------\n 2 files changed, 45 insertions(+), 25 deletions(-)\n\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195293","messageId":"eb5c979d7334a2fb8f0bd1d6bedf7c21b811cbb3.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"[PATCH 1/7] autoconf: GIT_CONF_APPEND_LINE: change signature","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:34:56Z","receivedAt":"2012-07-18T22:34:56Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"From:\n\n   GIT_CONF_APPEND_LINE([VAR=VAL])\n\nto:\n\n   GIT_CONF_APPEND_LINE([VAR], [VAL])\n\nThis is only a preparatory change in view of future refactorings.\nNo semantic change is intended.  In fact, the generated configure\nfile doesn't change at all.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 22 +++++++++++-----------\n 1 file changed, 11 insertions(+), 11 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 4e9012f..14c7960 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -7,7 +7,7 @@\n # --------------------------\n # Append LINE to file ${config_append}\n AC_DEFUN([GIT_CONF_APPEND_LINE],\n-         [echo \"$1\" >> \"${config_append}\"])\n+         [echo \"$1=$2\" >> \"${config_append}\"])\n \n # GIT_ARG_SET_PATH(PROGRAM)\n # -------------------------\n@@ -34,8 +34,8 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \tif test -n \"$2\"; then\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Disabling use of ${PROGRAM}])\n-\t\tGIT_CONF_APPEND_LINE(NO_${PROGRAM}=YesPlease)\n-\t\tGIT_CONF_APPEND_LINE(${PROGRAM}_PATH=)\n+\t\tGIT_CONF_APPEND_LINE([NO_${PROGRAM}], [YesPlease])\n+\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [])\n \telse\n \t\tAC_MSG_ERROR([You cannot use git without $1])\n \tfi\n@@ -45,7 +45,7 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \telse\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Setting GIT_UC_PROGRAM[]_PATH to $withval])\n-\t\tGIT_CONF_APPEND_LINE(${PROGRAM}_PATH=$withval)\n+\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [$withval])\n \tfi\n     fi\n     m4_popdef([GIT_UC_PROGRAM])])\n@@ -67,7 +67,7 @@ AC_DEFUN([GIT_PARSE_WITH],\n \tNO_[]GIT_UC_PACKAGE=\n \tGIT_UC_PACKAGE[]DIR=$withval\n \tAC_MSG_NOTICE([Setting GIT_UC_PACKAGE[]DIR to $withval])\n-\tGIT_CONF_APPEND_LINE(${PACKAGE}DIR=$withval)\n+\tGIT_CONF_APPEND_LINE([${PACKAGE}DIR], [$withval])\n     fi\n     m4_popdef([GIT_UC_PACKAGE])])\n \n@@ -87,7 +87,7 @@ AC_DEFUN([GIT_PARSE_WITH_SET_MAKE_VAR],\n \t\t     [a value for $1 ($2).  Maybe you do...?])\n   fi\n   AC_MSG_NOTICE([Setting $2 to $withval])\n-  GIT_CONF_APPEND_LINE($2=$withval)\n+  GIT_CONF_APPEND_LINE([$2], [$withval])\n  fi)])# GIT_PARSE_WITH_SET_MAKE_VAR\n \n #\n@@ -150,7 +150,7 @@ AC_ARG_WITH([sane-tool-path],\n   else\n     AC_MSG_NOTICE([Setting SANE_TOOL_PATH to '$withval'])\n   fi\n-  GIT_CONF_APPEND_LINE([SANE_TOOL_PATH=$withval])],\n+  GIT_CONF_APPEND_LINE([SANE_TOOL_PATH], [$withval])],\n   [# If the \"--with-sane-tool-path\" option was not given, don't touch\n    # SANE_TOOL_PATH here, but let defaults in Makefile take care of it.\n    # This should minimize spurious differences in the behaviour of the\n@@ -169,7 +169,7 @@ AC_ARG_WITH([lib],\n   else\n \tlib=$withval\n \tAC_MSG_NOTICE([Setting lib to '$lib'])\n-\tGIT_CONF_APPEND_LINE(lib=$withval)\n+\tGIT_CONF_APPEND_LINE([lib], [$withval])\n   fi])\n \n if test -z \"$lib\"; then\n@@ -205,7 +205,7 @@ AC_ARG_ENABLE([jsmin],\n [\n   JSMIN=$enableval;\n   AC_MSG_NOTICE([Setting JSMIN to '$JSMIN' to enable JavaScript minifying])\n-  GIT_CONF_APPEND_LINE(JSMIN=$enableval);\n+  GIT_CONF_APPEND_LINE([JSMIN], [$enableval]);\n ])\n \n # Define option to enable CSS minification\n@@ -215,7 +215,7 @@ AC_ARG_ENABLE([cssmin],\n [\n   CSSMIN=$enableval;\n   AC_MSG_NOTICE([Setting CSSMIN to '$CSSMIN' to enable CSS minifying])\n-  GIT_CONF_APPEND_LINE(CSSMIN=$enableval);\n+  GIT_CONF_APPEND_LINE([CSSMIN], [$enableval]);\n ])\n \n ## Site configuration (override autodetection)\n@@ -256,7 +256,7 @@ AS_HELP_STRING([],           [ARG can be also prefix for libpcre library and hea\n \tUSE_LIBPCRE=YesPlease\n \tLIBPCREDIR=$withval\n \tAC_MSG_NOTICE([Setting LIBPCREDIR to $withval])\n-\tGIT_CONF_APPEND_LINE(LIBPCREDIR=$withval)\n+\tGIT_CONF_APPEND_LINE([LIBPCREDIR], [$withval])\n     fi)\n #\n # Define NO_CURL if you do not have curl installed.  git-http-pull and\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195296","messageId":"5c4e73c3bed1a7c9135a6229d8d66aa2c61e319a.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"[PATCH 2/7] autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:34:57Z","receivedAt":"2012-07-18T22:34:57Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"The new name fits better with the macro signature, and underlines the\nsimilarities with the autoconf-provided macro AC_SUBST (which will be\nmade even more pronounced in planned future commits).\n\nOnce again, no semantic change is intended, and indeed no change to the\ngenerated configure script is expected.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 24 ++++++++++++------------\n 1 file changed, 12 insertions(+), 12 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 14c7960..789926f 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -3,10 +3,10 @@\n \n ## Definitions of private macros.\n \n-# GIT_CONF_APPEND_LINE(LINE)\n+# GIT_CONF_SUBST(LINE)\n # --------------------------\n # Append LINE to file ${config_append}\n-AC_DEFUN([GIT_CONF_APPEND_LINE],\n+AC_DEFUN([GIT_CONF_SUBST],\n          [echo \"$1=$2\" >> \"${config_append}\"])\n \n # GIT_ARG_SET_PATH(PROGRAM)\n@@ -34,8 +34,8 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \tif test -n \"$2\"; then\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Disabling use of ${PROGRAM}])\n-\t\tGIT_CONF_APPEND_LINE([NO_${PROGRAM}], [YesPlease])\n-\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [])\n+\t\tGIT_CONF_SUBST([NO_${PROGRAM}], [YesPlease])\n+\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [])\n \telse\n \t\tAC_MSG_ERROR([You cannot use git without $1])\n \tfi\n@@ -45,7 +45,7 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \telse\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Setting GIT_UC_PROGRAM[]_PATH to $withval])\n-\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [$withval])\n+\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [$withval])\n \tfi\n     fi\n     m4_popdef([GIT_UC_PROGRAM])])\n@@ -67,7 +67,7 @@ AC_DEFUN([GIT_PARSE_WITH],\n \tNO_[]GIT_UC_PACKAGE=\n \tGIT_UC_PACKAGE[]DIR=$withval\n \tAC_MSG_NOTICE([Setting GIT_UC_PACKAGE[]DIR to $withval])\n-\tGIT_CONF_APPEND_LINE([${PACKAGE}DIR], [$withval])\n+\tGIT_CONF_SUBST([${PACKAGE}DIR], [$withval])\n     fi\n     m4_popdef([GIT_UC_PACKAGE])])\n \n@@ -87,7 +87,7 @@ AC_DEFUN([GIT_PARSE_WITH_SET_MAKE_VAR],\n \t\t     [a value for $1 ($2).  Maybe you do...?])\n   fi\n   AC_MSG_NOTICE([Setting $2 to $withval])\n-  GIT_CONF_APPEND_LINE([$2], [$withval])\n+  GIT_CONF_SUBST([$2], [$withval])\n  fi)])# GIT_PARSE_WITH_SET_MAKE_VAR\n \n #\n@@ -150,7 +150,7 @@ AC_ARG_WITH([sane-tool-path],\n   else\n     AC_MSG_NOTICE([Setting SANE_TOOL_PATH to '$withval'])\n   fi\n-  GIT_CONF_APPEND_LINE([SANE_TOOL_PATH], [$withval])],\n+  GIT_CONF_SUBST([SANE_TOOL_PATH], [$withval])],\n   [# If the \"--with-sane-tool-path\" option was not given, don't touch\n    # SANE_TOOL_PATH here, but let defaults in Makefile take care of it.\n    # This should minimize spurious differences in the behaviour of the\n@@ -169,7 +169,7 @@ AC_ARG_WITH([lib],\n   else\n \tlib=$withval\n \tAC_MSG_NOTICE([Setting lib to '$lib'])\n-\tGIT_CONF_APPEND_LINE([lib], [$withval])\n+\tGIT_CONF_SUBST([lib], [$withval])\n   fi])\n \n if test -z \"$lib\"; then\n@@ -205,7 +205,7 @@ AC_ARG_ENABLE([jsmin],\n [\n   JSMIN=$enableval;\n   AC_MSG_NOTICE([Setting JSMIN to '$JSMIN' to enable JavaScript minifying])\n-  GIT_CONF_APPEND_LINE([JSMIN], [$enableval]);\n+  GIT_CONF_SUBST([JSMIN], [$enableval]);\n ])\n \n # Define option to enable CSS minification\n@@ -215,7 +215,7 @@ AC_ARG_ENABLE([cssmin],\n [\n   CSSMIN=$enableval;\n   AC_MSG_NOTICE([Setting CSSMIN to '$CSSMIN' to enable CSS minifying])\n-  GIT_CONF_APPEND_LINE([CSSMIN], [$enableval]);\n+  GIT_CONF_SUBST([CSSMIN], [$enableval]);\n ])\n \n ## Site configuration (override autodetection)\n@@ -256,7 +256,7 @@ AS_HELP_STRING([],           [ARG can be also prefix for libpcre library and hea\n \tUSE_LIBPCRE=YesPlease\n \tLIBPCREDIR=$withval\n \tAC_MSG_NOTICE([Setting LIBPCREDIR to $withval])\n-\tGIT_CONF_APPEND_LINE([LIBPCREDIR], [$withval])\n+\tGIT_CONF_SUBST([LIBPCREDIR], [$withval])\n     fi)\n #\n # Define NO_CURL if you do not have curl installed.  git-http-pull and\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195297","messageId":"4392b87d8e6c73cfa06459a24b1721b8a8e13a81.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"[PATCH 3/7] autoconf: remove some redundant shell indirections","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:34:58Z","receivedAt":"2012-07-18T22:34:58Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"They are merely useless now, but would get in the way of future changes.\n\nNo semantic change is intended.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 12 +++++-------\n 1 file changed, 5 insertions(+), 7 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 789926f..9472f6b 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -29,13 +29,12 @@ AC_DEFUN([GIT_ARG_SET_PATH],\n # --without-PROGRAM is used.\n AC_DEFUN([GIT_CONF_APPEND_PATH],\n     [m4_pushdef([GIT_UC_PROGRAM], m4_toupper([$1]))dnl\n-    PROGRAM=GIT_UC_PROGRAM\n     if test \"$withval\" = \"no\"; then\n \tif test -n \"$2\"; then\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n-\t\tAC_MSG_NOTICE([Disabling use of ${PROGRAM}])\n-\t\tGIT_CONF_SUBST([NO_${PROGRAM}], [YesPlease])\n-\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [])\n+\t\tAC_MSG_NOTICE([Disabling use of GIT_UC_PROGRAM])\n+\t\tGIT_CONF_SUBST([NO_]GIT_UC_PROGRAM, [YesPlease])\n+\t\tGIT_CONF_SUBST(GIT_UC_PROGRAM[_PATH], [])\n \telse\n \t\tAC_MSG_ERROR([You cannot use git without $1])\n \tfi\n@@ -45,7 +44,7 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \telse\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Setting GIT_UC_PROGRAM[]_PATH to $withval])\n-\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [$withval])\n+\t\tGIT_CONF_SUBST(GIT_UC_PROGRAM[_PATH], [$withval])\n \tfi\n     fi\n     m4_popdef([GIT_UC_PROGRAM])])\n@@ -58,7 +57,6 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n # * Unset NO_PACKAGE for --with-PACKAGE without ARG\n AC_DEFUN([GIT_PARSE_WITH],\n     [m4_pushdef([GIT_UC_PACKAGE], m4_toupper([$1]))dnl\n-    PACKAGE=GIT_UC_PACKAGE\n     if test \"$withval\" = \"no\"; then\n \tNO_[]GIT_UC_PACKAGE=YesPlease\n     elif test \"$withval\" = \"yes\"; then\n@@ -67,7 +65,7 @@ AC_DEFUN([GIT_PARSE_WITH],\n \tNO_[]GIT_UC_PACKAGE=\n \tGIT_UC_PACKAGE[]DIR=$withval\n \tAC_MSG_NOTICE([Setting GIT_UC_PACKAGE[]DIR to $withval])\n-\tGIT_CONF_SUBST([${PACKAGE}DIR], [$withval])\n+\tGIT_CONF_SUBST(GIT_UC_PACKAGE[DIR], [$withval])\n     fi\n     m4_popdef([GIT_UC_PACKAGE])])\n \n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195298","messageId":"1913417f049bb2cb4786aa82ec49af5ae1238a5b.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"[PATCH 4/7] autoconf: remove few redundant semicolons","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:34:59Z","receivedAt":"2012-07-18T22:34:59Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"They are merely useless now, but would get in the way of future changes.\n\nNo semantic change is intended.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 9472f6b..5fb9734 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -203,7 +203,7 @@ AC_ARG_ENABLE([jsmin],\n [\n   JSMIN=$enableval;\n   AC_MSG_NOTICE([Setting JSMIN to '$JSMIN' to enable JavaScript minifying])\n-  GIT_CONF_SUBST([JSMIN], [$enableval]);\n+  GIT_CONF_SUBST([JSMIN], [$enableval])\n ])\n \n # Define option to enable CSS minification\n@@ -213,7 +213,7 @@ AC_ARG_ENABLE([cssmin],\n [\n   CSSMIN=$enableval;\n   AC_MSG_NOTICE([Setting CSSMIN to '$CSSMIN' to enable CSS minifying])\n-  GIT_CONF_SUBST([CSSMIN], [$enableval]);\n+  GIT_CONF_SUBST([CSSMIN], [$enableval])\n ])\n \n ## Site configuration (override autodetection)\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195295","messageId":"ab3ac81e8e3d40a18390b5be4915a0f3ee24a73e.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"[PATCH 5/7] autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:35:00Z","receivedAt":"2012-07-18T22:35:00Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"This will allow \"./config.status --recheck; ./config.status\" to work\ncorrectly as a mean of reconfiguring the tree with the same configure\nargument used in the previous \"./configure\" invocation.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 25 ++++++++++++++++---------\n 1 file changed, 16 insertions(+), 9 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 5fb9734..64eecbc 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -7,7 +7,21 @@\n # --------------------------\n # Append LINE to file ${config_append}\n AC_DEFUN([GIT_CONF_SUBST],\n-         [echo \"$1=$2\" >> \"${config_append}\"])\n+   [AC_REQUIRE([GIT_CONF_SUBST_INIT])\n+   config_appended_defs=\"$config_appended_defs${newline}$1=$2\"])\n+\n+\n+# GIT_CONF_SUBST_INIT\n+# -------------------\n+# Prepare shell variables and autoconf machine required by later calls\n+# to GIT_CONF_SUBST.\n+AC_DEFUN([GIT_CONF_SUBST_INIT], \n+    [config_appended_defs=; newline='\n+'\n+    AC_CONFIG_COMMANDS([$config_file],\n+                       [echo \"$config_appended_defs\" >> \"$config_file\"],\n+                       [config_file=$config_file\n+                        config_appended_defs=\"$config_appended_defs\"])])\n \n # GIT_ARG_SET_PATH(PROGRAM)\n # -------------------------\n@@ -133,11 +147,8 @@ AC_INIT([git], [@@GIT_VERSION@@], [git@vger.kernel.org])\n AC_CONFIG_SRCDIR([git.c])\n \n config_file=config.mak.autogen\n-config_append=config.mak.append\n config_in=config.mak.in\n \n-echo \"# ${config_append}.  Generated by configure.\" > \"${config_append}\"\n-\n # Directories holding \"saner\" versions of common or POSIX binaries.\n AC_ARG_WITH([sane-tool-path],\n   [AS_HELP_STRING(\n@@ -1041,9 +1052,5 @@ AC_SUBST(PTHREAD_LIBS)\n AC_SUBST(NO_PTHREADS)\n \n ## Output files\n-AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\":\"${config_append}\"])\n+AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\"])\n AC_OUTPUT\n-\n-\n-## Cleanup\n-rm -f \"${config_append}\"\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195299","messageId":"e763e7f466efa34f48589f8353a7316fff469145.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"[PATCH 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:35:01Z","receivedAt":"2012-07-18T22:35:01Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"Those filed hold variables, settings and information set by the\nconfiguration process run by './configure'; in Autotools-based\nbuild system that kind of stuff should only be removed by\n\"make distclean\".  Having it removed by \"make clean\" is not only\ninconsistent, but causes real confusion for that part of the Git\naudience that is used to the Autotools semantics; for example,\nan autotools old-timer that has run:\n\n    ./configure --prefix /opt/git\n\nin the past, without running \"make distclean\" afterwards, would\nexpect a \"make install\" issued after a \"make clean\" to rebuild and\ninstall git in '/opt/git'; but with the current behaviour, the\n\"make clean\" invocation removes (among the other things) the file\n'config.mak.autogen', so that the \"make install\" falls back to the\ndefault prefix of '$HOME', thus installing git in the user's home\ndirectory -- definitely unexpected.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n Makefile | 5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 285c660..88a76a3 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -2742,6 +2742,9 @@ dist-doc:\n \n distclean: clean\n \t$(RM) configure\n+\t$(RM) config.log config.status config.cache\n+\t$(RM) config.mak.autogen config.mak.append\n+\t$(RM) -r autom4te.cache\n \n profile-clean:\n \t$(RM) $(addsuffix *.gcda,$(addprefix $(PROFILE_DIR)/, $(object_dirs)))\n@@ -2756,8 +2759,6 @@ clean: profile-clean\n \t$(RM) -r $(dep_dirs)\n \t$(RM) -r po/build/\n \t$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h $(ETAGS_TARGET) tags cscope*\n-\t$(RM) -r autom4te.cache\n-\t$(RM) config.log config.mak.autogen config.mak.append config.status config.cache\n \t$(RM) -r $(GIT_TARNAME) .doc-tmp-dir\n \t$(RM) $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz\n \t$(RM) $(htmldocs).tar.gz $(manpages).tar.gz\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195300","messageId":"553d16eabb655a82d76b1fa73b78e1f4a86122d9.1342649928.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"[PATCH 7/7] build: reconfigure automatically if configure.ac changes","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-18T22:35:02Z","receivedAt":"2012-07-18T22:35:02Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"This provides a reduced but still useful sibling of the Automake's\n\"automatic Makefile rebuild\" feature.  It's important to note that\nwe take care to enable the new rules only if the tree that has already\nbe configured with './configure', so that users relying on manual\nconfiguration won't be negatively impacted.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n Makefile     | 12 ++++++++++++\n configure.ac |  2 ++\n 2 files changed, 14 insertions(+)\n\ndiff --git a/Makefile b/Makefile\nindex 88a76a3..f4e8fac 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -2158,6 +2158,18 @@ configure: configure.ac GIT-VERSION-FILE\n \tautoconf -o $@ $<+ && \\\n \t$(RM) $<+\n \n+ifdef AUTOCONFIGURED\n+config.status: configure\n+\t$(QUIET_GEN)if test -f config.status; then \\\n+\t  ./config.status --recheck; \\\n+\telse \\\n+\t  ./configure; \\\n+\tfi\n+reconfigure config.mak.autogen: config.status\n+\t$(QUIET_GEN)./config.status\n+.PHONY: reconfigure # This is a convenience target.\n+endif\n+\n XDIFF_OBJS += xdiff/xdiffi.o\n XDIFF_OBJS += xdiff/xprepare.o\n XDIFF_OBJS += xdiff/xutils.o\ndiff --git a/configure.ac b/configure.ac\nindex 64eecbc..8949935 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -149,6 +149,8 @@ AC_CONFIG_SRCDIR([git.c])\n config_file=config.mak.autogen\n config_in=config.mak.in\n \n+GIT_CONF_SUBST([AUTOCONFIGURED], [YesPlease])\n+\n # Directories holding \"saner\" versions of common or POSIX binaries.\n AC_ARG_WITH([sane-tool-path],\n   [AS_HELP_STRING(\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195304","messageId":"7v7gu0wqtk.fsf@alter.siamese.dyndns.org","threadId":"31050","inReplyTo":"5c4e73c3bed1a7c9135a6229d8d66aa2c61e319a.1342649928.git.stefano.lattarini@gmail.com","subject":"Re: [PATCH 2/7] autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-19T00:13:43Z","receivedAt":"2012-07-19T00:13:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n\n> The new name fits better with the macro signature, and underlines the\n> similarities with the autoconf-provided macro AC_SUBST (which will be\n> made even more pronounced in planned future commits).\n>\n> Once again, no semantic change is intended, and indeed no change to the\n> generated configure script is expected.\n>\n> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n> ---\n>  configure.ac | 24 ++++++++++++------------\n>  1 file changed, 12 insertions(+), 12 deletions(-)\n>\n> diff --git a/configure.ac b/configure.ac\n> index 14c7960..789926f 100644\n> --- a/configure.ac\n> +++ b/configure.ac\n> @@ -3,10 +3,10 @@\n>  \n>  ## Definitions of private macros.\n>  \n> -# GIT_CONF_APPEND_LINE(LINE)\n> +# GIT_CONF_SUBST(LINE)\n\nI see that [PATCH 1/7] needs to be updated so that it describes the\nnew two-argument form of GIT_CONF_APPEND_LINE(VAR, VAL), and this\npatch needs to be updated for GIT_CONF_SUBST() with the same.\n\n>  # --------------------------\n>  # Append LINE to file ${config_append}\n\nAlso the description definitely wants to be updated; it is no longer\nLINEness that matters.\n\nOther than that, 1 & 2 looked very nice and sensible.\n"},{"id":"195305","messageId":"7v394owq3l.fsf@alter.siamese.dyndns.org","threadId":"31050","inReplyTo":"4392b87d8e6c73cfa06459a24b1721b8a8e13a81.1342649928.git.stefano.lattarini@gmail.com","subject":"Re: [PATCH 3/7] autoconf: remove some redundant shell indirections","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-19T00:29:18Z","receivedAt":"2012-07-19T00:29:18Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n\n> diff --git a/configure.ac b/configure.ac\n> index 789926f..9472f6b 100644\n> --- a/configure.ac\n> +++ b/configure.ac\n> @@ -29,13 +29,12 @@ AC_DEFUN([GIT_ARG_SET_PATH],\n>  # --without-PROGRAM is used.\n>  AC_DEFUN([GIT_CONF_APPEND_PATH],\n>      [m4_pushdef([GIT_UC_PROGRAM], m4_toupper([$1]))dnl\n>      if test \"$withval\" = \"no\"; then\n>  \tif test -n \"$2\"; then\n>  \t\tGIT_UC_PROGRAM[]_PATH=$withval\n> +\t\tAC_MSG_NOTICE([Disabling use of GIT_UC_PROGRAM])\n> +\t\tGIT_CONF_SUBST([NO_]GIT_UC_PROGRAM, [YesPlease])\n> +\t\tGIT_CONF_SUBST(GIT_UC_PROGRAM[_PATH], [])\n\nNice.\n\nThe inconsistency between the existing one that does not quote the\nstring that is not substituted, i.e.\n\n\tGIT_UC_PROGRAM[]_PATH=$withval\n\nand the new one that quotes _PATH, i.e.\n\n\tGIT_CONF_SUBST(GIT_UC_PROGRAM[_PATH], [])\n\nlooks somewhat strange, though.\n"},{"id":"195306","messageId":"7vy5mgvb6f.fsf@alter.siamese.dyndns.org","threadId":"31050","inReplyTo":"cover.1342649928.git.stefano.lattarini@gmail.com","subject":"Re: [PATCH 0/7] build system: support automatic reconfiguration for autotools user","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-19T00:36:56Z","receivedAt":"2012-07-19T00:36:56Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Except for miniscule nits in the the bottom two, I didn't find\nanything objectionable---nicely done.\n"},{"id":"195308","messageId":"vpqy5mgdyro.fsf@bauges.imag.fr","threadId":"31050","inReplyTo":"e763e7f466efa34f48589f8353a7316fff469145.1342649928.git.stefano.lattarini@gmail.com","subject":"Re: [PATCH 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2012-07-19T06:56:59Z","receivedAt":"2012-07-19T06:56:59Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n\n> for example, an autotools old-timer that has run:\n>\n>     ./configure --prefix /opt/git\n>\n> in the past, without running \"make distclean\" afterwards, would\n> expect a \"make install\" issued after a \"make clean\" to rebuild and\n> install git in '/opt/git';\n\nI've been hit by that behavior once. Thanks for fixing it. The patch\nlooks good.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"195309","messageId":"5007B780.7010500@gmail.com","threadId":"31050","inReplyTo":"vpqy5mgdyro.fsf@bauges.imag.fr","subject":"Re: [PATCH 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:30:08Z","receivedAt":"2012-07-19T07:30:08Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"On 07/19/2012 08:56 AM, Matthieu Moy wrote:\n> Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n> \n>> for example, an autotools old-timer that has run:\n>>\n>>     ./configure --prefix /opt/git\n>>\n>> in the past, without running \"make distclean\" afterwards, would\n>> expect a \"make install\" issued after a \"make clean\" to rebuild and\n>> install git in '/opt/git';\n> \n> I've been hit by that behavior once. Thanks for fixing it. The patch\n> looks good.\n> \nShould I add \"Acked-by: Matthieu Moy\" then?  (Sorry if it's a dumb\nquestion, but I'm not sure which the preferred policy is around here).\n\nThanks,\n  Stefano\n"},{"id":"195310","messageId":"5007B7B1.8000909@gmail.com","threadId":"31050","inReplyTo":"7v394owq3l.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 3/7] autoconf: remove some redundant shell indirections","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:30:57Z","receivedAt":"2012-07-19T07:30:57Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"On 07/19/2012 02:29 AM, Junio C Hamano wrote:\n> \n> The inconsistency between the existing one that does not quote the\n> string that is not substituted, i.e.\n> \n> \tGIT_UC_PROGRAM[]_PATH=$withval\n> \n> and the new one that quotes _PATH, i.e.\n> \n> \tGIT_CONF_SUBST(GIT_UC_PROGRAM[_PATH], [])\n> \n> looks somewhat strange, though.\n>\nWill fix that in the re-roll.\n\nThanks,\n  Stefano\n"},{"id":"195312","messageId":"5007B825.3040609@gmail.com","threadId":"31050","inReplyTo":"7v7gu0wqtk.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 2/7] autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:32:53Z","receivedAt":"2012-07-19T07:32:53Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"On 07/19/2012 02:13 AM, Junio C Hamano wrote:\n> Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n> \n>> The new name fits better with the macro signature, and underlines the\n>> similarities with the autoconf-provided macro AC_SUBST (which will be\n>> made even more pronounced in planned future commits).\n>>\n>> Once again, no semantic change is intended, and indeed no change to the\n>> generated configure script is expected.\n>>\n>> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n>> ---\n>>  configure.ac | 24 ++++++++++++------------\n>>  1 file changed, 12 insertions(+), 12 deletions(-)\n>>\n>> diff --git a/configure.ac b/configure.ac\n>> index 14c7960..789926f 100644\n>> --- a/configure.ac\n>> +++ b/configure.ac\n>> @@ -3,10 +3,10 @@\n>>  \n>>  ## Definitions of private macros.\n>>  \n>> -# GIT_CONF_APPEND_LINE(LINE)\n>> +# GIT_CONF_SUBST(LINE)\n> \n> I see that [PATCH 1/7] needs to be updated so that it describes the\n> new two-argument form of GIT_CONF_APPEND_LINE(VAR, VAL), and this\n> patch needs to be updated for GIT_CONF_SUBST() with the same.\n>\nOops, you're right.  I will fix that in the re-roll.\n\n>>  # --------------------------\n>>  # Append LINE to file ${config_append}\n> \n> Also the description definitely wants to be updated; it is no longer\n> LINEness that matters.\n> \n> Other than that, 1 & 2 looked very nice and sensible.\n>\nThanks!\n\nRegards,\n  Stefano\n"},{"id":"195313","messageId":"vpqpq7sdwmd.fsf@bauges.imag.fr","threadId":"31050","inReplyTo":"5007B780.7010500@gmail.com","subject":"Re: [PATCH 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Matthieu Moy","fromEmail":"matthieu.moy@grenoble-inp.fr","sentAt":"2012-07-19T07:43:22Z","receivedAt":"2012-07-19T07:43:22Z","isPatch":true,"sender":{"key":"matthieu.moy@grenoble-inp.fr","avatar":"https://gravatar.com/avatar/72c8a2705971a25dfaff23cece15130d405685845d911aedd5667ace277f3fc5?d=mp&s=160"},"body":"Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n\n> Should I add \"Acked-by: Matthieu Moy\" then?  (Sorry if it's a dumb\n> question, but I'm not sure which the preferred policy is around here).\n\nNot necessarily needed if the patch is not otherwise controversial. The\nemail discussions are usually sufficient for that. I'd say you may add\nit if you need to resend.\n\n-- \nMatthieu Moy\nhttp://www-verimag.imag.fr/~moy/\n"},{"id":"195314","messageId":"cover.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"7vy5mgvb6f.fsf@alter.siamese.dyndns.org","subject":"[PATCH v2 0/7] build system: support automatic reconfiguration for autotools user","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:49:55Z","receivedAt":"2012-07-19T07:49:55Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"> Except for miniscule nits in the the bottom two, I didn't find\n> anything objectionable---nicely done.\n>\nThanks.\n\nHere is the re-roll, which should address all the reported nits.\n\nStefano Lattarini (7):\n  autoconf: GIT_CONF_APPEND_LINE: change signature\n  autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST\n  autoconf: remove some redundant shell indirections\n  autoconf: remove few redundant semicolons\n  autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'\n  build: \"make clean\" should not remove configure-generated files\n  build: reconfigure automatically if configure.ac changes\n\n Makefile     | 17 +++++++++++++++--\n configure.ac | 56 +++++++++++++++++++++++++++++++-------------------------\n 2 files changed, 46 insertions(+), 27 deletions(-)\n\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195316","messageId":"bed901f25e6e9b6c6c3e5b9e13fc1e3605ce08ef.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342683786.git.stefano.lattarini@gmail.com","subject":"[PATCH v2 1/7] autoconf: GIT_CONF_APPEND_LINE: change signature","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:49:56Z","receivedAt":"2012-07-19T07:49:56Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"From:\n\n   GIT_CONF_APPEND_LINE([VAR=VAL])\n\nto:\n\n   GIT_CONF_APPEND_LINE([VAR], [VAL])\n\nThis is only a preparatory change in view of future refactorings.\nNo semantic change is intended.  In fact, the generated configure\nfile doesn't change at all.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 28 ++++++++++++++--------------\n 1 file changed, 14 insertions(+), 14 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 4e9012f..5f63269 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -3,11 +3,11 @@\n \n ## Definitions of private macros.\n \n-# GIT_CONF_APPEND_LINE(LINE)\n-# --------------------------\n-# Append LINE to file ${config_append}\n+# GIT_CONF_APPEND_LINE(VAL, VAR)\n+# ------------------------------\n+# Append the line \"VAR=VAL\" to file ${config_append}\n AC_DEFUN([GIT_CONF_APPEND_LINE],\n-         [echo \"$1\" >> \"${config_append}\"])\n+         [echo \"$1=$2\" >> \"${config_append}\"])\n \n # GIT_ARG_SET_PATH(PROGRAM)\n # -------------------------\n@@ -34,8 +34,8 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \tif test -n \"$2\"; then\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Disabling use of ${PROGRAM}])\n-\t\tGIT_CONF_APPEND_LINE(NO_${PROGRAM}=YesPlease)\n-\t\tGIT_CONF_APPEND_LINE(${PROGRAM}_PATH=)\n+\t\tGIT_CONF_APPEND_LINE([NO_${PROGRAM}], [YesPlease])\n+\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [])\n \telse\n \t\tAC_MSG_ERROR([You cannot use git without $1])\n \tfi\n@@ -45,7 +45,7 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \telse\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Setting GIT_UC_PROGRAM[]_PATH to $withval])\n-\t\tGIT_CONF_APPEND_LINE(${PROGRAM}_PATH=$withval)\n+\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [$withval])\n \tfi\n     fi\n     m4_popdef([GIT_UC_PROGRAM])])\n@@ -67,7 +67,7 @@ AC_DEFUN([GIT_PARSE_WITH],\n \tNO_[]GIT_UC_PACKAGE=\n \tGIT_UC_PACKAGE[]DIR=$withval\n \tAC_MSG_NOTICE([Setting GIT_UC_PACKAGE[]DIR to $withval])\n-\tGIT_CONF_APPEND_LINE(${PACKAGE}DIR=$withval)\n+\tGIT_CONF_APPEND_LINE([${PACKAGE}DIR], [$withval])\n     fi\n     m4_popdef([GIT_UC_PACKAGE])])\n \n@@ -87,7 +87,7 @@ AC_DEFUN([GIT_PARSE_WITH_SET_MAKE_VAR],\n \t\t     [a value for $1 ($2).  Maybe you do...?])\n   fi\n   AC_MSG_NOTICE([Setting $2 to $withval])\n-  GIT_CONF_APPEND_LINE($2=$withval)\n+  GIT_CONF_APPEND_LINE([$2], [$withval])\n  fi)])# GIT_PARSE_WITH_SET_MAKE_VAR\n \n #\n@@ -150,7 +150,7 @@ AC_ARG_WITH([sane-tool-path],\n   else\n     AC_MSG_NOTICE([Setting SANE_TOOL_PATH to '$withval'])\n   fi\n-  GIT_CONF_APPEND_LINE([SANE_TOOL_PATH=$withval])],\n+  GIT_CONF_APPEND_LINE([SANE_TOOL_PATH], [$withval])],\n   [# If the \"--with-sane-tool-path\" option was not given, don't touch\n    # SANE_TOOL_PATH here, but let defaults in Makefile take care of it.\n    # This should minimize spurious differences in the behaviour of the\n@@ -169,7 +169,7 @@ AC_ARG_WITH([lib],\n   else\n \tlib=$withval\n \tAC_MSG_NOTICE([Setting lib to '$lib'])\n-\tGIT_CONF_APPEND_LINE(lib=$withval)\n+\tGIT_CONF_APPEND_LINE([lib], [$withval])\n   fi])\n \n if test -z \"$lib\"; then\n@@ -205,7 +205,7 @@ AC_ARG_ENABLE([jsmin],\n [\n   JSMIN=$enableval;\n   AC_MSG_NOTICE([Setting JSMIN to '$JSMIN' to enable JavaScript minifying])\n-  GIT_CONF_APPEND_LINE(JSMIN=$enableval);\n+  GIT_CONF_APPEND_LINE([JSMIN], [$enableval]);\n ])\n \n # Define option to enable CSS minification\n@@ -215,7 +215,7 @@ AC_ARG_ENABLE([cssmin],\n [\n   CSSMIN=$enableval;\n   AC_MSG_NOTICE([Setting CSSMIN to '$CSSMIN' to enable CSS minifying])\n-  GIT_CONF_APPEND_LINE(CSSMIN=$enableval);\n+  GIT_CONF_APPEND_LINE([CSSMIN], [$enableval]);\n ])\n \n ## Site configuration (override autodetection)\n@@ -256,7 +256,7 @@ AS_HELP_STRING([],           [ARG can be also prefix for libpcre library and hea\n \tUSE_LIBPCRE=YesPlease\n \tLIBPCREDIR=$withval\n \tAC_MSG_NOTICE([Setting LIBPCREDIR to $withval])\n-\tGIT_CONF_APPEND_LINE(LIBPCREDIR=$withval)\n+\tGIT_CONF_APPEND_LINE([LIBPCREDIR], [$withval])\n     fi)\n #\n # Define NO_CURL if you do not have curl installed.  git-http-pull and\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195315","messageId":"c3181a04d19136962968efd59a3e5b1b70535474.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342683786.git.stefano.lattarini@gmail.com","subject":"[PATCH v2 2/7] autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBST","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:49:57Z","receivedAt":"2012-07-19T07:49:57Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"The new name fits better with the macro signature, and underlines the\nsimilarities with the autoconf-provided macro AC_SUBST (which will be\nmade even more pronounced in planned future commits).\n\nOnce again, no semantic change is intended, and indeed no change to the\ngenerated configure script is expected.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 24 ++++++++++++------------\n 1 file changed, 12 insertions(+), 12 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 5f63269..02b9a49 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -3,8 +3,8 @@\n \n ## Definitions of private macros.\n \n-# GIT_CONF_APPEND_LINE(VAL, VAR)\n-# ------------------------------\n+# GIT_CONF_SUBST(VAL, VAR)\n+# ------------------------\n # Append the line \"VAR=VAL\" to file ${config_append}\n AC_DEFUN([GIT_CONF_APPEND_LINE],\n          [echo \"$1=$2\" >> \"${config_append}\"])\n@@ -34,8 +34,8 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \tif test -n \"$2\"; then\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Disabling use of ${PROGRAM}])\n-\t\tGIT_CONF_APPEND_LINE([NO_${PROGRAM}], [YesPlease])\n-\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [])\n+\t\tGIT_CONF_SUBST([NO_${PROGRAM}], [YesPlease])\n+\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [])\n \telse\n \t\tAC_MSG_ERROR([You cannot use git without $1])\n \tfi\n@@ -45,7 +45,7 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \telse\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Setting GIT_UC_PROGRAM[]_PATH to $withval])\n-\t\tGIT_CONF_APPEND_LINE([${PROGRAM}_PATH], [$withval])\n+\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [$withval])\n \tfi\n     fi\n     m4_popdef([GIT_UC_PROGRAM])])\n@@ -67,7 +67,7 @@ AC_DEFUN([GIT_PARSE_WITH],\n \tNO_[]GIT_UC_PACKAGE=\n \tGIT_UC_PACKAGE[]DIR=$withval\n \tAC_MSG_NOTICE([Setting GIT_UC_PACKAGE[]DIR to $withval])\n-\tGIT_CONF_APPEND_LINE([${PACKAGE}DIR], [$withval])\n+\tGIT_CONF_SUBST([${PACKAGE}DIR], [$withval])\n     fi\n     m4_popdef([GIT_UC_PACKAGE])])\n \n@@ -87,7 +87,7 @@ AC_DEFUN([GIT_PARSE_WITH_SET_MAKE_VAR],\n \t\t     [a value for $1 ($2).  Maybe you do...?])\n   fi\n   AC_MSG_NOTICE([Setting $2 to $withval])\n-  GIT_CONF_APPEND_LINE([$2], [$withval])\n+  GIT_CONF_SUBST([$2], [$withval])\n  fi)])# GIT_PARSE_WITH_SET_MAKE_VAR\n \n #\n@@ -150,7 +150,7 @@ AC_ARG_WITH([sane-tool-path],\n   else\n     AC_MSG_NOTICE([Setting SANE_TOOL_PATH to '$withval'])\n   fi\n-  GIT_CONF_APPEND_LINE([SANE_TOOL_PATH], [$withval])],\n+  GIT_CONF_SUBST([SANE_TOOL_PATH], [$withval])],\n   [# If the \"--with-sane-tool-path\" option was not given, don't touch\n    # SANE_TOOL_PATH here, but let defaults in Makefile take care of it.\n    # This should minimize spurious differences in the behaviour of the\n@@ -169,7 +169,7 @@ AC_ARG_WITH([lib],\n   else\n \tlib=$withval\n \tAC_MSG_NOTICE([Setting lib to '$lib'])\n-\tGIT_CONF_APPEND_LINE([lib], [$withval])\n+\tGIT_CONF_SUBST([lib], [$withval])\n   fi])\n \n if test -z \"$lib\"; then\n@@ -205,7 +205,7 @@ AC_ARG_ENABLE([jsmin],\n [\n   JSMIN=$enableval;\n   AC_MSG_NOTICE([Setting JSMIN to '$JSMIN' to enable JavaScript minifying])\n-  GIT_CONF_APPEND_LINE([JSMIN], [$enableval]);\n+  GIT_CONF_SUBST([JSMIN], [$enableval]);\n ])\n \n # Define option to enable CSS minification\n@@ -215,7 +215,7 @@ AC_ARG_ENABLE([cssmin],\n [\n   CSSMIN=$enableval;\n   AC_MSG_NOTICE([Setting CSSMIN to '$CSSMIN' to enable CSS minifying])\n-  GIT_CONF_APPEND_LINE([CSSMIN], [$enableval]);\n+  GIT_CONF_SUBST([CSSMIN], [$enableval]);\n ])\n \n ## Site configuration (override autodetection)\n@@ -256,7 +256,7 @@ AS_HELP_STRING([],           [ARG can be also prefix for libpcre library and hea\n \tUSE_LIBPCRE=YesPlease\n \tLIBPCREDIR=$withval\n \tAC_MSG_NOTICE([Setting LIBPCREDIR to $withval])\n-\tGIT_CONF_APPEND_LINE([LIBPCREDIR], [$withval])\n+\tGIT_CONF_SUBST([LIBPCREDIR], [$withval])\n     fi)\n #\n # Define NO_CURL if you do not have curl installed.  git-http-pull and\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195318","messageId":"edc192e0d37b96c3c7727bd19e4cd3979b579574.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342683786.git.stefano.lattarini@gmail.com","subject":"[PATCH v2 3/7] autoconf: remove some redundant shell indirections","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:49:58Z","receivedAt":"2012-07-19T07:49:58Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"They are merely useless now, but would get in the way of future changes.\n\nNo semantic change is intended.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 12 +++++-------\n 1 file changed, 5 insertions(+), 7 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 02b9a49..200776f 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -29,13 +29,12 @@ AC_DEFUN([GIT_ARG_SET_PATH],\n # --without-PROGRAM is used.\n AC_DEFUN([GIT_CONF_APPEND_PATH],\n     [m4_pushdef([GIT_UC_PROGRAM], m4_toupper([$1]))dnl\n-    PROGRAM=GIT_UC_PROGRAM\n     if test \"$withval\" = \"no\"; then\n \tif test -n \"$2\"; then\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n-\t\tAC_MSG_NOTICE([Disabling use of ${PROGRAM}])\n-\t\tGIT_CONF_SUBST([NO_${PROGRAM}], [YesPlease])\n-\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [])\n+\t\tAC_MSG_NOTICE([Disabling use of GIT_UC_PROGRAM])\n+\t\tGIT_CONF_SUBST([NO_]GIT_UC_PROGRAM, [YesPlease])\n+\t\tGIT_CONF_SUBST(GIT_UC_PROGRAM[]_PATH, [])\n \telse\n \t\tAC_MSG_ERROR([You cannot use git without $1])\n \tfi\n@@ -45,7 +44,7 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n \telse\n \t\tGIT_UC_PROGRAM[]_PATH=$withval\n \t\tAC_MSG_NOTICE([Setting GIT_UC_PROGRAM[]_PATH to $withval])\n-\t\tGIT_CONF_SUBST([${PROGRAM}_PATH], [$withval])\n+\t\tGIT_CONF_SUBST(GIT_UC_PROGRAM[]_PATH, [$withval])\n \tfi\n     fi\n     m4_popdef([GIT_UC_PROGRAM])])\n@@ -58,7 +57,6 @@ AC_DEFUN([GIT_CONF_APPEND_PATH],\n # * Unset NO_PACKAGE for --with-PACKAGE without ARG\n AC_DEFUN([GIT_PARSE_WITH],\n     [m4_pushdef([GIT_UC_PACKAGE], m4_toupper([$1]))dnl\n-    PACKAGE=GIT_UC_PACKAGE\n     if test \"$withval\" = \"no\"; then\n \tNO_[]GIT_UC_PACKAGE=YesPlease\n     elif test \"$withval\" = \"yes\"; then\n@@ -67,7 +65,7 @@ AC_DEFUN([GIT_PARSE_WITH],\n \tNO_[]GIT_UC_PACKAGE=\n \tGIT_UC_PACKAGE[]DIR=$withval\n \tAC_MSG_NOTICE([Setting GIT_UC_PACKAGE[]DIR to $withval])\n-\tGIT_CONF_SUBST([${PACKAGE}DIR], [$withval])\n+\tGIT_CONF_SUBST(GIT_UC_PACKAGE[DIR], [$withval])\n     fi\n     m4_popdef([GIT_UC_PACKAGE])])\n \n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195319","messageId":"836c08e3c00035f41aee320dc166eb259ec747a6.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342683786.git.stefano.lattarini@gmail.com","subject":"[PATCH v2 4/7] autoconf: remove few redundant semicolons","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:49:59Z","receivedAt":"2012-07-19T07:49:59Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"They are merely useless now, but would get in the way of future changes.\n\nNo semantic change is intended.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 4 ++--\n 1 file changed, 2 insertions(+), 2 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex 200776f..b453ba5 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -203,7 +203,7 @@ AC_ARG_ENABLE([jsmin],\n [\n   JSMIN=$enableval;\n   AC_MSG_NOTICE([Setting JSMIN to '$JSMIN' to enable JavaScript minifying])\n-  GIT_CONF_SUBST([JSMIN], [$enableval]);\n+  GIT_CONF_SUBST([JSMIN], [$enableval])\n ])\n \n # Define option to enable CSS minification\n@@ -213,7 +213,7 @@ AC_ARG_ENABLE([cssmin],\n [\n   CSSMIN=$enableval;\n   AC_MSG_NOTICE([Setting CSSMIN to '$CSSMIN' to enable CSS minifying])\n-  GIT_CONF_SUBST([CSSMIN], [$enableval]);\n+  GIT_CONF_SUBST([CSSMIN], [$enableval])\n ])\n \n ## Site configuration (override autodetection)\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195317","messageId":"3f038563bcf4aea6bc882e4d565c02976c460cef.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342683786.git.stefano.lattarini@gmail.com","subject":"[PATCH v2 5/7] autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:50:00Z","receivedAt":"2012-07-19T07:50:00Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"This will allow \"./config.status --recheck; ./config.status\" to work\ncorrectly as a mean of reconfiguring the tree with the same configure\nargument used in the previous \"./configure\" invocation.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n configure.ac | 28 +++++++++++++++++-----------\n 1 file changed, 17 insertions(+), 11 deletions(-)\n\ndiff --git a/configure.ac b/configure.ac\nindex b453ba5..a63fe77 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -5,9 +5,22 @@\n \n # GIT_CONF_SUBST(VAL, VAR)\n # ------------------------\n-# Append the line \"VAR=VAL\" to file ${config_append}\n-AC_DEFUN([GIT_CONF_APPEND_LINE],\n-         [echo \"$1=$2\" >> \"${config_append}\"])\n+# Cause the line \"VAR=VAL\" to be eventually appended to ${config_file}.\n+AC_DEFUN([GIT_CONF_SUBST],\n+   [AC_REQUIRE([GIT_CONF_SUBST_INIT])\n+   config_appended_defs=\"$config_appended_defs${newline}$1=$2\"])\n+\n+# GIT_CONF_SUBST_INIT\n+# -------------------\n+# Prepare shell variables and autoconf machine required by later calls\n+# to GIT_CONF_SUBST.\n+AC_DEFUN([GIT_CONF_SUBST_INIT],\n+    [config_appended_defs=; newline='\n+'\n+    AC_CONFIG_COMMANDS([$config_file],\n+                       [echo \"$config_appended_defs\" >> \"$config_file\"],\n+                       [config_file=$config_file\n+                        config_appended_defs=\"$config_appended_defs\"])])\n \n # GIT_ARG_SET_PATH(PROGRAM)\n # -------------------------\n@@ -133,11 +146,8 @@ AC_INIT([git], [@@GIT_VERSION@@], [git@vger.kernel.org])\n AC_CONFIG_SRCDIR([git.c])\n \n config_file=config.mak.autogen\n-config_append=config.mak.append\n config_in=config.mak.in\n \n-echo \"# ${config_append}.  Generated by configure.\" > \"${config_append}\"\n-\n # Directories holding \"saner\" versions of common or POSIX binaries.\n AC_ARG_WITH([sane-tool-path],\n   [AS_HELP_STRING(\n@@ -1041,9 +1051,5 @@ AC_SUBST(PTHREAD_LIBS)\n AC_SUBST(NO_PTHREADS)\n \n ## Output files\n-AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\":\"${config_append}\"])\n+AC_CONFIG_FILES([\"${config_file}\":\"${config_in}\"])\n AC_OUTPUT\n-\n-\n-## Cleanup\n-rm -f \"${config_append}\"\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195320","messageId":"904eb7b0b17805b5265ab70709241b7da382a0cb.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342683786.git.stefano.lattarini@gmail.com","subject":"[PATCH v2 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:50:01Z","receivedAt":"2012-07-19T07:50:01Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"Those filed hold variables, settings and information set by the\nconfiguration process run by './configure'; in Autotools-based\nbuild system that kind of stuff should only be removed by\n\"make distclean\".  Having it removed by \"make clean\" is not only\ninconsistent, but causes real confusion for that part of the Git\naudience that is used to the Autotools semantics; for example,\nan autotools old-timer that has run:\n\n    ./configure --prefix /opt/git\n\nin the past, without running \"make distclean\" afterwards, would\nexpect a \"make install\" issued after a \"make clean\" to rebuild and\ninstall git in '/opt/git'; but with the current behaviour, the\n\"make clean\" invocation removes (among the other things) the file\n'config.mak.autogen', so that the \"make install\" falls back to the\ndefault prefix of '$HOME', thus installing git in the user's home\ndirectory -- definitely unexpected.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n Makefile | 5 +++--\n 1 file changed, 3 insertions(+), 2 deletions(-)\n\ndiff --git a/Makefile b/Makefile\nindex 285c660..88a76a3 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -2742,6 +2742,9 @@ dist-doc:\n \n distclean: clean\n \t$(RM) configure\n+\t$(RM) config.log config.status config.cache\n+\t$(RM) config.mak.autogen config.mak.append\n+\t$(RM) -r autom4te.cache\n \n profile-clean:\n \t$(RM) $(addsuffix *.gcda,$(addprefix $(PROFILE_DIR)/, $(object_dirs)))\n@@ -2756,8 +2759,6 @@ clean: profile-clean\n \t$(RM) -r $(dep_dirs)\n \t$(RM) -r po/build/\n \t$(RM) *.spec *.pyc *.pyo */*.pyc */*.pyo common-cmds.h $(ETAGS_TARGET) tags cscope*\n-\t$(RM) -r autom4te.cache\n-\t$(RM) config.log config.mak.autogen config.mak.append config.status config.cache\n \t$(RM) -r $(GIT_TARNAME) .doc-tmp-dir\n \t$(RM) $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz\n \t$(RM) $(htmldocs).tar.gz $(manpages).tar.gz\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195321","messageId":"173104dd1ddba55bca09e89ba090ebb852bdf1b7.1342683786.git.stefano.lattarini@gmail.com","threadId":"31050","inReplyTo":"cover.1342683786.git.stefano.lattarini@gmail.com","subject":"[PATCH v2 7/7] build: reconfigure automatically if configure.ac changes","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:50:02Z","receivedAt":"2012-07-19T07:50:02Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"This provides a reduced but still useful sibling of the Automake's\n\"automatic Makefile rebuild\" feature.  It's important to note that\nwe take care to enable the new rules only if the tree that has already\nbe configured with './configure', so that users relying on manual\nconfiguration won't be negatively impacted.\n\nSigned-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>\n---\n Makefile     | 12 ++++++++++++\n configure.ac |  2 ++\n 2 files changed, 14 insertions(+)\n\ndiff --git a/Makefile b/Makefile\nindex 88a76a3..f4e8fac 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -2158,6 +2158,18 @@ configure: configure.ac GIT-VERSION-FILE\n \tautoconf -o $@ $<+ && \\\n \t$(RM) $<+\n \n+ifdef AUTOCONFIGURED\n+config.status: configure\n+\t$(QUIET_GEN)if test -f config.status; then \\\n+\t  ./config.status --recheck; \\\n+\telse \\\n+\t  ./configure; \\\n+\tfi\n+reconfigure config.mak.autogen: config.status\n+\t$(QUIET_GEN)./config.status\n+.PHONY: reconfigure # This is a convenience target.\n+endif\n+\n XDIFF_OBJS += xdiff/xdiffi.o\n XDIFF_OBJS += xdiff/xprepare.o\n XDIFF_OBJS += xdiff/xutils.o\ndiff --git a/configure.ac b/configure.ac\nindex a63fe77..df7e376 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -148,6 +148,8 @@ AC_CONFIG_SRCDIR([git.c])\n config_file=config.mak.autogen\n config_in=config.mak.in\n \n+GIT_CONF_SUBST([AUTOCONFIGURED], [YesPlease])\n+\n # Directories holding \"saner\" versions of common or POSIX binaries.\n AC_ARG_WITH([sane-tool-path],\n   [AS_HELP_STRING(\n-- \n1.7.10.2.1067.g553d16e\n"},{"id":"195322","messageId":"5007BE48.809@gmail.com","threadId":"31050","inReplyTo":"vpqpq7sdwmd.fsf@bauges.imag.fr","subject":"Re: [PATCH 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T07:59:04Z","receivedAt":"2012-07-19T07:59:04Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"On 07/19/2012 09:43 AM, Matthieu Moy wrote:\n> Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n> \n>> Should I add \"Acked-by: Matthieu Moy\" then?  (Sorry if it's a dumb\n>> question, but I'm not sure which the preferred policy is around here).\n> \n> Not necessarily needed if the patch is not otherwise controversial. The\n> email discussions are usually sufficient for that. I'd say you may add\n> it if you need to resend.\n> \nOK, thanks for the info.  In light of this, since I've already send a re-roll\nwithout any \"Acked-by:\" line added, I won't bother sending a further re-roll\njust to add such lines.\n\nThanks,\n  Stefano\n"},{"id":"195338","messageId":"7vfw8nvf3u.fsf@alter.siamese.dyndns.org","threadId":"31050","inReplyTo":"5007B7B1.8000909@gmail.com","subject":"Re: [PATCH 3/7] autoconf: remove some redundant shell indirections","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-19T17:24:21Z","receivedAt":"2012-07-19T17:24:21Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n\n> On 07/19/2012 02:29 AM, Junio C Hamano wrote:\n>> \n>> The inconsistency between the existing one that does not quote the\n>> string that is not substituted, i.e.\n>> \n>> \tGIT_UC_PROGRAM[]_PATH=$withval\n>> \n>> and the new one that quotes _PATH, i.e.\n>> \n>> \tGIT_CONF_SUBST(GIT_UC_PROGRAM[_PATH], [])\n>> \n>> looks somewhat strange, though.\n>>\n> Will fix that in the re-roll.\n\nI see you already used the []_PATH in your reroll, and I do not\nthink it matters either way in pracice, but I suspect that it is\ntechnically more correct to have _PATH part inside the bra-ket\nquotes (of course, changing the style to maximally quote like that\nis a totally different topic, and should be done as a separate\npatch, so I think your reroll is the right thing to do within the\nscope of this series).\n\nThanks.\n"},{"id":"195339","messageId":"7vbojbveyn.fsf@alter.siamese.dyndns.org","threadId":"31050","inReplyTo":"5007B780.7010500@gmail.com","subject":"Re: [PATCH 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-19T17:27:28Z","receivedAt":"2012-07-19T17:27:28Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n\n> On 07/19/2012 08:56 AM, Matthieu Moy wrote:\n>> Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n>> \n>>> for example, an autotools old-timer that has run:\n>>>\n>>>     ./configure --prefix /opt/git\n>>>\n>>> in the past, without running \"make distclean\" afterwards, would\n>>> expect a \"make install\" issued after a \"make clean\" to rebuild and\n>>> install git in '/opt/git';\n>> \n>> I've been hit by that behavior once. Thanks for fixing it. The patch\n>> looks good.\n>> \n> Should I add \"Acked-by: Matthieu Moy\" then?\n\nGiven that we see nothing in the ouptut from\n\n $ git shortlog --no-merges --author='Matthieu Moy' -- Makefile configure.ac\n\nthat remotely relates to the current state of affairs in this area,\nI do not think we can say Matthieu _owns_ autoconf-related part of\nthe code in any way, so I do not think it is needed.\n\nThanks.\n"},{"id":"195344","messageId":"500848FB.8060907@gmail.com","threadId":"31050","inReplyTo":"7vfw8nvf3u.fsf@alter.siamese.dyndns.org","subject":"Re: [PATCH 3/7] autoconf: remove some redundant shell indirections","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-19T17:50:51Z","receivedAt":"2012-07-19T17:50:51Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"On 07/19/2012 07:24 PM, Junio C Hamano wrote:\n> Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n> \n>> On 07/19/2012 02:29 AM, Junio C Hamano wrote:\n>>>\n>>> The inconsistency between the existing one that does not quote the\n>>> string that is not substituted, i.e.\n>>>\n>>> \tGIT_UC_PROGRAM[]_PATH=$withval\n>>>\n>>> and the new one that quotes _PATH, i.e.\n>>>\n>>> \tGIT_CONF_SUBST(GIT_UC_PROGRAM[_PATH], [])\n>>>\n>>> looks somewhat strange, though.\n>>>\n>> Will fix that in the re-roll.\n> \n> I see you already used the []_PATH in your reroll, and I do not\n> think it matters either way in pracice, but I suspect that it is\n> technically more correct to have _PATH part inside the bra-ket\n> quotes (of course, changing the style to maximally quote like that\n> is a totally different topic, and should be done as a separate\n> patch,\n>\nYep, that's what I thought.  Glad I got it right, saved another\nre-roll :-)\n\n>so I think your reroll is the right thing to do within the\n> scope of this series).\n>\nAnd as an aside, if we'd somehow got '_PATH' to be a defined macro,\nI say that something would be very, very wrong with the current setup\n(Autoconf strives to be very namespace-clean these days, apart from\nsome old m4 builtins, which must remain available out of the 'm4_'\nand 'AC_' namespaces for sake of backward-compatibility).\n\nToday, excluding few exceptions, I'd say that the main reason to\nproperly quote macro arguments is to avoid commas or quoting characters\nin macro invocations or expansion, or even quoting characters themselves,\nto be spuriously considered as metacharacters and thus processed.\n\n> Thanks.\n>\nThanks to you for the quick feedback.\n\nRegards,\n  Stefano\n"},{"id":"195592","messageId":"500DDB07.6050006@gmail.com","threadId":"31050","inReplyTo":"904eb7b0b17805b5265ab70709241b7da382a0cb.1342683786.git.stefano.lattarini@gmail.com","subject":"Re: [PATCH v2 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-23T23:15:19Z","receivedAt":"2012-07-23T23:15:19Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"Hi Junio.\n\nOn 07/19/2012 09:50 AM, Stefano Lattarini wrote:\n> Those filed\n>\nOops, this should read \"files\", not \"filed\" ...\n\n> hold variables, settings and information set by the\n> configuration process run by './configure'; in Autotools-based\n> build system that kind of stuff should only be removed by\n> \"make distclean\".  Having it removed by \"make clean\" is not only\n> inconsistent, but causes real confusion for that part of the Git\n> audience that is used to the Autotools semantics; for example,\n> an autotools old-timer that has run:\n> \n>     ./configure --prefix /opt/git\n> \n> in the past, without running \"make distclean\" afterwards, would\n> expect a \"make install\" issued after a \"make clean\" to rebuild and\n> install git in '/opt/git'; but with the current behaviour, the\n> \"make clean\" invocation removes (among the other things) the file\n> 'config.mak.autogen', so that the \"make install\"\n>\n... and here we should add \"invocation\":\n\n    ... the \"make install\" invocation ...\n\n> falls back to the default prefix of '$HOME', thus installing git\n> in the user's home directory -- definitely unexpected.\n\nCan you fix those nits locally before merging to 'next', or should\nI send a re-roll?\n\nThanks, and sorry for the confusion,\n  Stefano\n"},{"id":"195593","messageId":"500DDB38.3050805@gmail.com","threadId":"31050","inReplyTo":"173104dd1ddba55bca09e89ba090ebb852bdf1b7.1342683786.git.stefano.lattarini@gmail.com","subject":"Re: [PATCH v2 7/7] build: reconfigure automatically if configure.ac changes","fromName":"Stefano Lattarini","fromEmail":"stefano.lattarini@gmail.com","sentAt":"2012-07-23T23:16:08Z","receivedAt":"2012-07-23T23:16:08Z","isPatch":true,"sender":{"key":"stefano.lattarini@gmail.com","avatar":"https://avatars.githubusercontent.com/u/1429199?v=4"},"body":"Hi Junio.  I've just noticed a minor typo in the commit message ...\n\nOn 07/19/2012 09:50 AM, Stefano Lattarini wrote:\n> This provides a reduced but still useful sibling of the Automake's\n> \"automatic Makefile rebuild\" feature.  It's important to note that\n> we take care to enable the new rules only if the tree that has already\n> be\n>\n... here, it should read \"been\", not \"be\".  Can you fix that locally\nbefore merging to 'next', or should I send a re-roll?\n\n> configured with './configure', so that users relying on manual\n> configuration won't be negatively impacted.\n\nThanks,\n  Stefano\n"},{"id":"195595","messageId":"7vk3xuhxad.fsf@alter.siamese.dyndns.org","threadId":"31050","inReplyTo":"500DDB07.6050006@gmail.com","subject":"Re: [PATCH v2 6/7] build: \"make clean\" should not remove configure-generated files","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2012-07-23T23:28:58Z","receivedAt":"2012-07-23T23:28:58Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Stefano Lattarini <stefano.lattarini@gmail.com> writes:\n\n> ... and here we should add \"invocation\":\n>\n>     ... the \"make install\" invocation ...\n>\n>> falls back to the default prefix of '$HOME', thus installing git\n>> in the user's home directory -- definitely unexpected.\n>\n> Can you fix those nits locally before merging to 'next', or should\n> I send a re-roll?\n\nToo late X-<.\n"}]}