Opened 5 years ago

#248 new enhancement

mbuild should handle compiler pl1_macro -target L68 control argument.

Reported by: Gary Dixon Owned by: Eric Swenson
Priority: major Milestone:
Component: Tools Version: MR12.7
Keywords: Cc:

Description

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.

Change History (0)

Note: See TracTickets for help on using tickets.