This regexp was used a bit too uncontrolled, which had it split flag
values where it should not have.
Fixes #10792
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10793)
(cherry picked from commit
bbe486cf6154df3d3aaedbae6c5b82d4ed31a5f8)
-# For the "make variables" CINCLUDES and CDEFINES, we support lists with
+# For the "make variables" CPPINCLUDES and CPPDEFINES, we support lists with
# platform specific list separators. Users from those platforms should
# recognise those separators from how you set up the PATH to find executables.
# The default is the Unix like separator, :, but as an exception, we also
# platform specific list separators. Users from those platforms should
# recognise those separators from how you set up the PATH to find executables.
# The default is the Unix like separator, :, but as an exception, we also
if (defined $value) {
if (ref $user{$_} eq 'ARRAY') {
if (defined $value) {
if (ref $user{$_} eq 'ARRAY') {
- $user{$_} = [ split /$list_separator_re/, $value ];
+ if ($_ eq 'CPPDEFINES' || $_ eq 'CPPINCLUDES') {
+ $user{$_} = [ split /$list_separator_re/, $value ];
+ } else {
+ $user{$_} = [ $value ];
+ }
} elsif (!defined $user{$_}) {
$user{$_} = $value;
}
} elsif (!defined $user{$_}) {
$user{$_} = $value;
}