summaryrefslogtreecommitdiffstats
path: root/generate-configlist.sh
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-12-06 14:24:49 +0100
committerJunio C Hamano <gitster@pobox.com>2024-12-06 23:52:11 +0100
commit3f145a4fe37099c55c7596e93a4cfd850662f88a (patch)
tree06ce07bbb756e6231548f03a985df5c6d9d0e2b8 /generate-configlist.sh
parentMakefile: extract script to generate gitweb.js (diff)
downloadgit-3f145a4fe37099c55c7596e93a4cfd850662f88a.tar.xz
git-3f145a4fe37099c55c7596e93a4cfd850662f88a.zip
Makefile: refactor generators to be PWD-independent
We have multiple scripts that generate headers from other data. All of these scripts have the assumption built-in that they are executed in the current source directory, which makes them a bit unwieldy to use during out-of-tree builds. Refactor them to instead take the source directory as well as the output file as arguments. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'generate-configlist.sh')
-rwxr-xr-xgenerate-configlist.sh20
1 files changed, 15 insertions, 5 deletions
diff --git a/generate-configlist.sh b/generate-configlist.sh
index 8692fe5cf4..579422619c 100755
--- a/generate-configlist.sh
+++ b/generate-configlist.sh
@@ -1,13 +1,19 @@
#!/bin/sh
-echo "/* Automatically generated by generate-configlist.sh */"
-echo
+SOURCE_DIR="$1"
+OUTPUT="$2"
+
+if test -z "$SOURCE_DIR" || ! test -d "$SOURCE_DIR" || test -z "$OUTPUT"
+then
+ echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>"
+ exit 1
+fi
print_config_list () {
cat <<EOF
static const char *config_name_list[] = {
EOF
- grep -h '^[a-zA-Z].*\..*::$' Documentation/*config.txt Documentation/config/*.txt |
+ grep -h '^[a-zA-Z].*\..*::$' "$SOURCE_DIR"/Documentation/*config.txt "$SOURCE_DIR"/Documentation/config/*.txt |
sed '/deprecated/d; s/::$//; s/, */\n/g' |
sort |
sed 's/^.*$/ "&",/'
@@ -17,5 +23,9 @@ EOF
EOF
}
-echo
-print_config_list
+{
+ echo "/* Automatically generated by generate-configlist.sh */"
+ echo
+ echo
+ print_config_list
+} >"$OUTPUT"