aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2023-08-16 04:13:05 +0000
committerWerner Koch <[email protected]>2024-03-06 13:33:18 +0000
commitf884bb136811b7ad3984062d566f1cc0774c97f3 (patch)
treeb1f42f21582eac2587f64c8412204d961232cbd1
parentbuild: New configure option --with-libtool-modification. (diff)
downloadlibassuan-f884bb136811b7ad3984062d566f1cc0774c97f3.tar.gz
libassuan-f884bb136811b7ad3984062d566f1cc0774c97f3.zip
build: Update libtool-patch.sed from libgpg-error.
* 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.sed71
1 files changed, 53 insertions, 18 deletions
diff --git a/build-aux/libtool-patch.sed b/build-aux/libtool-patch.sed
index f0e6da9..ac5a3ba 100644
--- a/build-aux/libtool-patch.sed
+++ b/build-aux/libtool-patch.sed
@@ -1,15 +1,35 @@
#
-# This is a sed script to patch the generated libtool
+# 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\
@@ -20,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