Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

ApplicationAnalyzer Class Reference

Inheritance diagram for ApplicationAnalyzer:

Inheritance graph
[legend]
Collaboration diagram for ApplicationAnalyzer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ApplicationAnalyzer (const cmt_string &package_name, Constituent &constituent_ref)
void end ()

Constructor & Destructor Documentation

ApplicationAnalyzer::ApplicationAnalyzer const cmt_string package_name,
Constituent constituent_ref
 

Definition at line 655 of file cmt_triggers.cxx.

00656                                                                         :
00657     DependencyAnalyzer (package_name, constituent_ref)
00658 {
00659 }


Member Function Documentation

void ApplicationAnalyzer::end  )  [virtual]
 

Reimplemented from DependencyAnalyzer.

Definition at line 661 of file cmt_triggers.cxx.

References Symbol::build_macro_value(), Symbol::find(), Libmap::libmaps(), Libmap::LibmapVector, Libmap::name, Constituent::name, SyntaxParser::parse_requirements_text(), Libmap::set_used(), cmt_vector< T >::size(), cmt_vector< Libmap * >::size(), and Libmap::used.

00662 {
00663   cmt_string macro_name;
00664   cmt_string output;
00665 
00666   int i;
00667 
00668   if (uses.size () > 0)
00669     {
00670       for (i = 0; i < uses.size (); i++)
00671         {
00672           Libmap& libmap = *(uses[i]);
00673 
00674           libmap.set_used ();
00675         }
00676 
00677       Libmap::LibmapVector& table = Libmap::libmaps ();
00678 
00679       macro_name = constituent.name;
00680       macro_name += "linkopts";
00681 
00682       output  = "macro_prepend ";
00683       output += macro_name;
00684       output += " \"";
00685       for (i = 0; i < table.size (); i++)
00686         {
00687           Libmap& libmap = table[i];
00688           
00689           if (libmap.used)
00690             {
00691               output += "$(implied_library_prefix)";
00692               output += libmap.name;
00693               output += "$(implied_library_suffix) ";
00694             }
00695         }
00696       output += "\"";
00697 
00698       SyntaxParser::parse_requirements_text (output, "", 0);
00699 
00700       Symbol* macro = Symbol::find (macro_name);
00701       output = macro_name;
00702       output += "=";
00703       output += macro->build_macro_value ();
00704 
00705       cout << output << endl;
00706     }
00707 }


The documentation for this class was generated from the following file:
Generated on Mon May 2 10:25:25 2005 for CMT by doxygen 1.3.5