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.
