libtool
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Darwin and archive_cmds quoting


From: Gary V . Vaughan
Subject: Re: Darwin and archive_cmds quoting
Date: Mon, 16 Apr 2001 21:33:01 +0100

Hi Kevin,

It looks like the echo command found by libtool is removing some of the 
backslashes that it is supposed to leave behind.  Here is what it boils down 
to:

  $ echo=echo
  $ foo='`'
  $ quote='s/\([\\"\\`$\\\\]\)/\\\1/g'
  $ double_quote='s/\([\\"\\`\\\\]\)/\\\1/g'
  $ delay='s/\\\\\\\\\\\$/\\\\\\$/g'
  $ eval "bar=\\\"\`\$echo \"\$foo\" | \
    sed -e \"\$double_quote\" -e \"\$quote\" -e \"\$delay\"\`\\\""

And this is what I get:

  $ echo $bar
  "\\\`"

I guess you will get:

  "\\`"

If so, we need to figure out how to find an echo command that doesn't 
interpret backslashes on your machine...  any ideas?

Cheers,
        Gary.

On Friday 13 April 2001  2:05 am, Kevin Ryde wrote:
> On Darwin 1.3 with libtool 1.3d or the current cvs, the quoting of
> archive_cmds provokes a warning about an unmatched ".  It comes
> through to the generated libtool script as the following long line,
>
> archive_cmds="\$CC \\`test .\$module = .yes && echo -bundle || echo
> -dynamiclib\\` \$allow_undefined_flag -o \$lib \$libobjs
> \$deplibs\$linkopts -install_name \$rpath/\$soname \\`test -n
> \\"\$verstring\\" -a x\$verstring != x0.0 && echo \$verstring\\`"
>
> Which, under sh -x is processed as follows, note the final backslash.
>
> + archive_cmds=+ test . = .yes
> + echo -dynamiclib
> + archive_cmds=+ test -n "" -a x != x0.0
> + echo
> + archive_cmds=$CC \-dynamiclib $allow_undefined_flag -o $lib $libobjs
> $deplibs$linkopts -install_name $rpath/$soname \
>
> and when evaluated for cmds, gives the following, note the \" at the end.
>
> + eval cmds="$CC \-dynamiclib $allow_undefined_flag -o $lib $libobjs
> $deplibs$linkopts -install_name $rpath/$soname \" ./libtool: unmatched "
> [-1]
>
> This doesn't seem to hinder the generated shared library, but perhaps
> isn't the way it's meant to work.
-- 
  ___              _   ___   __              _         mailto: address@hidden
 / __|__ _ _ ___ _| | / / | / /_ _ _  _ __ _| |_  __ _ ___       address@hidden
| (_ / _` | '_|// / |/ /| |/ / _` | || / _` | ' \/ _` | _ \
 \___\__,_|_|\_, /|___(_)___/\__,_|\_,_\__, |_||_\__,_|//_/
home page:  /___/                      /___/                  gpg public key:
http://www.oranda.demon.co.uk           http://www.oranda.demon.co.uk/key.asc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]