aboutsummaryrefslogtreecommitdiffstats
path: root/tools/gen-configure.el
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-04-27 10:38:30 +0000
committerLaurent Bercot <ska@appnovation.com>2025-04-27 10:38:30 +0000
commit4818dab5964dddde93172d2552a7bd229645cf37 (patch)
tree1f336065d75be8d18b72dbd920e496f5edadb1e0 /tools/gen-configure.el
parentcc73efda66844ca87f1dd263926517664e8b1b08 (diff)
downloadexecline-4818dab5964dddde93172d2552a7bd229645cf37.tar.gz
New templated configure
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'tools/gen-configure.el')
-rwxr-xr-xtools/gen-configure.el31
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/gen-configure.el b/tools/gen-configure.el
new file mode 100755
index 0000000..2017dc2
--- /dev/null
+++ b/tools/gen-configure.el
@@ -0,0 +1,31 @@
+#!/command/execlineb -S0
+
+# For dev use only. Don't run this, it overwrites your configure.
+
+# The quoting interactions in sed and sh make it impossible to get
+# such a simple thing done. It's amazing how bad traditional Unix is.
+
+backtick -E TEMPLATE { redirfd -r 0 tools/configure.template s6-cat }
+s6-envdir -Lf package/configure-snippets
+multisubstitute
+{
+ importas -uS configure_help_install
+ importas -uS configure_help_dependencies
+ importas -uS configure_help_options
+ importas -uS configure_init_vars
+ importas -uS configure_case_lines
+ importas -uS configure_expand_dirs
+ importas -uS configure_slashpackage_other
+ importas -uS configure_generate_make
+ importas -uS configure_generate_configh
+}
+
+if
+{
+ heredoc 0 ${TEMPLATE}
+ redirfd -w 1 configure.new
+ s6-cat
+}
+
+if { s6-chmod 0755 configure.new }
+s6-rename configure.new configure