diff options
Diffstat (limited to 'ACE/apps/soreduce/SO_Group.h')
-rw-r--r-- | ACE/apps/soreduce/SO_Group.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/ACE/apps/soreduce/SO_Group.h b/ACE/apps/soreduce/SO_Group.h new file mode 100644 index 00000000000..09758c8c7bb --- /dev/null +++ b/ACE/apps/soreduce/SO_Group.h @@ -0,0 +1,48 @@ +// -*- C++ -*- +// $Id$ + +// File: SO_Group.h + +// Author: Phil Mesnier + +#ifndef _SO_GROUP_H_ +#define _SO_GROUP_H_ + +#include "Library.h" + +// A shared object group is a wrapper around all of the information needed to +// analize a collection of applications so that common shared libraries can +// be reduced. + +class SO_Group +{ +public: + SO_Group (); + ~SO_Group (); + + // For each executable named, run ldd to get the dependances list, For each + // library listed, see if there is a path to .shobj and add to the list of + // libraries if found. Finally, add the undefined symbols from the executable + // to the undefs collection. + void add_executable(const char * ); + + // Do the actual business of the program + void analize (); + + // Output the results + void write_results (); + + // load the object modules for the group + void load_modules (); + + void list_libs(); + +private: + Obj_Module undef_wrapper_; + Sig_List &undefs_; + Library **libs_; + int max_libs_; + int num_libs_; +}; + +#endif //_SO_GROUP_H_ |