#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 GenerateNasmParameters () const;
const FileLocation* GetPrecompiledHeaderFilename () const;
void GenerateGccCommand ( const FileLocation* sourceFile,
- const std::string& extraDependencies,
- const std::string& cc,
- const std::string& cflagsMacro );
- const 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 GenerateWidlCommandsProxy (
- 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,
};
+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 MingwCabinetModuleHandler : public MingwModuleHandler
+{
+public:
+ MingwCabinetModuleHandler ( const Module& module );
+ virtual HostType DefaultHost() { return HostFalse; }
+ virtual void Process ();
+};
+
class MingwEmbeddedTypeLibModuleHandler : public MingwModuleHandler
{
public: