git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 7/7] build: reconfigure automatically if configure.ac changes

From
Stefano Lattarini <stefano.lattarini@gmail.com>
Date
Jul 18, 2012, 22:35 UTC
Message-ID
<553d16eabb655a82d76b1fa73b78e1f4a86122d9.1342649928.git.stefano.lattarini@gmail.com>
In-Reply-To
<cover.1342649928.git.stefano.lattarini@gmail.com>

This provides a reduced but still useful sibling of the Automake's "automatic Makefile rebuild" feature. It's important to note that we take care to enable the new rules only if the tree that has already be configured with './configure', so that users relying on manual configuration won't be negatively impacted.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
---
 Makefile     | 12 ++++++++++++
 configure.ac |  2 ++
 2 files changed, 14 insertions(+)
diff --git a/Makefile b/Makefile
index 88a76a3..f4e8fac 100644
--- a/Makefile
+++ b/Makefile
@@ -2158,6 +2158,18 @@ configure: configure.ac GIT-VERSION-FILE
 	autoconf -o $@ $<+ && \
 	$(RM) $<+
 
+ifdef AUTOCONFIGURED
+config.status: configure
+	$(QUIET_GEN)if test -f config.status; then \
+	  ./config.status --recheck; \
+	else \
+	  ./configure; \
+	fi
+reconfigure config.mak.autogen: config.status
+	$(QUIET_GEN)./config.status
+.PHONY: reconfigure # This is a convenience target.
+endif
+
 XDIFF_OBJS += xdiff/xdiffi.o
 XDIFF_OBJS += xdiff/xprepare.o
 XDIFF_OBJS += xdiff/xutils.o
diff --git a/configure.ac b/configure.ac
index 64eecbc..8949935 100644
--- a/configure.ac
+++ b/configure.ac
@@ -149,6 +149,8 @@ AC_CONFIG_SRCDIR([git.c])
 config_file=config.mak.autogen
 config_in=config.mak.in
 
+GIT_CONF_SUBST([AUTOCONFIGURED], [YesPlease])
+
 # Directories holding "saner" versions of common or POSIX binaries.
 AC_ARG_WITH([sane-tool-path],
   [AS_HELP_STRING(
-- 
1.7.10.2.1067.g553d16e
Previous: Junio C HamanoNext: Junio C Hamano
Message 19 of 31 in “build system: support automatic reconfiguration for autotools user”
  1. 0/7 build system: support automatic reconfiguration for autotools userStefano Lattarini, Jul 18, 2012
  2. 1/7 autoconf: GIT_CONF_APPEND_LINE: change signatureStefano Lattarini, Jul 18, 2012
  3. 2/7 autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBSTStefano Lattarini, Jul 18, 2012
  4. Junio C HamanoJul 19, 2012
  5. Stefano LattariniJul 19, 2012
  6. 3/7 autoconf: remove some redundant shell indirectionsStefano Lattarini, Jul 18, 2012
  7. Junio C HamanoJul 19, 2012
  8. Stefano LattariniJul 19, 2012
  9. Junio C HamanoJul 19, 2012
  10. Stefano LattariniJul 19, 2012
  11. 4/7 autoconf: remove few redundant semicolonsStefano Lattarini, Jul 18, 2012
  12. 5/7 autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'Stefano Lattarini, Jul 18, 2012
  13. 6/7 build: "make clean" should not remove configure-generated filesStefano Lattarini, Jul 18, 2012
  14. Matthieu MoyJul 19, 2012
  15. Stefano LattariniJul 19, 2012
  16. Matthieu MoyJul 19, 2012
  17. Stefano LattariniJul 19, 2012
  18. Junio C HamanoJul 19, 2012
  19. 7/7 build: reconfigure automatically if configure.ac changesStefano Lattarini, Jul 18, 2012
  20. Junio C HamanoJul 19, 2012
  21. 0/7 build system: support automatic reconfiguration for autotools userStefano Lattarini, Jul 19, 2012
  22. 1/7 autoconf: GIT_CONF_APPEND_LINE: change signatureStefano Lattarini, Jul 19, 2012
  23. 2/7 autoconf: GIT_CONF_APPEND_LINE -> GIT_CONF_SUBSTStefano Lattarini, Jul 19, 2012
  24. 3/7 autoconf: remove some redundant shell indirectionsStefano Lattarini, Jul 19, 2012
  25. 4/7 autoconf: remove few redundant semicolonsStefano Lattarini, Jul 19, 2012
  26. 5/7 autoconf: use AC_CONFIG_COMMANDS instead of ad-hoc 'config.mak.append'Stefano Lattarini, Jul 19, 2012
  27. 6/7 build: "make clean" should not remove configure-generated filesStefano Lattarini, Jul 19, 2012
  28. Stefano LattariniJul 23, 2012
  29. Junio C HamanoJul 23, 2012
  30. 7/7 build: reconfigure automatically if configure.ac changesStefano Lattarini, Jul 19, 2012
  31. Stefano LattariniJul 23, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.