Fossil SCM
Merged in an upstream improvement from Autosetup addressing GH issue in a different output file. That in turn requires an adjustment to our new autoreconfigure feature to avoid a make(1) loop.
Commit
1d549aa879bd03b0d18a97653deceedf693fb63023dcec99a031ab499e088dcb
Parent
b923d8006e7d5bd…
2 files changed
+12
-1
+3
-3
+12
-1
| --- Makefile.in | ||
| +++ Makefile.in | ||
| @@ -55,9 +55,20 @@ | ||
| 55 | 55 | reconfig: |
| 56 | 56 | @AUTOREMAKE@ |
| 57 | 57 | |
| 58 | 58 | # Reconfigure whenever an audiosetup file or one of the make source |
| 59 | 59 | # files change, unless this is "make clean". |
| 60 | +# | |
| 61 | +# The "touch" is necessary to avoid a make loop due to a new upstream | |
| 62 | +# feature in autosetup where *.in outputs are touched only if they | |
| 63 | +# actually change. If something other than Makefile.in changes, we'll | |
| 64 | +# reconfigure but Makefile won't change, so this rule will remain out of | |
| 65 | +# date, so we'll reconfigure but Makefile won't change, so we'll... | |
| 66 | +# | |
| 67 | +# This also why we repeat the reconfig target's command here instead | |
| 68 | +# of delegating to it with "$(MAKE) reconfig": having children running | |
| 69 | +# around interfering makes this worse. | |
| 60 | 70 | ifeq ($(findstring clean,$(MAKECMDGOALS)),) |
| 61 | 71 | Makefile: @srcdir@/Makefile.in $(SRCDIR)/main.mk @AUTODEPS@ |
| 62 | - $(MAKE) reconfig | |
| 72 | + @AUTOREMAKE@ | |
| 73 | + touch @builddir@/Makefile | |
| 63 | 74 | endif |
| 64 | 75 |
| --- Makefile.in | |
| +++ Makefile.in | |
| @@ -55,9 +55,20 @@ | |
| 55 | reconfig: |
| 56 | @AUTOREMAKE@ |
| 57 | |
| 58 | # Reconfigure whenever an audiosetup file or one of the make source |
| 59 | # files change, unless this is "make clean". |
| 60 | ifeq ($(findstring clean,$(MAKECMDGOALS)),) |
| 61 | Makefile: @srcdir@/Makefile.in $(SRCDIR)/main.mk @AUTODEPS@ |
| 62 | $(MAKE) reconfig |
| 63 | endif |
| 64 |
| --- Makefile.in | |
| +++ Makefile.in | |
| @@ -55,9 +55,20 @@ | |
| 55 | reconfig: |
| 56 | @AUTOREMAKE@ |
| 57 | |
| 58 | # Reconfigure whenever an audiosetup file or one of the make source |
| 59 | # files change, unless this is "make clean". |
| 60 | # |
| 61 | # The "touch" is necessary to avoid a make loop due to a new upstream |
| 62 | # feature in autosetup where *.in outputs are touched only if they |
| 63 | # actually change. If something other than Makefile.in changes, we'll |
| 64 | # reconfigure but Makefile won't change, so this rule will remain out of |
| 65 | # date, so we'll reconfigure but Makefile won't change, so we'll... |
| 66 | # |
| 67 | # This also why we repeat the reconfig target's command here instead |
| 68 | # of delegating to it with "$(MAKE) reconfig": having children running |
| 69 | # around interfering makes this worse. |
| 70 | ifeq ($(findstring clean,$(MAKECMDGOALS)),) |
| 71 | Makefile: @srcdir@/Makefile.in $(SRCDIR)/main.mk @AUTODEPS@ |
| 72 | @AUTOREMAKE@ |
| 73 | touch @builddir@/Makefile |
| 74 | endif |
| 75 |
+3
-3
| --- autosetup/system.tcl | ||
| +++ autosetup/system.tcl | ||
| @@ -205,13 +205,13 @@ | ||
| 205 | 205 | } |
| 206 | 206 | continue |
| 207 | 207 | } |
| 208 | 208 | lappend result $line |
| 209 | 209 | } |
| 210 | - writefile $out [string map $mapping [join $result \n]]\n | |
| 211 | - | |
| 212 | - msg-result "Created [relative-path $out] from [relative-path $template]" | |
| 210 | + write-if-changed $out [string map $mapping [join $result \n]]\n { | |
| 211 | + msg-result "Created [relative-path $out] from [relative-path $template]" | |
| 212 | + } | |
| 213 | 213 | } |
| 214 | 214 | |
| 215 | 215 | # build/host tuples and cross-compilation prefix |
| 216 | 216 | set build [opt-val build] |
| 217 | 217 | define build_alias $build |
| 218 | 218 |
| --- autosetup/system.tcl | |
| +++ autosetup/system.tcl | |
| @@ -205,13 +205,13 @@ | |
| 205 | } |
| 206 | continue |
| 207 | } |
| 208 | lappend result $line |
| 209 | } |
| 210 | writefile $out [string map $mapping [join $result \n]]\n |
| 211 | |
| 212 | msg-result "Created [relative-path $out] from [relative-path $template]" |
| 213 | } |
| 214 | |
| 215 | # build/host tuples and cross-compilation prefix |
| 216 | set build [opt-val build] |
| 217 | define build_alias $build |
| 218 |
| --- autosetup/system.tcl | |
| +++ autosetup/system.tcl | |
| @@ -205,13 +205,13 @@ | |
| 205 | } |
| 206 | continue |
| 207 | } |
| 208 | lappend result $line |
| 209 | } |
| 210 | write-if-changed $out [string map $mapping [join $result \n]]\n { |
| 211 | msg-result "Created [relative-path $out] from [relative-path $template]" |
| 212 | } |
| 213 | } |
| 214 | |
| 215 | # build/host tuples and cross-compilation prefix |
| 216 | set build [opt-val build] |
| 217 | define build_alias $build |
| 218 |