Configurations/10-main.conf: In the VC-common target, unquote $(CC)
authorRichard Levitte <levitte@openssl.org>
Mon, 25 Jul 2022 06:07:33 +0000 (08:07 +0200)
committerHugo Landau <hlandau@openssl.org>
Tue, 26 Jul 2022 11:34:53 +0000 (12:34 +0100)
Some of the VC-common attributes have values that use `$(CC)`, wrapped with
quotes.  However, `Configurations/windows-makefile.tmpl` already quotes the
`CC` value, like this:

    CC="{- $config{CC} -}"

The interaction between that makefile variable and the attributes using
`$(CC)` wrapped with quotes is a command line with the quotes doubled.  For
example, the value of `$(CPP)` becomes `""cl""`.

Strangely enough, this appears to be tolerated, at least on some versions of
Windows.  However, this has been reported not to be the case.

This is fixed by removing the quotes in `Configurations/10-main.conf`,
making `Configurations/windows-makefile.tmpl` responsible for proper
quoting.

Fixes #18823

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/18861)

(cherry picked from commit c04b8819161de007cee831dd9e58dde52268da18)

Configurations/10-main.conf

index a53f1f6efdc50f62741a93047cfdfb5cf6cb8e53..2c53f56bfff43195137c0525de6d949d82ffe42b 100644 (file)
@@ -1336,7 +1336,7 @@ my %targets = (
         inherit_from     => [ "BASE_Windows" ],
         template         => 1,
         CC               => "cl",
-        CPP              => '"$(CC)" /EP /C',
+        CPP              => '$(CC) /EP /C',
         CFLAGS           => "/W3 /wd4090 /nologo",
         coutflag         => "/Fo",
         LD               => "link",
@@ -1345,7 +1345,7 @@ my %targets = (
         ldpostoutflag    => "",
         ld_resp_delim    => "\n",
         bin_lflags       => "setargv.obj",
-        makedepcmd       => '"$(CC)" /Zs /showIncludes',
+        makedepcmd       => '$(CC) /Zs /showIncludes',
         makedep_scheme   => 'VC',
         AR               => "lib",
         ARFLAGS          => "/nologo",