Changeset 628 for CMT/HEAD/source/cmt_parser.cxx
- Timestamp:
- Jan 11, 2013, 11:23:19 AM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
CMT/HEAD/source/cmt_parser.cxx
r621 r628 9620 9620 SyntaxParser::parse_requirements_line (temp, current_use); 9621 9621 } 9622 9623 for (int i = 0; i < constituents.size (); i++) 9624 { 9625 const Constituent& constituent = constituents[i]; 9626 if (constituent.type == Document) continue; 9627 const cmt_string macro_name = constituent.name + "compile_dependencies"; 9628 if (!Symbol::is_selected (macro_name)) 9629 { 9630 temp = "macro_append "; 9631 temp += macro_name; 9632 temp += " \""; 9633 9634 const Symbol* deps_macro = Symbol::find (constituent.name + "_dependencies"); 9635 if (deps_macro != 0) 9636 { 9637 const cmt_string deps_value (deps_macro->resolve_macro_value ()); 9638 CmtSystem::cmt_string_vector words; 9639 CmtSystem::split (deps_value, " \t", words); 9640 for (int i = 0; i < words.size (); i++) 9641 { 9642 const cmt_string& word = words[i]; 9643 const Constituent* dep = Constituent::find (word); 9644 if (dep == 0) 9645 { 9646 if (CmtMessage::active (Verbose)) 9647 CmtMessage::warning 9648 (CmtError::get_error_name (CmtError::configuration_error) 9649 + ": " + word + ": non-constituent name in macro " 9650 + constituent.name + "_dependencies value"); 9651 continue; 9652 } 9653 switch (dep->type) 9654 { 9655 case Application: 9656 case Library: 9657 if (dep->need_prototypes) 9658 temp += " " + word + "prototype"; 9659 break; 9660 case Document: 9661 temp += " " + word; 9662 break; 9663 } 9664 } 9665 } 9666 9667 temp += "\""; 9668 9669 SyntaxParser::parse_requirements_line (temp, current_use); 9670 } 9671 if (constituent.need_prototypes) 9672 { 9673 const cmt_string macro_name = constituent.name + "prototype_dependencies"; 9674 if (!Symbol::is_selected (macro_name)) 9675 { 9676 temp = "macro_append "; 9677 temp += macro_name; 9678 temp += " \" $("; 9679 temp += constituent.name + "compile_dependencies)\""; 9680 9681 SyntaxParser::parse_requirements_line (temp, current_use); 9682 } 9683 } 9684 } 9622 9685 } 9623 9686
Note: See TracChangeset
for help on using the changeset viewer.