1
0
mirror of https://github.com/git/git.git synced 2025-02-06 09:44:30 +00:00
git/generate-perl.sh
Patrick Steinhardt ccfba9e0c4 Makefile: use "generate-perl.sh" to massage Perl library
Extend "generate-perl.sh" such that it knows to also massage the Perl
library files. There are two major differences:

  - We do not read in the Perl header. This is handled by matching on
    whether or not we have a Perl shebang.

  - We substitute some more variables, which we read in via our
    GIT-BUILD-OPTIONS.

Adapt both our Makefile and the CMake build instructions to use this.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-12-07 07:52:10 +09:00

38 lines
682 B
Bash
Executable File

#!/bin/sh
set -e
if test $# -ne 5
then
echo >&2 "USAGE: $0 <GIT_BUILD_OPTIONS> <GIT_VERSION_FILE> <PERL_HEADER> <INPUT> <OUTPUT>"
exit 1
fi
GIT_BUILD_OPTIONS="$1"
GIT_VERSION_FILE="$2"
PERL_HEADER="$3"
INPUT="$4"
OUTPUT="$5"
. "$GIT_BUILD_OPTIONS"
. "$GIT_VERSION_FILE"
sed -e '1{' \
-e " /^#!.*perl/!b" \
-e " s|#!.*perl|#!$PERL_PATH|" \
-e " r $PERL_HEADER" \
-e ' G' \
-e '}' \
-e "s|@GIT_VERSION@|$GIT_VERSION|g" \
-e "s|@LOCALEDIR@|$PERL_LOCALEDIR|g" \
-e "s|@NO_GETTEXT@|$NO_GETTEXT|g" \
-e "s|@NO_PERL_CPAN_FALLBACKS@|$NO_PERL_CPAN_FALLBACKS|g" \
"$INPUT" >"$OUTPUT"
case "$INPUT" in
*.perl)
chmod a+x "$OUTPUT";;
*)
;;
esac