Hi Michael,
* Michael Haubenwallner wrote on Mon, Jun 27, 2011 at 04:28:38PM CEST:
> Concatening commands breaks when export_symbols_cmds starts with something
> like "dump", which does not need another shell expansion step. Instead, it
> is merged with "\$concat_cmds" to "$concat_cmdsdump" for within the eval.
>
> While this isn't a problem right now, it hits me when experimenting with
> shared library versioning support for AIX.
How can that be?
> + Correctly concat commands when export_symbols_cmds starts with 'word'.
> + * libltdl/config/ltmain.m4sh: When export_symbols_cmd starts with some
> + 'word', 'word' is joined with 'concat_cmds' to 'concat_cmdsword' due to
> + different expansion time: Need to embrace concat_cmds variable for
> + export_symbols_cmds too as for reload_cmds and old_archive_cmds.
When $concat_cmds is nonempty, it gets a '~' at the end. That can never
be part of a shell word, if I see correctly. Can you give an example?
> --- a/libltdl/config/ltmain.m4sh
> +++ b/libltdl/config/ltmain.m4sh
> @@ -7636,7 +7636,7 @@ EOF
> libobjs=$output
> # Append the command to create the export file.
> test -z "$concat_cmds" || concat_cmds=$concat_cmds~
> - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
> + eval concat_cmds=\"\${concat_cmds}$export_symbols_cmds\"
> if test -n "$last_robj"; then
> eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
> fi
Thanks,
Ralf