diff options
-rw-r--r-- | build-aux/libtool-patch.sed | 71 |
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 |