[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libtool/config.status issue on IRIX
From: |
Bob Friesenhahn |
Subject: |
Re: libtool/config.status issue on IRIX |
Date: |
Thu, 1 Jan 2004 17:44:08 -0600 (CST) |
On Thu, 1 Jan 2004, Joe Orton wrote:
> Following up on the issue reported by Bob Friesenhahn here:
>
> http://mail.gnu.org/archive/html/libtool/2003-11/msg00131.html
>
> The suspect eval line in config.status has lost some of the necessary
> backslashes:
It seems that this qoting rules is being applied:
command substitution. If the command substitution lies
within a pair of double quotes (" ...` ...` ... "), a
backslash used to escape a double quote (\") will be
removed; otherwise, it will be left intact.
This is part of the Solaris description for how text enclosed by "" is
treated, not part of the << quoting description. Apparently IRIX and
AIX apply the same rules for "here" text.
It seems that changing \" to just " for the parts within the
enclosing quotes yields the desired results for both environments.
Bob
>
> IRIX config.status:
> ...
> # Now quote all the things that may contain metacharacters while being
> # careful not to overquote the AC_SUBSTed values. We take copies of the
> # variables and quote the copies for generation of the libtool script.
> for var in SED SHELL echo AR AR_FLAGS LTCC EGREP RANLIB LN_S NM ...
>
> ....
> *)
> eval "lt_$var=\\"\`\$echo "X\$$var" | \$Xsed -e
> "\$sed_quote_subst"\`\\""
> ;;
> esac
> done
>
> where the same fragment from a config.status created on Linux looks
> like:
>
> *)
> eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e
> \"\$sed_quote_subst\"\`\\\""
> ;;
> esac
> done
>
> configure selects ksh on this platform (at least using autoconf HEAD).
>
> a minimal repro case for the different quoting, comparing sh with ksh:
>
> whisk 45% uname -a
> IRIX whisk 6.2 03131015 IP22
> whisk 46% cat frag.sh
> #! /bin/sh
> cat >foo.out <<_ACEOF
> eval "lt_\$var=\\\\\"\\\`\\\$echo \"X\\\$\$var\" | \\\$Xsed -e
> \"\\\$sed_quote_subst\"\\\`\\\\\""
> _ACEOF
> cat foo.out
> whisk 47% sh ./frag.sh
> eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e
> \"\$sed_quote_subst\"\`\\\""
> whisk 48% ksh ./frag.sh
> eval "lt_$var=\\"\`\$echo "X\$$var" | \$Xsed -e "\$sed_quote_subst"\`\\""
>
>
>
> _______________________________________________
> Libtool mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/libtool
>
======================================
Bob Friesenhahn
address@hidden
http://www.simplesystems.org/users/bfriesen