#include "mingw.h"
class MingwBackend;
+class Rule;
extern std::string
GetTargetMacro ( const Module&, bool with_dollar = true );
bool includeGeneratedFiles ) const;
void GetSourceFilenamesWithoutGeneratedFiles ( std::vector<FileLocation>& list ) const;
const FileLocation* GetObjectFilename ( const FileLocation* sourceFile,
- const Module& module,
- string_list* pclean_files ) const;
+ const Module& module ) const;
std::string GetObjectFilenames ();
void GenerateRunRsymCode () const;
void GenerateRunStripCode () const;
void GenerateLinkerCommand ( const std::string& dependencies,
- const std::string& linker,
const std::string& linkerParameters,
- const std::string& objectsMacro,
- const std::string& libsMacro,
const std::string& pefixupParameters );
void GeneratePhonyTarget() const;
void GenerateBuildMapCode ( const FileLocation *mapTarget = NULL );
std::string ConcatenatePaths ( const std::string& path1,
const std::string& path2 ) const;
std::string GenerateGccDefineParameters () const;
- std::string GenerateCompilerParametersFromVector ( const std::vector<CompilerFlag*>& compilerFlags ) const;
+ std::string GenerateCompilerParametersFromVector ( const std::vector<CompilerFlag*>& compilerFlags, const CompilerType type ) const;
std::string GenerateLinkerParametersFromVector ( const std::vector<LinkerFlag*>& linkerFlags ) const;
std::string GenerateImportLibraryDependenciesFromVector ( const std::vector<Library*>& libraries );
std::string GenerateLinkerParameters () const;
std::string GenerateNasmParameters () const;
const FileLocation* GetPrecompiledHeaderFilename () const;
void GenerateGccCommand ( const FileLocation* sourceFile,
- const std::string& extraDependencies,
- const std::string& cc,
- const std::string& cflagsMacro );
- void GenerateGccAssemblerCommand ( const FileLocation* sourceFile,
- const std::string& cc,
- const std::string& cflagsMacro );
- void GenerateNasmCommand ( const FileLocation* sourceFile,
- const std::string& nasmflagsMacro );
- void GenerateWindresCommand ( const FileLocation* sourceFile,
- const std::string& windresflagsMacro );
- void GenerateWinebuildCommands ( const FileLocation* sourceFile );
- void GenerateWmcCommands ( const FileLocation* sourceFile);
- std::string GetWidlFlags ( const CompilationUnit& compilationUnit );
- void GenerateWidlCommandsServer (
- const CompilationUnit& compilationUnit,
- const std::string& widlflagsMacro );
- void GenerateWidlCommandsClient (
- const CompilationUnit& compilationUnit,
- const std::string& widlflagsMacro );
- void GenerateWidlCommandsIdlHeader (
- const CompilationUnit& compilationUnit,
- const std::string& widlflagsMacro );
- void GenerateWidlCommandsEmbeddedTypeLib (
- const CompilationUnit& compilationUnit,
- const std::string& widlflagsMacro );
- void GenerateWidlCommands ( const CompilationUnit& compilationUnit,
- const std::string& widlflagsMacro );
+ const Rule *rule,
+ const std::string& extraDependencies );
void GenerateCommands ( const CompilationUnit& compilationUnit,
- const std::string& extraDependencies,
- const std::string& cc,
- const std::string& cppc,
- const std::string& cflagsMacro,
- const std::string& nasmflagsMacro,
- const std::string& windresflagsMacro,
- const std::string& widlflagsMacro );
- void GenerateObjectFileTargets ( const IfableData& data,
- const std::string& cc,
- const std::string& cppc,
- const std::string& cflagsMacro,
- const std::string& nasmflagsMacro,
- const std::string& windresflagsMacro,
- const std::string& widlflagsMacro );
- void GenerateObjectFileTargets ( const std::string& cc,
- const std::string& cppc,
- const std::string& cflagsMacro,
- const std::string& nasmflagsMacro,
- const std::string& windresflagsMacro,
- const std::string& widlflagsMacro );
- const FileLocation* GenerateArchiveTarget ( const std::string& ar,
- const std::string& objs_macro ) const;
+ const std::string& extraDependencies );
+ void GenerateObjectFileTargets ( const IfableData& data );
+ void GenerateObjectFileTargets ();
+ const FileLocation* GenerateArchiveTarget ();
void GetMcObjectDependencies ( std::vector<FileLocation>& dependencies,
const FileLocation *file ) const;
void GetSpecObjectDependencies ( std::vector<FileLocation>& dependencies,
void GenerateBuildNonSymbolStrippedCode ();
void CleanupCompilationUnitVector ( std::vector<CompilationUnit*>& compilationUnits );
void GetRpcHeaderDependencies ( std::vector<FileLocation>& dependencies ) const;
- void GetMcHeaderDependencies ( std::vector<FileLocation>& dependencies ) const;
+ void GetMcHeaderDependencies ( std::vector<FileLocation>& dependencies ) const;
static std::string GetPropertyValue ( const Module& module, const std::string& name );
const FileLocation* GetRpcServerHeaderFilename ( const FileLocation *base ) const;
const FileLocation* GetRpcClientHeaderFilename ( const FileLocation *base ) const;
+ const FileLocation* GetRpcProxyHeaderFilename ( const FileLocation *base ) const;
const FileLocation* GetIdlHeaderFilename ( const FileLocation *base ) const;
- const FileLocation* GetMcHeaderFilename ( const FileLocation *base ) const;
+ const FileLocation* GetMcHeaderFilename ( const FileLocation *base ) const;
std::string GetModuleCleanTarget ( const Module& module ) const;
void GetReferencedObjectLibraryModuleCleanTargets ( std::vector<std::string>& moduleNames ) const;
public:
};
+class MingwHostStaticLibraryModuleHandler : public MingwModuleHandler
+{
+public:
+ MingwHostStaticLibraryModuleHandler ( const Module& module );
+ virtual HostType DefaultHost() { return HostTrue; }
+ virtual void Process ();
+private:
+ void GenerateHostStaticLibraryModuleTarget ();
+};
+
+
class MingwObjectLibraryModuleHandler : public MingwModuleHandler
{
public:
virtual void Process ();
};
+
+class MingwRpcProxyModuleHandler : public MingwModuleHandler
+{
+public:
+ MingwRpcProxyModuleHandler ( const Module& module );
+ virtual HostType DefaultHost() { return HostFalse; }
+ virtual void Process ();
+};
+
+
class MingwAliasModuleHandler : public MingwModuleHandler
{
public:
virtual void Process ();
};
+class MingwCabinetModuleHandler : public MingwModuleHandler
+{
+public:
+ MingwCabinetModuleHandler ( const Module& module );
+ virtual HostType DefaultHost() { return HostFalse; }
+ virtual void Process ();
+};
+
class MingwEmbeddedTypeLibModuleHandler : public MingwModuleHandler
{
public: