class LinkerScript;
class Property;
class TestSupportCode;
-class WineResource;
class AutomaticDependency;
class Bootstrap;
class CDFile;
std::string name;
directory_map subdirs;
Directory ( const std::string& name );
+ ~Directory();
void Add ( const char* subdir );
void GenerateTree ( DirectoryLocation root,
bool verbose );
const Property* LookupProperty ( const std::string& name ) const;
void SetConfigurationOption ( char* s,
std::string name,
- std::string* alternativeName );
+ std::string alternativeName );
void SetConfigurationOption ( char* s,
std::string name );
void ReadXml ();
IsoRegTest = 24,
LiveIsoRegTest = 25,
EmbeddedTypeLib = 26,
- ElfExecutable = 27
+ ElfExecutable = 27,
+ RpcProxy,
+ HostStaticLibrary,
+ TypeDontCare,
+ Cabinet,
+ KeyboardLayout
};
enum HostType
{
HostFalse,
HostDefault,
- HostTrue
+ HostTrue,
+ HostDontCare,
+};
+
+enum CompilerType
+{
+ CompilerTypeDontCare,
+ CompilerTypeCC,
+ CompilerTypeCPP,
};
class FileLocation
FileLocation *output; // "path/foo.exe"
FileLocation *dependency; // "path/foo.exe" or "path/libfoo.a"
FileLocation *install;
+ std::string description;
+ std::string lcid;
+ std::string layoutId;
+ std::string layoutNameResId;
Module ( const Project& project,
const XMLElement& moduleNode,
std::string name;
std::string value;
std::string backend;
+ bool overridable;
Define ( const Project& project,
const XMLElement& defineNode );
const XMLElement& defineNode );
Define ( const Project& project,
const Module* module,
- const std::string name_,
- const std::string backend_ = "" );
+ const std::string& name_,
+ const std::string& backend_ = "" );
~Define();
void ProcessXML();
private:
ImportLibrary ( const Project& project,
const XMLElement& node,
const Module& module );
+ ~ImportLibrary ();
};
const Module* module;
const XMLElement& node;
std::string flag;
+ CompilerType compiler;
CompilerFlag ( const Project& project,
const XMLElement& compilerFlagNode );
class LinkerScript
{
public:
- const Project& project;
- const Module* module;
const XMLElement& node;
- const Module* baseModule;
- std::string directory;
- std::string basePath;
+ const Module& module;
+ const FileLocation *file;
- LinkerScript ( const Project& project,
- const Module* module,
- const XMLElement& node );
+ LinkerScript ( const XMLElement& node,
+ const Module& module,
+ const FileLocation *file );
~LinkerScript ();
void ProcessXML();
};
const Project& project;
const Module* module;
std::string name, value;
+ bool isInternal;
Property ( const XMLElement& node_,
const Project& project_,
};
-class WineResource
-{
-public:
- const Project& project;
- std::string bin2res;
-
- WineResource ( const Project& project,
- std::string bin2res );
- ~WineResource ();
- void UnpackResources ( bool verbose );
-private:
- bool IsSpecFile ( const File& file );
- bool IsWineModule ( const Module& module );
- bool IsResourceFile ( const File& file );
- std::string GetResourceFilename ( const Module& module );
- void UnpackResourcesInModule ( Module& module,
- bool verbose );
-};
-
-
class SourceFile
{
public:
CDFile ( const Project& project,
const XMLElement& bootstrapNode,
const std::string& path );
+ ~CDFile ();
private:
static std::string ReplaceVariable ( const std::string& name,
const std::string& value,
InstallFile ( const Project& project,
const XMLElement& bootstrapNode,
const std::string& path );
+ ~InstallFile ();
};
public:
const XMLElement& node;
const Module& module;
- FileLocation file;
+ const FileLocation *file;
PchFile (
const XMLElement& node,
const Module& module,
- const FileLocation& file );
+ const FileLocation *file );
+ ~PchFile();
void ProcessXML();
};
class CompilationUnit
{
public:
- const Project* project;
- const Module* module;
- const XMLElement* node;
std::string name;
- std::vector<File*> files;
- CompilationUnit ( File* file );
+ CompilationUnit ( const File* file );
CompilationUnit ( const Project* project,
const Module* module,
const XMLElement* node );
bool IsGeneratedFile () const;
bool HasFileWithExtension ( const std::string& extension ) const;
bool IsFirstFile () const;
- const FileLocation* GetFilename () const;
- std::string GetSwitches () const;
+ const FileLocation& GetFilename () const;
+ const std::string& GetSwitches () const;
+ void AddFile ( const File * file );
+ const std::vector<const File*> GetFiles () const;
private:
- std::string local_name;
+ const Project* project;
+ const Module* module;
+ const XMLElement* node;
+ std::vector<const File*> files;
+ FileLocation *default_name;
};