ltmain.in: Handle trailing slashes on install commands A command like: libtool --mode=install /usr/bin/install -c gck-roots-store-standalone.la '/image/usr/lib/gnome-keyring/standalone/' where the path ends with a trailing slash currently fails. This occurs in software like gnome-keyring or pulseaudio and is because the comparision code doesn't see the paths as equal. Strip both paths to ensure this works reliably. * build-aux/ltmain.in: Strip trailing slashes on install commands. * NEWS: Update.
diff --git a/NEWS b/NEWS index 82aac9e..ab986ba 100644 --- a/NEWS +++ b/NEWS
@@ -21,6 +21,8 @@ - Fix linking libraries at runtime with tcc by adding run path. + - Fix path comparison by removing trailing slashes on install commands. + ** Changes in supported systems or compilers: - Support additional flang-based compilers, 'f18' and 'f95'.
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 4e2a63f..be94b03 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in
@@ -2405,8 +2405,15 @@ func_append dir "$objdir" if test -n "$relink_command"; then + # Strip any trailing slash from the destination. + func_stripname '' '/' "$libdir" + destlibdir=$func_stripname_result + + func_stripname '' '/' "$destdir" + s_destdir=$func_stripname_result + # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that