

Public Methods | |
| LibraryAnalyzer (const cmt_string& package_name, Constituent& constituent_ref) | |
| void | end () |
|
|
Definition at line 564 of file cmt_triggers.cxx. 00565 : 00566 DependencyAnalyzer (package_name, constituent_ref) 00567 { 00568 } |
|
|
Reimplemented from DependencyAnalyzer. Definition at line 570 of file cmt_triggers.cxx. 00571 {
00572 cmt_string macro_name;
00573 cmt_string output;
00574
00575 int i;
00576
00577 if (uses.size () > 0)
00578 {
00579 for (i = 0; i < uses.size (); i++)
00580 {
00581 Libmap& libmap = *(uses[i]);
00582
00583 libmap.set_used ();
00584 }
00585
00586 Libmap::LibmapVector& table = Libmap::libmaps ();
00587
00588 macro_name = constituent.name;
00589 macro_name += "_implied_libraries";
00590
00591 output = "macro_prepend ";
00592 output += macro_name;
00593 output += " \"";
00594 for (i = 0; i < table.size (); i++)
00595 {
00596 Libmap& libmap = table[i];
00597
00598 if (libmap.used)
00599 {
00600 #ifdef USE_PACKAGE_SCOPE
00601 output += libmap.package;
00602 output += "::";
00603 #endif
00604 output += libmap.name;
00605 output += " ";
00606 }
00607 }
00608 output += "\"";
00609
00610 Cmt::parse_requirements_text (output, "", 0);
00611
00612 Symbol* macro = Symbol::find (macro_name);
00613 output = macro_name;
00614 output += "=";
00615 output += macro->build_macro_value ();
00616
00617 cout << output << endl;
00618 }
00619
00620 if (triggers.size () > 0)
00621 {
00622 macro_name = constituent.name;
00623 macro_name += "_triggers";
00624
00625 output = "macro_prepend ";
00626 output += macro_name;
00627 output += " \"";
00628 for (i = 0; i < triggers.size (); i++)
00629 {
00630 const cmt_string& trigger = triggers[i];
00631
00632 output += trigger;
00633 output += " ";
00634 }
00635 output += "\"";
00636
00637 Cmt::parse_requirements_text (output, "", 0);
00638
00639 Symbol* macro = Symbol::find (macro_name);
00640 output = macro_name;
00641 output += "=";
00642 output += macro->build_macro_value ();
00643
00644 cout << output << endl;
00645 }
00646 }
|
1.2.3 written by Dimitri van Heesch,
© 1997-2000