mirror of
https://github.com/reactos/reactos.git
synced 2025-07-27 20:22:05 +00:00
Factorize code for simple module types
svn path=/trunk/; revision=34846
This commit is contained in:
parent
6b50b9e320
commit
12a1603c6e
4 changed files with 82 additions and 302 deletions
|
@ -34,6 +34,44 @@ using std::map;
|
||||||
|
|
||||||
typedef set<string> set_string;
|
typedef set<string> set_string;
|
||||||
|
|
||||||
|
static const struct
|
||||||
|
{
|
||||||
|
HostType DefaultHost;
|
||||||
|
} ModuleHandlerInformations[] = {
|
||||||
|
{ HostTrue }, // BuildTool
|
||||||
|
{ HostFalse }, // StaticLibrary
|
||||||
|
{ HostFalse }, // ObjectLibrary
|
||||||
|
{ HostFalse }, // Kernel
|
||||||
|
{ HostFalse }, // KernelModeDLL
|
||||||
|
{ HostFalse }, // KernelModeDriver
|
||||||
|
{ HostFalse }, // NativeDLL
|
||||||
|
{ HostFalse }, // NativeCUI
|
||||||
|
{ HostFalse }, // Win32DLL
|
||||||
|
{ HostFalse }, // Win32OCX
|
||||||
|
{ HostFalse }, // Win32CUI
|
||||||
|
{ HostFalse }, // Win32GUI
|
||||||
|
{ HostFalse }, // BootLoader
|
||||||
|
{ HostFalse }, // BootSector
|
||||||
|
{ HostFalse }, // Iso
|
||||||
|
{ HostFalse }, // LiveIso
|
||||||
|
{ HostFalse }, // Test
|
||||||
|
{ HostFalse }, // RpcServer
|
||||||
|
{ HostFalse }, // RpcClient
|
||||||
|
{ HostFalse }, // Alias
|
||||||
|
{ HostFalse }, // BootProgram
|
||||||
|
{ HostFalse }, // Win32SCR
|
||||||
|
{ HostFalse }, // IdlHeader
|
||||||
|
{ HostFalse }, // IsoRegTest
|
||||||
|
{ HostFalse }, // LiveIsoRegTest
|
||||||
|
{ HostFalse }, // EmbeddedTypeLib
|
||||||
|
{ HostFalse }, // ElfExecutable
|
||||||
|
{ HostFalse }, // RpcProxy
|
||||||
|
{ HostTrue }, // HostStaticLibrary
|
||||||
|
{ HostFalse }, // Cabinet
|
||||||
|
{ HostFalse }, // KeyboardLayout
|
||||||
|
{ HostFalse }, // MessageHeader
|
||||||
|
};
|
||||||
|
|
||||||
string
|
string
|
||||||
MingwBackend::GetFullPath ( const FileLocation& file ) const
|
MingwBackend::GetFullPath ( const FileLocation& file ) const
|
||||||
{
|
{
|
||||||
|
@ -252,7 +290,7 @@ MingwBackend::ProcessModules ()
|
||||||
h->EnablePreCompiledHeaderSupport ();
|
h->EnablePreCompiledHeaderSupport ();
|
||||||
if ( module.host == HostDefault )
|
if ( module.host == HostDefault )
|
||||||
{
|
{
|
||||||
module.host = h->DefaultHost();
|
module.host = ModuleHandlerInformations[h->module.type].DefaultHost;
|
||||||
assert ( module.host != HostDefault );
|
assert ( module.host != HostDefault );
|
||||||
}
|
}
|
||||||
v.push_back ( h );
|
v.push_back ( h );
|
||||||
|
@ -324,6 +362,8 @@ MingwBackend::CheckAutomaticDependenciesForModuleOnly ()
|
||||||
void
|
void
|
||||||
MingwBackend::ProcessNormal ()
|
MingwBackend::ProcessNormal ()
|
||||||
{
|
{
|
||||||
|
assert(sizeof(ModuleHandlerInformations)/sizeof(ModuleHandlerInformations[0]) == TypeDontCare);
|
||||||
|
|
||||||
DetectCompiler ();
|
DetectCompiler ();
|
||||||
DetectBinutils ();
|
DetectBinutils ();
|
||||||
DetectNetwideAssembler ();
|
DetectNetwideAssembler ();
|
||||||
|
|
|
@ -165,18 +165,20 @@ MingwModuleHandler::InstanciateHandler (
|
||||||
MingwModuleHandler* handler;
|
MingwModuleHandler* handler;
|
||||||
switch ( module.type )
|
switch ( module.type )
|
||||||
{
|
{
|
||||||
|
case StaticLibrary:
|
||||||
|
case HostStaticLibrary:
|
||||||
|
case ObjectLibrary:
|
||||||
|
case RpcServer:
|
||||||
|
case RpcClient:
|
||||||
|
case RpcProxy:
|
||||||
|
case MessageHeader:
|
||||||
|
case IdlHeader:
|
||||||
|
case EmbeddedTypeLib:
|
||||||
|
handler = new MingwModuleHandler( module );
|
||||||
|
break;
|
||||||
case BuildTool:
|
case BuildTool:
|
||||||
handler = new MingwBuildToolModuleHandler ( module );
|
handler = new MingwBuildToolModuleHandler ( module );
|
||||||
break;
|
break;
|
||||||
case StaticLibrary:
|
|
||||||
handler = new MingwStaticLibraryModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case HostStaticLibrary:
|
|
||||||
handler = new MingwHostStaticLibraryModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case ObjectLibrary:
|
|
||||||
handler = new MingwObjectLibraryModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case Kernel:
|
case Kernel:
|
||||||
handler = new MingwKernelModuleHandler ( module );
|
handler = new MingwKernelModuleHandler ( module );
|
||||||
break;
|
break;
|
||||||
|
@ -230,30 +232,12 @@ MingwModuleHandler::InstanciateHandler (
|
||||||
case Test:
|
case Test:
|
||||||
handler = new MingwTestModuleHandler ( module );
|
handler = new MingwTestModuleHandler ( module );
|
||||||
break;
|
break;
|
||||||
case RpcServer:
|
|
||||||
handler = new MingwRpcServerModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case RpcClient:
|
|
||||||
handler = new MingwRpcClientModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case RpcProxy:
|
|
||||||
handler = new MingwRpcProxyModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case Alias:
|
case Alias:
|
||||||
handler = new MingwAliasModuleHandler ( module );
|
handler = new MingwAliasModuleHandler ( module );
|
||||||
break;
|
break;
|
||||||
case MessageHeader:
|
|
||||||
handler = new MingwMessageHeaderModuleHandler (module);
|
|
||||||
break;
|
|
||||||
case IdlHeader:
|
|
||||||
handler = new MingwIdlHeaderModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case Cabinet:
|
case Cabinet:
|
||||||
handler = new MingwCabinetModuleHandler ( module );
|
handler = new MingwCabinetModuleHandler ( module );
|
||||||
break;
|
break;
|
||||||
case EmbeddedTypeLib:
|
|
||||||
handler = new MingwEmbeddedTypeLibModuleHandler ( module );
|
|
||||||
break;
|
|
||||||
case ElfExecutable:
|
case ElfExecutable:
|
||||||
handler = new MingwElfExecutableModuleHandler ( module );
|
handler = new MingwElfExecutableModuleHandler ( module );
|
||||||
break;
|
break;
|
||||||
|
@ -2541,66 +2525,6 @@ MingwKernelModuleHandler::GenerateKernelModuleTarget ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MingwStaticLibraryModuleHandler::MingwStaticLibraryModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwStaticLibraryModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateStaticLibraryModuleTarget ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwStaticLibraryModuleHandler::GenerateStaticLibraryModuleTarget ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MingwHostStaticLibraryModuleHandler::MingwHostStaticLibraryModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwHostStaticLibraryModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateHostStaticLibraryModuleTarget ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwHostStaticLibraryModuleHandler::GenerateHostStaticLibraryModuleTarget ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MingwObjectLibraryModuleHandler::MingwObjectLibraryModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwObjectLibraryModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateObjectLibraryModuleTarget ();
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwObjectLibraryModuleHandler::GenerateObjectLibraryModuleTarget ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MingwKernelModeDLLModuleHandler::MingwKernelModeDLLModuleHandler (
|
MingwKernelModeDLLModuleHandler::MingwKernelModeDLLModuleHandler (
|
||||||
const Module& module_ )
|
const Module& module_ )
|
||||||
|
|
||||||
|
@ -2608,19 +2532,6 @@ MingwKernelModeDLLModuleHandler::MingwKernelModeDLLModuleHandler (
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
MingwEmbeddedTypeLibModuleHandler::MingwEmbeddedTypeLibModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwEmbeddedTypeLibModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
MingwKernelModeDLLModuleHandler::AddImplicitLibraries ( Module& module )
|
MingwKernelModeDLLModuleHandler::AddImplicitLibraries ( Module& module )
|
||||||
|
@ -3695,48 +3606,6 @@ MingwTestModuleHandler::GenerateTestModuleTarget ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
MingwRpcServerModuleHandler::MingwRpcServerModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwRpcServerModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MingwRpcClientModuleHandler::MingwRpcClientModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwRpcClientModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MingwRpcProxyModuleHandler::MingwRpcProxyModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwRpcProxyModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
MingwAliasModuleHandler::MingwAliasModuleHandler (
|
MingwAliasModuleHandler::MingwAliasModuleHandler (
|
||||||
const Module& module_ )
|
const Module& module_ )
|
||||||
|
|
||||||
|
@ -3749,31 +3618,6 @@ MingwAliasModuleHandler::Process ()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
MingwMessageHeaderModuleHandler::MingwMessageHeaderModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwMessageHeaderModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
MingwIdlHeaderModuleHandler::MingwIdlHeaderModuleHandler (
|
|
||||||
const Module& module_ )
|
|
||||||
|
|
||||||
: MingwModuleHandler ( module_ )
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
MingwIdlHeaderModuleHandler::Process ()
|
|
||||||
{
|
|
||||||
GenerateRules ();
|
|
||||||
}
|
|
||||||
|
|
||||||
MingwCabinetModuleHandler::MingwCabinetModuleHandler (
|
MingwCabinetModuleHandler::MingwCabinetModuleHandler (
|
||||||
const Module& module_ )
|
const Module& module_ )
|
||||||
|
|
|
@ -65,9 +65,8 @@ public:
|
||||||
|
|
||||||
static MingwModuleHandler* InstanciateHandler ( const Module& module_,
|
static MingwModuleHandler* InstanciateHandler ( const Module& module_,
|
||||||
MingwBackend* backend_ );
|
MingwBackend* backend_ );
|
||||||
virtual HostType DefaultHost() = 0;
|
|
||||||
void GeneratePreconditionDependencies ();
|
void GeneratePreconditionDependencies ();
|
||||||
virtual void Process () = 0;
|
virtual void Process () { GenerateRules (); }
|
||||||
virtual std::string TypeSpecificCFlags() { return ""; }
|
virtual std::string TypeSpecificCFlags() { return ""; }
|
||||||
virtual std::string TypeSpecificNasmFlags() { return ""; }
|
virtual std::string TypeSpecificNasmFlags() { return ""; }
|
||||||
virtual std::string TypeSpecificLinkerFlags() { return ""; }
|
virtual std::string TypeSpecificLinkerFlags() { return ""; }
|
||||||
|
@ -192,7 +191,6 @@ class MingwBuildToolModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwBuildToolModuleHandler ( const Module& module );
|
MingwBuildToolModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostTrue; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
private:
|
private:
|
||||||
void GenerateBuildToolModuleTarget ();
|
void GenerateBuildToolModuleTarget ();
|
||||||
|
@ -203,51 +201,16 @@ class MingwKernelModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwKernelModuleHandler ( const Module& module );
|
MingwKernelModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
private:
|
private:
|
||||||
void GenerateKernelModuleTarget ();
|
void GenerateKernelModuleTarget ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class MingwStaticLibraryModuleHandler : public MingwModuleHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MingwStaticLibraryModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
private:
|
|
||||||
void GenerateStaticLibraryModuleTarget ();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
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:
|
|
||||||
MingwObjectLibraryModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
private:
|
|
||||||
void GenerateObjectLibraryModuleTarget ();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class MingwKernelModeDLLModuleHandler : public MingwModuleHandler
|
class MingwKernelModeDLLModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwKernelModeDLLModuleHandler ( const Module& module );
|
MingwKernelModeDLLModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
private:
|
private:
|
||||||
|
@ -259,7 +222,6 @@ class MingwKernelModeDriverModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwKernelModeDriverModuleHandler ( const Module& module );
|
MingwKernelModeDriverModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
std::string TypeSpecificCFlags() { return "-D__NTDRIVER__"; }
|
std::string TypeSpecificCFlags() { return "-D__NTDRIVER__"; }
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
|
@ -272,7 +234,6 @@ class MingwNativeDLLModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwNativeDLLModuleHandler ( const Module& module );
|
MingwNativeDLLModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
private:
|
private:
|
||||||
|
@ -284,7 +245,6 @@ class MingwNativeCUIModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwNativeCUIModuleHandler ( const Module& module );
|
MingwNativeCUIModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
std::string TypeSpecificCFlags() { return "-D__NTAPP__"; }
|
std::string TypeSpecificCFlags() { return "-D__NTAPP__"; }
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
|
@ -297,7 +257,6 @@ class MingwWin32DLLModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwWin32DLLModuleHandler ( const Module& module );
|
MingwWin32DLLModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
private:
|
private:
|
||||||
|
@ -309,7 +268,6 @@ class MingwWin32OCXModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwWin32OCXModuleHandler ( const Module& module );
|
MingwWin32OCXModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
private:
|
private:
|
||||||
|
@ -321,7 +279,6 @@ class MingwWin32CUIModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwWin32CUIModuleHandler ( const Module& module );
|
MingwWin32CUIModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
private:
|
private:
|
||||||
|
@ -333,7 +290,6 @@ class MingwWin32GUIModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwWin32GUIModuleHandler ( const Module& module );
|
MingwWin32GUIModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
void AddImplicitLibraries ( Module& module );
|
void AddImplicitLibraries ( Module& module );
|
||||||
private:
|
private:
|
||||||
|
@ -345,7 +301,6 @@ class MingwBootLoaderModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwBootLoaderModuleHandler ( const Module& module );
|
MingwBootLoaderModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }
|
std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }
|
||||||
private:
|
private:
|
||||||
|
@ -357,7 +312,6 @@ class MingwBootSectorModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwBootSectorModuleHandler ( const Module& module );
|
MingwBootSectorModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
std::string TypeSpecificNasmFlags() { return "-f bin"; }
|
std::string TypeSpecificNasmFlags() { return "-f bin"; }
|
||||||
private:
|
private:
|
||||||
|
@ -369,7 +323,6 @@ class MingwBootProgramModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwBootProgramModuleHandler ( const Module& module );
|
MingwBootProgramModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
std::string GetProgTextAddrMacro ();
|
std::string GetProgTextAddrMacro ();
|
||||||
std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }
|
std::string TypeSpecificLinkerFlags() { return "-nostartfiles -nostdlib"; }
|
||||||
|
@ -382,7 +335,6 @@ class MingwIsoModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwIsoModuleHandler ( const Module& module );
|
MingwIsoModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
private:
|
private:
|
||||||
void GenerateIsoModuleTarget ();
|
void GenerateIsoModuleTarget ();
|
||||||
|
@ -401,7 +353,6 @@ class MingwLiveIsoModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwLiveIsoModuleHandler ( const Module& module );
|
MingwLiveIsoModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
private:
|
private:
|
||||||
void GenerateLiveIsoModuleTarget ();
|
void GenerateLiveIsoModuleTarget ();
|
||||||
|
@ -420,7 +371,6 @@ class MingwTestModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwTestModuleHandler ( const Module& module );
|
MingwTestModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
protected:
|
protected:
|
||||||
virtual void GetModuleSpecificCompilationUnits ( std::vector<CompilationUnit*>& compilationUnits );
|
virtual void GetModuleSpecificCompilationUnits ( std::vector<CompilationUnit*>& compilationUnits );
|
||||||
|
@ -428,54 +378,10 @@ private:
|
||||||
void GenerateTestModuleTarget ();
|
void GenerateTestModuleTarget ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class MingwRpcServerModuleHandler : public MingwModuleHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MingwRpcServerModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class MingwRpcClientModuleHandler : public MingwModuleHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MingwRpcClientModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class MingwRpcProxyModuleHandler : public MingwModuleHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MingwRpcProxyModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
};
|
|
||||||
|
|
||||||
class MingwMessageHeaderModuleHandler : public MingwModuleHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MingwMessageHeaderModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
};
|
|
||||||
|
|
||||||
class MingwAliasModuleHandler : public MingwModuleHandler
|
class MingwAliasModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwAliasModuleHandler ( const Module& module );
|
MingwAliasModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
};
|
|
||||||
|
|
||||||
class MingwIdlHeaderModuleHandler : public MingwModuleHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MingwIdlHeaderModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -483,15 +389,6 @@ class MingwCabinetModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwCabinetModuleHandler ( const Module& module );
|
MingwCabinetModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
|
||||||
};
|
|
||||||
|
|
||||||
class MingwEmbeddedTypeLibModuleHandler : public MingwModuleHandler
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
MingwEmbeddedTypeLibModuleHandler ( const Module& module );
|
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -499,7 +396,6 @@ class MingwElfExecutableModuleHandler : public MingwModuleHandler
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
MingwElfExecutableModuleHandler ( const Module& module );
|
MingwElfExecutableModuleHandler ( const Module& module );
|
||||||
virtual HostType DefaultHost() { return HostFalse; }
|
|
||||||
virtual void Process ();
|
virtual void Process ();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -275,39 +275,39 @@ private:
|
||||||
|
|
||||||
enum ModuleType
|
enum ModuleType
|
||||||
{
|
{
|
||||||
BuildTool = 0,
|
BuildTool,
|
||||||
StaticLibrary = 1,
|
StaticLibrary,
|
||||||
ObjectLibrary = 2,
|
ObjectLibrary,
|
||||||
Kernel = 3,
|
Kernel,
|
||||||
KernelModeDLL = 4,
|
KernelModeDLL,
|
||||||
KernelModeDriver = 5,
|
KernelModeDriver,
|
||||||
NativeDLL = 6,
|
NativeDLL,
|
||||||
NativeCUI = 7,
|
NativeCUI,
|
||||||
Win32DLL = 8,
|
Win32DLL,
|
||||||
Win32OCX = 9,
|
Win32OCX,
|
||||||
Win32CUI = 10,
|
Win32CUI,
|
||||||
Win32GUI = 11,
|
Win32GUI,
|
||||||
BootLoader = 12,
|
BootLoader,
|
||||||
BootSector = 13,
|
BootSector,
|
||||||
Iso = 14,
|
Iso,
|
||||||
LiveIso = 15,
|
LiveIso,
|
||||||
Test = 16,
|
Test,
|
||||||
RpcServer = 17,
|
RpcServer,
|
||||||
RpcClient = 18,
|
RpcClient,
|
||||||
Alias = 19,
|
Alias,
|
||||||
BootProgram = 20,
|
BootProgram,
|
||||||
Win32SCR = 21,
|
Win32SCR,
|
||||||
IdlHeader = 23,
|
IdlHeader,
|
||||||
IsoRegTest = 24,
|
IsoRegTest,
|
||||||
LiveIsoRegTest = 25,
|
LiveIsoRegTest,
|
||||||
EmbeddedTypeLib = 26,
|
EmbeddedTypeLib,
|
||||||
ElfExecutable = 27,
|
ElfExecutable,
|
||||||
RpcProxy,
|
RpcProxy,
|
||||||
HostStaticLibrary,
|
HostStaticLibrary,
|
||||||
TypeDontCare,
|
|
||||||
Cabinet,
|
Cabinet,
|
||||||
KeyboardLayout,
|
KeyboardLayout,
|
||||||
MessageHeader
|
MessageHeader,
|
||||||
|
TypeDontCare, // always at the end
|
||||||
};
|
};
|
||||||
|
|
||||||
enum HostType
|
enum HostType
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue