Improve variable parsing when generating MINFO

Before this change, variables for which a '=' appeared in the assignment would
be parsed as the entire string up until the final '='. For example:

  BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \

would result in the variable name "BUILD_CMD=shlib_target". This doesn't
appear to harm the current generation of MINFO, but creates problems for other
Makefile-related work I'm attempting.

Change-Id: I1f3a606d67fd5464bb459e8f36c23b3e967b77e1
Signed-off-by: Mike Bland <mbland@acm.org>
Signed-off-by: Geoff Thorpe <geoff@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
Mike Bland 2014-06-24 00:39:33 -04:00 committed by Geoff Thorpe
parent a4b8457db9
commit 8308411297
2 changed files with 3 additions and 3 deletions

View File

@ -4,7 +4,7 @@
# It is basically a list of all variables from the passed makefile
#
while ($ARGV[0] =~ /^(\S+)\s*=(.*)$/)
while ($ARGV[0] =~ /^([^\s=]+)\s*=\s*(.*)$/)
{
$sym{$1} = $2;
shift;
@ -15,7 +15,7 @@ while (<>)
{
chop;
s/#.*//;
if (/^(\S+)\s*=\s*(.*)$/)
if (/^([^\s=]+)\s*=\s*(.*)$/)
{
$o="";
($s,$b)=($1,$2);

View File

@ -110,7 +110,7 @@ while (<IN>)
{
chop;
s/#.*//;
if (/^(\S+)\s*=\s*(.*)$/)
if (/^([^\s=]+)\s*=\s*(.*)$/)
{
$o="";
($s,$b)=($1,$2);