﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
248	mbuild should handle compiler pl1_macro -target L68 control argument.	Gary Dixon	Eric Swenson	"The mbuild subsystem should accept a build script source statement like:

{{{
  source:   pc.pl1.pmac     REPLACE     compiler: pmac -target L68 -call ""pl1 -ot"";
}}}

which requests compiling macros in the source file for the L68 CPU type; then calling the pl1 compiler to process the result.

Right now, mbuild '''compile''' request fails to accept the -target control argument; and its '''read''' request ignores the -target XXX specification, and improperly handles the -call QUOTED_STRING.  It treats each components as a separate token.  The parsed tokens are:  

   -call
   ""pl1  
   -ot""

Also, the '''compile''' request should be able to insert its optional control args (-list and -table) into the operand of the quoted -call control arg, if either/both of those options are given in the compile line.  

More specifically, that means the request:

''' `compile **.pmac -list -table` '''

should process the source statement above by generating the following command line:

{{{
pl1_macro pc.pl1 -target L68 -call ""pl1 -ot -list -table""
}}}

Right now, either the read or analyze request ignores the -target option in the source line, and the compile request produces the following output:

{{{
mbuild:  comp **.pmac -list -table
mbuild (compile): COMPILE structure not found.  **.pmac

mbuild:
}}}

Eliminating use of the star convention to identify the segment to be compiled still produces errors:

{{{
mbuild:  comp pc.pl1.pmac -list -table

---------- pmac pc.pl1.pmac -call ""pl1 -ot"" -list

List not yet implemented.
pl1_macro  2.0

SEVERITY 2 ERROR ON LINE 6
%target used without use of -target control arg. L68 assumed.
SOURCE:   %if %target (L68) %then
pl1_macro: Errors in macro processing; output segment may be suspect.
mbuild (compile): Compile did not produce an object segment. COMPILE: pc.pl1.pmac

mbuild:  

}}}

pl1_macro does not support -list or -table (unless these are manually inserted into the operand of its -call control argument.  The compile request would have to learn to do that.  And the -target L68 control (from the build script file) was ignored by read, and therefore not present in the command line invoking pl1_macro.
"	enhancement	new	major		Tools	MR12.7			
