diff options
author | Patrick Steinhardt <ps@pks.im> | 2024-12-06 14:24:49 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-12-06 23:52:11 +0100 |
commit | 3f145a4fe37099c55c7596e93a4cfd850662f88a (patch) | |
tree | 06ce07bbb756e6231548f03a985df5c6d9d0e2b8 /generate-configlist.sh | |
parent | Makefile: extract script to generate gitweb.js (diff) | |
download | git-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-x | generate-configlist.sh | 20 |
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" |