Ignore:
Timestamp:
Jan 11, 2013, 11:23:19 AM (11 years ago)
Author:
rybkin
Message:

See C.L. 499

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CMT/HEAD/source/cmt_parser.cxx

    r621 r628  
    96209620        SyntaxParser::parse_requirements_line (temp, current_use);
    96219621      }
     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      }
    96229685  }
    96239686
Note: See TracChangeset for help on using the changeset viewer.