1 /* START OF: mbuild_info_.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 2 3 4 /****^ HISTORY COMMENTS: 5 1) change(2019-08-17,GDixon), approve(2019-10-24,MCR10069), 6 audit(2020-01-20,Swenson), install(2020-01-20,MR12.6g-0035): 7 Declarations for the seg_type, paradigm, and mbuild thread names described 8 by the data structures in mbuild_info_.cds. 9 END HISTORY COMMENTS */ 10 11 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 /* */ 14 /* Name: mbuild_info_.incl.pl1 */ 15 /* */ 16 /* Function: declare structures to hold data which tailors operations of the mbuild subsystem. */ 17 /* */ 18 /* Notes: */ 19 /* The seg_types and bld_paradigms substructures may be displayed using the mbuild_type */ 20 /* command/active function. The thread_selectors and thread_summary substructures are used */ 21 /* only within mbuild error messages and usage information messages. */ 22 /* */ 23 /* Data populating these structures is defined in the mbuild_info_.cds file. */ 24 /* */ 25 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 26 27 dcl mbuild_info_$seg_types fixed bin external static; 28 29 dcl 1 mbuild_info aligned based (addr (mbuild_info_$seg_types)), 30 2 seg_types, 31 3 segN fixed bin, 32 3 seg_type_info (0 refer (mbuild_info.seg_types.segN)), 33 4 type_ID fixed bin, /* numeric identifier for this seg_type array entry. */ 34 4 source_starname char (32) var, /* e.g., **.pl1, **.incl.pl1, bound_*.**.s.archive */ 35 4 description char (60) var, /* content of segs having this source_suffix. */ 36 4 mbuild_type char (20) var, /* mbuild Seg(<type>) field value for this segment type. */ 37 4 build_paradigm fixed bin, /* index of build/install paradigm for this source_suffix */ 38 4 compiler char (32) var, /* name of compiler/translator for this seg (if any) */ 39 4 default_compile_options char (32) var, /* options used when building to install in Multics libs. */ 40 4 intermediate_suffix char (12) var, /* suffix of intermediate file generated by compiler */ 41 4 object_suffix char (12) var, /* suffix of seg generated by compiler */ 42 4 default_library char (32) var, /* default library which holds this type of file */ 43 /* (used when adding new files). */ 44 2 bld_paradigms, 45 3 paradigmN fixed bin, 46 3 bld_paradigm_info (0 refer (mbuild_info.bld_paradigms.paradigmN)), 47 4 name char(32) var, /* ex: compile, source_x_only, ... */ 48 /* Names never contain periods or spaces. */ 49 4 purpose char(76) var, /* what does this build_type do. */ 50 4 examples char(70) var, /* typical seg types using this paradigm. */ 51 4 steps char(1600) var, /* steps involved in paradigm */ 52 53 2 thread_selectors, 54 3 selectorN, 55 3 selector_info (0 refer (mbuild_info.thread_selectors.selectorN)), 56 4 sel_ID char(16) var, /* selector ID string */ 57 4 sel_value fixed bin, /* selector value: one of the following constants: */ 58 2 thread_summary, 59 3 summaryN fixed bin, 60 3 selector_summary (0 refer (mbuild_info.thread_summary.summaryN)) char(32) var; 61 /* Summary of sel_ID possible values for error msg. */ 62 63 dcl (PDM_source init(1), /* Compile, schedule bind, if part of bound seg; */ 64 /* otherwise, install in ldd and x dirs. */ 65 PDM_bindfile init(2), /* Bind instructions, only found in bound obj archive. */ 66 /* (ex: bound_pl1_.bind) */ 67 PDM_source_arch init(3), /* No compile, just install in ldd source dir. */ 68 /* (ex: bound_pl1_.**.s.archive) */ 69 PDM_object_arch init(4), /* Bind a bound seg; install source/object archives in */ 70 /* ldd; install bound object in x dir. */ 71 PDM_Bound_obj init(5), /* Install executable bound segment in x dir. */ 72 /* (ex: bound_pl1_) */ 73 PDM_Unbound_obj init(6), /* Install unbound object in x dir. */ 74 /* (ex: hcs_ compiled from hcs_.alm) */ 75 PDM_target_only init(7), /* No compiles; just install in target dir. */ 76 /* (ex: info segs, include files, bound_xxx_.s.archive) */ 77 PDM_listing init(8), /* No compiles; just install in listing. */ 78 /* (ex: pl1.list, probe.list, hcs_.list) */ 79 PDM_source_x_only init(9), /* No compile, just install in ldd source and x dirs. */ 80 /* (ex: admin.ec, >ldd>unb>s>tss_basic_::*.basic) */ 81 PDM_object_x_only init(10), /* No compile or archive; install in ldd object and x. */ 82 /* (ex: TTF.ttf, pl1.dcl) */ 83 PDM_mbuild_support init(11), /* No compile or archive or install; support file created */ 84 /* or used by the mbuild subsystem. */ 85 /* (ex: MCR10056.mb, MCR10056.mb.il) */ 86 87 SEG_INTERMEDIATE init(12), /* Seg-specific thread types. */ 88 SEG_scan init(13), 89 90 STRUCT_BOUNDOBJ init(14), /* Per-Structure thread types. */ 91 STRUCT_COMPILE init(15), 92 STRUCT_Seg init(16), 93 STRUCT_UNBOUNDOBJ init(17) 94 ) fixed bin int static options(constant); 95 96 dcl 1 segt aligned like mbuild_info.seg_types.seg_type_info based(segtP), 97 segtP ptr; 98 99 dcl 1 pdm aligned like mbuild_info.bld_paradigms.bld_paradigm_info based(pdmP); 100 dcl pdmP ptr; 101 102 dcl 1 seg_type_switches aligned, /* Switches to select structure elements for display. */ 103 2 (source_starnameS, 104 descriptionS, 105 mbuild_typeS, 106 build_paradigmS, 107 build_stepsS, 108 compilerS, 109 default_compile_optionsS, 110 intermediate_suffixS, 111 object_suffixS, 112 default_libraryS 113 ) bit(1) unaligned, 114 2 pad bit(26) unaligned; 115 116 dcl 1 bld_paradigm_switches aligned, /* Switches to select structure elements for display. */ 117 2 (nameS, 118 purposeS, 119 examplesS, 120 stepsS 121 ) bit(1) unaligned, 122 2 pad bit(32) unaligned; 123 124 125 /* ---------------------------------------------------------------------- 126 Threads anchored in build_data structure (see mbuild_data_.incl.pl1): 127 128 build_data.XXX_Tb Structure Selector ID Purpose 129 XXX can be 130 ----------------- ------------ ---------------- -------------------- 131 BOUNDOBJ BOUNDOBJ BOUNDOBJ, BND All BOUNDOBJ structures. 132 COMPILE COMPILE COMPILE, COMP All COMPILE structures. 133 UNBOUNDOBJ UNBOUNDOBJ UNBOUNDOBJ, UNBND All UNBOUNDOBJ structures. 134 Seg Seg Seg, seg All Seg structures. 135 136 Unbound_obj Seg Unbound_obj, Unb All Seg(Unbound_obj) structures. 137 Bound_obj Seg Bound_obj, Bnd All Seg(Bound_obj) structures. 138 bindfile Seg bindfile, bind All Seg(bindfile) structures. 139 object_arch Seg object_arch, oArch All Seg(object_arch) structures. 140 source_arch Seg source_arch, sArch All Seg(source_arch) structures. 141 source Seg source, src All Seg(source) structures, except intermediate sources. 142 listing Seg listing, list All Seg(listing) structures. 143 mbuild_support Seg support, sup All Seg(Build_xxx) structures. 144 target_only Seg target_only, target All Seg(...) structures except those above. 145 object_x_only Seg object_x, o.x All Seg(...) structures for object_x paradigm segs. 146 147 scan Seg scan Segments found in install dir before building; never cleaned! 148 INTERMEDIATE Seg INTERMEDIATE, inter Some Seg(source) structures that aren't installed. 149 ---------------------------------------------------------------------- */ 150 151 /* END OF: mbuild_info_.incl.pl1 * * * * * * * * * * * * * * * * * * * */