configure: fix $prefix expansion for libdir_expanded
authorTomi Ollila <tomi.ollila@iki.fi>
Sun, 1 Jan 2017 17:20:30 +0000 (19:20 +0200)
committerDavid Bremner <david@tethera.net>
Sun, 1 Jan 2017 22:15:58 +0000 (18:15 -0400)
Since the sed expansion line which did $prefix expansion for
libdir_expanded was changed from the legacy `...` format to the
new $(...) expression, the subtle backslash expansion change went
unnoticed -- \\$ which used to escape '$' now escapes '\' and the
following '$prefix' was attempted to expand as a variable. So
changing \\$ to \$ fixes this.

Also, replaced echo with printf %s -- echo does expansions of its own.

While at it, the following 2 inconsistencies were fixed:
 1) the /g flag was removed from first expression; second didn't have it
 2) first expression did not end with /, so "dropped" it from second

 configure | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

configure

index 2a0ce9eb41568c017b95e3066e4c21ce2869d87d..f17730441298648bcc31a66992ccd38ef259d6bb 100755 (executable)
--- a/configure
+++ b/configure
@@ -274,7 +274,7 @@ if [ -z "$LIBDIR" ] ; then
     libdir_expanded="${PREFIX}/lib"
 else
     # very non-general variable expansion
-    libdir_expanded=$(echo "$LIBDIR" | sed "s|\\${prefix}|${PREFIX}|g; s|\\$prefix/|${PREFIX}/|; s|//*|/|g")
+    libdir_expanded=$(printf %s "$LIBDIR" | sed "s|\${prefix}|${PREFIX}|; s|\$prefix\>|${PREFIX}|; s|//*|/|g")
 fi
 
 cat <<EOF