diff options
Diffstat (limited to 'ACE/apps/soreduce/Library.h')
-rw-r--r-- | ACE/apps/soreduce/Library.h | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/ACE/apps/soreduce/Library.h b/ACE/apps/soreduce/Library.h deleted file mode 100644 index af978c61f74..00000000000 --- a/ACE/apps/soreduce/Library.h +++ /dev/null @@ -1,128 +0,0 @@ -// -*- C++ -*- -#ifndef _LIBRARY_H_ -#define _LIBRARY_H_ - -// -*- C++ -*- -// $Id$ - -// File: Library.h - -// Author: Phil Mesnier - -// A Library is a collection of Obj_Modules that define a single shared -// library. It is used to manipulate the list of unresolved references by -// removing those that are resolved and adding those brought in by new modules -// that are required to resolve references. The Library is responsible -// for outputting a specialized mpc file to build the reduce footprint library. - -#include "Obj_Module.h" - -// FUZZ: disable check_for_streams_include -#include "ace/streams.h" - -// The MPC generator class serves as the base class used to output the -// custom mpc files used to build the subsetted libraries. -// The base class will make libACE_subset.so - -class MPC_Generator -{ -public: - MPC_Generator (const ACE_CString& libname); - virtual ~MPC_Generator(); - - void write_prolog (const ACE_CString& ); - void write_file (const ACE_CString& ); - void write_epilog (); - -protected: - virtual void write_baseprojects(); - virtual void write_projectinfo(); - - ofstream mpcfile_; - ACE_CString libname_; - ACE_CString mpcfilename_; -}; - -// Generate mpc files for libraries dependant on ACE, that are not TAO. -class MPC_ACE_Dep_Lib : public MPC_Generator -{ -public: - MPC_ACE_Dep_Lib (const ACE_CString& libname); - -protected: - virtual void write_baseprojects(); - virtual void write_projectinfo(); -}; - -// Generates mpc files for libTAO_subset.so -class MPC_TAO_Lib : public MPC_ACE_Dep_Lib -{ -public: - MPC_TAO_Lib (const ACE_CString& libname); - -protected: - virtual void write_baseprojects(); - virtual void write_projectinfo(); -}; - -// Generates makefiles for libs dependant on TAO. This has a problem when -// building libraries in the orbsvcs tree. -class MPC_TAO_Dep_Lib : public MPC_TAO_Lib -{ -public: - MPC_TAO_Dep_Lib (const ACE_CString& ); - -protected: - virtual void write_baseprojects(); - virtual void write_projectinfo(); -}; - -//---------------------------------------------------------------------------- - -class Library -{ -public: - - Library (const ACE_TCHAR *name = 0 ); - /// Constructor is responsible for loading all of the modules related to the - /// library - ~Library (); - - // Resolve interates over the supplied list of undefined signatures to locate - // modules that contain definitions. Any symbol defined in a module marked as - // exported is simply removed from the undef list. Any symbol defined in a - // module not yet exported removed from the undef list, the module is marked - // as exported, and its unresolved symbols are added to the undef list. - void resolve (Sig_List &undefs); - - // Outputs a list of files suitable for inclusion in an mpc file to produce - // a subsetted library. If the argument is non-zero, reference countes for - // each module are also listed. - void write_export_list ( int ); - - // set the path to find the .so files - void set_path (const ACE_TCHAR *p ); - - // Load the actual .so files from the path. - void load_modules(); - - // returns the library name - const ACE_CString &name () const; - - // returns non-zero if the module count is > 0. - int has_modules () const; - -private: - ACE_CString name_; - ACE_CString path_; - - int num_modules_; - int num_exports_; - int num_extrefs_; - - Obj_Module **modules_; - Sig_List exported_; - MPC_Generator *mpcfile_; -}; - -#endif /* _LIBRARY_H_ */ |