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.

wyoung 2017-10-11 01:30 wy-autoreconfig
Commit 1d549aa879bd03b0d18a97653deceedf693fb63023dcec99a031ab499e088dcb
2 files changed +12 -1 +3 -3
+12 -1
--- Makefile.in
+++ Makefile.in
@@ -55,9 +55,20 @@
5555
reconfig:
5656
@AUTOREMAKE@
5757
5858
# Reconfigure whenever an audiosetup file or one of the make source
5959
# 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.
6070
ifeq ($(findstring clean,$(MAKECMDGOALS)),)
6171
Makefile: @srcdir@/Makefile.in $(SRCDIR)/main.mk @AUTODEPS@
62
- $(MAKE) reconfig
72
+ @AUTOREMAKE@
73
+ touch @builddir@/Makefile
6374
endif
6475
--- 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
--- autosetup/system.tcl
+++ autosetup/system.tcl
@@ -205,13 +205,13 @@
205205
}
206206
continue
207207
}
208208
lappend result $line
209209
}
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
+ }
213213
}
214214
215215
# build/host tuples and cross-compilation prefix
216216
set build [opt-val build]
217217
define build_alias $build
218218
--- 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

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button