Update NEWS files for next release
[ACE_TAO.git] / ACE / apps / soreduce / SO_Group.h
blob24b9ba20e0b35bb35d62744cd412488824c9207f
1 // -*- C++ -*-
2 // File: SO_Group.h
4 // Author: Phil Mesnier
6 #ifndef _SO_GROUP_H_
7 #define _SO_GROUP_H_
9 #include "Library.h"
11 // A shared object group is a wrapper around all of the information needed to
12 // analize a collection of applications so that common shared libraries can
13 // be reduced.
15 class SO_Group
17 public:
18 SO_Group ();
19 ~SO_Group ();
21 // For each executable named, run ldd to get the dependances list, For each
22 // library listed, see if there is a path to .shobj and add to the list of
23 // libraries if found. Finally, add the undefined symbols from the executable
24 // to the undefs collection.
25 void add_executable(const char * );
27 // Do the actual business of the program
28 void analize ();
30 // Output the results
31 void write_results ();
33 // load the object modules for the group
34 void load_modules ();
36 void list_libs();
38 private:
39 Obj_Module undef_wrapper_;
40 Sig_List &undefs_;
41 Library **libs_;
42 int max_libs_;
43 int num_libs_;
46 #endif //_SO_GROUP_H_