[Libreoffice] revert 63ed769d256cc0fbd35853b30c51dfe2b4ad727c

Sidney Markowitz sidney at sidney.com
Mon Oct 4 09:58:55 PDT 2010


Thomas Klausner wrote, On 5/10/10 12:07 AM:
> Hi!
> 
> I just accidentally found that you reverted
> 63ed769d256cc0fbd35853b30c51dfe2b4ad727c.
> 
> The message was:
>     Revert "Fix problem with arguments containing spaces."
>     Waiting for a proper fix that does not break stuff
> 
> What is the problem you're seeing?

The following triggers the problem and isn't solved by changing the eval to an
sh. In fact the regex isn't even involved.

Instead of putting the CFLAGS argument at the end of the ./autogen.sh command
line, put it in the environment before it. I trigger the error by setting two
variables, for example,

CFLAGS="-Wall -Wformat-security" CPPFLAGS="-Wall -Wformat-security" \
 ./autogen.sh ...etc...

or even using export to set them in the environment before invoking ./autogen.sh

If you do that instead of ./autogen.sh ... CFLAGS=...
then you find that the regexp is never involved, as the CFLAGS is not yet in
the argument when it is run through the requote function, but the CFLAGS and
CPPFLAGS values are later put into the configuration and end up squashed together.

Look for PROPAGATED_ARGS in config.status and related files, and you can see
that quotes disappear so you see 'CFLAGS=-Wall -Wformat-security' which then
end up confusing the second run of configure.

PROPAGATED_ARGS is generated using some macro in configure.in that I don't
understand, in the lines (in configure.in):

PROPAGATED_ARGS=$ac_configure_args
AC_SUBST(PROPAGATED_ARGS)

I don't know what this does but it ends up not working with the arguments with
spaces.

Googling for ac_configure_args I see mentioned that its value is designed to
be eval'd, which perhaps explains the eval that you changed to sh, but as I
said I don't know how the autogen stuff works.

Hope this helps.


More information about the LibreOffice mailing list