#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 Rule *rule,
const std::string& extraDependencies );
void GenerateCommands ( const CompilationUnit& compilationUnit,
const std::string& extraDependencies );
};
+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: