diff options
author | NIIBE Yutaka <[email protected]> | 2023-08-09 12:24:10 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2023-08-09 12:24:10 +0000 |
commit | b369ef64e05a2336eb98a28a55dd02193aefaefa (patch) | |
tree | 09938c473ab91bd407fe6be864786b357e37d96b | |
parent | build: Use sed for --with-libtool-modification. (diff) | |
download | libgpg-error-b369ef64e05a2336eb98a28a55dd02193aefaefa.tar.gz libgpg-error-b369ef64e05a2336eb98a28a55dd02193aefaefa.zip |
build: Update libtool-patch.sed.
* build-aux/libtool-patch.sed: Fail with exit code 1,
when it doesn't go well.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | build-aux/libtool-patch.sed | 68 |
1 files changed, 51 insertions, 17 deletions
diff --git a/build-aux/libtool-patch.sed b/build-aux/libtool-patch.sed index bd021fe..ac5a3ba 100644 --- a/build-aux/libtool-patch.sed +++ b/build-aux/libtool-patch.sed @@ -2,15 +2,34 @@ # This is a sed script to patch the generated libtool, # which works well against both of libtool 2.4.2 and 2.4.7. # -/^[ \t]*# bleh windows$/{ -:loop0 -s/^[ \t]*esac$/\0/ -t done0 -s/^[ \t]*case \$host in$/\0/ -t insert0 +# You may use this work under the terms of a Creative Commons CC0 1.0 +# License/Waiver. +# +# CC0 Public Domain Dedication +# https://creativecommons.org/publicdomain/zero/1.0/ + +# +# This sed script applys two hunks of the patch: +# +# Part1: after the comment "# bleh windows" +# Part2: after the comment "#extension on DOS 8.3..." +# +# Only when those two parts are patched correctly, it exits with 0 or +# else, it exits with 1 +# + +# Find the part 1, by the comment +/^[ \t]*# bleh windows$/b part1_start +# Not found the part1, raise an error +$ q1 +b + +:part1_start n -b loop0 -:insert0 n +# The first line in the part 1 must be the begining of the case statement. +/^[ \t]*case \$host in$/! q1 +n +# Insert the entry for x86_64-*mingw32*, for modified versuffix. i\ x86_64-*mingw32*) i\ @@ -21,14 +40,29 @@ i\ versuffix="6-$major" i\ ;; -b loop0 -:done0 -} -/^[ \t]*# extension on DOS 8.3 file.*systems.$/{ -:loop1 +:part1_0 +# Find the end of the case statement +/^[ \t]*esac$/b find_part2 +# Not found the end of the case statement, raise an error +$ q1 +n +b part1_0 + +:find_part2 +/^[ \t]*# extension on DOS 8.3 file.*systems.$/b part2_process +# Not found the part2, raise an error +$ q1 +n +b find_part2 + +:part2_process +$ q1 s/^[ \t]*\(versuffix=\)\(.*\)\(-$major\)\(.*\)$/\t case \$host in\n\t x86_64-*mingw32*)\n\t \1\26\3\4\n\t ;;\n\t *)\n\t \1\2\3\4\n\t ;;\n\t esac/ -t done1 +t part2_done +n +b part2_process + +:part2_done +$ q0 n -b loop1 -:done1 -} +b part2_done |