Commit 83084112 authored by Mike Bland's avatar Mike Bland Committed by Geoff Thorpe
Browse files

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: default avatarMike Bland <mbland@acm.org>
Signed-off-by: default avatarGeoff Thorpe <geoff@openssl.org>
Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
parent a4b8457d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
+1 −1
Original line number Diff line number Diff line
@@ -110,7 +110,7 @@ while (<IN>)
	{
	chop;
	s/#.*//;
	if (/^(\S+)\s*=\s*(.*)$/)
	if (/^([^\s=]+)\s*=\s*(.*)$/)
		{
		$o="";
		($s,$b)=($1,$2);