
We have a bunch of placeholders in our scripts that we replace at build time, for example by using sed(1). These placeholders come in three different formats: @PLACEHOLDER@, @@PLACEHOLDER@@ and ++PLACEHOLDER++. Next to being inconsistent it also creates a bit of a problem with CMake, which only supports the first syntax in its `configure_file()` function. To work around that we instead manually replace placeholders via string operations, which is a hassle and removes safeguards that CMake has to verify that we didn't forget to replace any placeholders. Besides that, other build systems like Meson also support the CMake syntax. Unify our codebase to consistently use the syntax supported by such build systems. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
37 lines
926 B
Bash
37 lines
926 B
Bash
#!/bin/sh
|
|
|
|
# wrap-for-bin.sh: Template for git executable wrapper scripts
|
|
# to run test suite against sandbox, but with only bindir-installed
|
|
# executables in PATH. The Makefile copies this into various
|
|
# files in bin-wrappers, substituting
|
|
# @BUILD_DIR@ and @PROG@.
|
|
|
|
GIT_EXEC_PATH='@BUILD_DIR@'
|
|
if test -n "$NO_SET_GIT_TEMPLATE_DIR"
|
|
then
|
|
unset GIT_TEMPLATE_DIR
|
|
else
|
|
GIT_TEMPLATE_DIR='@BUILD_DIR@/templates/blt'
|
|
export GIT_TEMPLATE_DIR
|
|
fi
|
|
GITPERLLIB='@BUILD_DIR@/perl/build/lib'"${GITPERLLIB:+:$GITPERLLIB}"
|
|
GIT_TEXTDOMAINDIR='@BUILD_DIR@/po/build/locale'
|
|
PATH='@BUILD_DIR@/bin-wrappers:'"$PATH"
|
|
|
|
export GIT_EXEC_PATH GITPERLLIB PATH GIT_TEXTDOMAINDIR
|
|
|
|
case "$GIT_DEBUGGER" in
|
|
'')
|
|
exec "${GIT_EXEC_PATH}/@PROG@" "$@"
|
|
;;
|
|
1)
|
|
unset GIT_DEBUGGER
|
|
exec gdb --args "${GIT_EXEC_PATH}/@PROG@" "$@"
|
|
;;
|
|
*)
|
|
GIT_DEBUGGER_ARGS="$GIT_DEBUGGER"
|
|
unset GIT_DEBUGGER
|
|
exec ${GIT_DEBUGGER_ARGS} "${GIT_EXEC_PATH}/@PROG@" "$@"
|
|
;;
|
|
esac
|