mirror of
https://github.com/reactos/reactos.git
synced 2024-09-10 04:42:00 +00:00
add new module type IdlInterface
svn path=/trunk/; revision=39472
This commit is contained in:
parent
6f7b6a94c9
commit
f44fdba630
|
@ -58,6 +58,7 @@ const struct ModuleHandlerInformations ModuleHandlerInformations[] = {
|
||||||
{ HostFalse, "", "", "-nostartfiles -nostdlib" }, // BootProgram
|
{ HostFalse, "", "", "-nostartfiles -nostdlib" }, // BootProgram
|
||||||
{ HostFalse, "", "", "" }, // Win32SCR
|
{ HostFalse, "", "", "" }, // Win32SCR
|
||||||
{ HostFalse, "", "", "" }, // IdlHeader
|
{ HostFalse, "", "", "" }, // IdlHeader
|
||||||
|
{ HostFalse, "", "", "" }, // IdlInterface
|
||||||
{ HostFalse, "", "", "" }, // IsoRegTest
|
{ HostFalse, "", "", "" }, // IsoRegTest
|
||||||
{ HostFalse, "", "", "" }, // LiveIsoRegTest
|
{ HostFalse, "", "", "" }, // LiveIsoRegTest
|
||||||
{ HostFalse, "", "", "" }, // EmbeddedTypeLib
|
{ HostFalse, "", "", "" }, // EmbeddedTypeLib
|
||||||
|
|
|
@ -173,6 +173,7 @@ MingwModuleHandler::InstanciateHandler (
|
||||||
case RpcProxy:
|
case RpcProxy:
|
||||||
case MessageHeader:
|
case MessageHeader:
|
||||||
case IdlHeader:
|
case IdlHeader:
|
||||||
|
case IdlInterface:
|
||||||
case EmbeddedTypeLib:
|
case EmbeddedTypeLib:
|
||||||
case BootSector:
|
case BootSector:
|
||||||
handler = new MingwModuleHandler( module );
|
handler = new MingwModuleHandler( module );
|
||||||
|
@ -301,6 +302,8 @@ MingwModuleHandler::ReferenceObjects (
|
||||||
return true;
|
return true;
|
||||||
if ( module.type == IdlHeader )
|
if ( module.type == IdlHeader )
|
||||||
return true;
|
return true;
|
||||||
|
if ( module.type == IdlInterface )
|
||||||
|
return true;
|
||||||
if ( module.type == MessageHeader)
|
if ( module.type == MessageHeader)
|
||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
|
@ -428,6 +431,8 @@ MingwModuleHandler::GetObjectFilename (
|
||||||
newExtension = "_c.o";
|
newExtension = "_c.o";
|
||||||
else if ( module.type == RpcProxy )
|
else if ( module.type == RpcProxy )
|
||||||
newExtension = "_p.o";
|
newExtension = "_p.o";
|
||||||
|
else if ( module.type == IdlInterface )
|
||||||
|
newExtension = "_i.o";
|
||||||
else
|
else
|
||||||
newExtension = ".h";
|
newExtension = ".h";
|
||||||
}
|
}
|
||||||
|
@ -1166,6 +1171,16 @@ Rule widlHeaderRule ( "$(source): ${$(module_name)_precondition}\n"
|
||||||
"\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(intermediate_path_noext).h $(source)\n",
|
"\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H $(intermediate_path_noext).h $(source)\n",
|
||||||
"$(intermediate_path_noext).h",
|
"$(intermediate_path_noext).h",
|
||||||
"$(intermediate_dir)$(SEP)", NULL );
|
"$(intermediate_dir)$(SEP)", NULL );
|
||||||
|
Rule widlInterfaceRule ( "$(source): ${$(module_name)_precondition}\n"
|
||||||
|
"$(intermediate_path_noext)_i.c: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
|
||||||
|
"\t$(ECHO_WIDL)\n"
|
||||||
|
"\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -u -U $(intermediate_path_noext)_i.c $(source)\n"
|
||||||
|
"$(intermediate_path_noext)_i.o: $(intermediate_path_noext)_i.c $(dependencies) | $(intermediate_dir)\n"
|
||||||
|
"\t$(ECHO_CC)\n"
|
||||||
|
"\t${gcc} -o $@ $($(module_name)_CFLAGS)$(compiler_flags) -fno-unit-at-a-time -c $<\n",
|
||||||
|
"$(intermediate_path_noext)_i.c",
|
||||||
|
"$(intermediate_path_noext)_i.o",
|
||||||
|
"$(intermediate_dir)$(SEP)", NULL );
|
||||||
Rule widlServerRule ( "$(source): ${$(module_name)_precondition}\n"
|
Rule widlServerRule ( "$(source): ${$(module_name)_precondition}\n"
|
||||||
"$(intermediate_path_noext)_s.c $(intermediate_path_noext)_s.h: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
|
"$(intermediate_path_noext)_s.c $(intermediate_path_noext)_s.h: $(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
|
||||||
"\t$(ECHO_WIDL)\n"
|
"\t$(ECHO_WIDL)\n"
|
||||||
|
@ -1375,6 +1390,7 @@ MingwModuleHandler::GenerateCommands (
|
||||||
{ HostDontCare, RpcServer, ".idl", &widlServerRule },
|
{ HostDontCare, RpcServer, ".idl", &widlServerRule },
|
||||||
{ HostDontCare, RpcClient, ".idl", &widlClientRule },
|
{ HostDontCare, RpcClient, ".idl", &widlClientRule },
|
||||||
{ HostDontCare, RpcProxy, ".idl", &widlProxyRule },
|
{ HostDontCare, RpcProxy, ".idl", &widlProxyRule },
|
||||||
|
{ HostDontCare, IdlInterface, ".idl", &widlInterfaceRule },
|
||||||
{ HostDontCare, EmbeddedTypeLib, ".idl", &widlTlbRule },
|
{ HostDontCare, EmbeddedTypeLib, ".idl", &widlTlbRule },
|
||||||
{ HostDontCare, TypeDontCare, ".idl", &widlHeaderRule },
|
{ HostDontCare, TypeDontCare, ".idl", &widlHeaderRule },
|
||||||
{ HostTrue, TypeDontCare, ".c", &gccHostRule },
|
{ HostTrue, TypeDontCare, ".c", &gccHostRule },
|
||||||
|
|
|
@ -71,6 +71,7 @@ Bootstrap::IsSupportedModuleType ( ModuleType type )
|
||||||
case RpcProxy:
|
case RpcProxy:
|
||||||
case Alias:
|
case Alias:
|
||||||
case IdlHeader:
|
case IdlHeader:
|
||||||
|
case IdlInterface:
|
||||||
case MessageHeader:
|
case MessageHeader:
|
||||||
case EmbeddedTypeLib:
|
case EmbeddedTypeLib:
|
||||||
case ElfExecutable:
|
case ElfExecutable:
|
||||||
|
|
|
@ -121,7 +121,8 @@ Include::GetDefaultDirectoryTree ( const Module* module ) const
|
||||||
( module->type == RpcServer ||
|
( module->type == RpcServer ||
|
||||||
module->type == RpcClient ||
|
module->type == RpcClient ||
|
||||||
module->type == RpcProxy ||
|
module->type == RpcProxy ||
|
||||||
module->type == IdlHeader) )
|
module->type == IdlHeader ||
|
||||||
|
module->type == IdlInterface) )
|
||||||
return IntermediateDirectory;
|
return IntermediateDirectory;
|
||||||
else
|
else
|
||||||
return SourceDirectory;
|
return SourceDirectory;
|
||||||
|
|
|
@ -941,6 +941,8 @@ Module::GetModuleType ( const string& location, const XMLAttribute& attribute )
|
||||||
return Alias;
|
return Alias;
|
||||||
if ( attribute.value == "idlheader" )
|
if ( attribute.value == "idlheader" )
|
||||||
return IdlHeader;
|
return IdlHeader;
|
||||||
|
if ( attribute.value == "idlinterface" )
|
||||||
|
return IdlInterface;
|
||||||
if ( attribute.value == "embeddedtypelib" )
|
if ( attribute.value == "embeddedtypelib" )
|
||||||
return EmbeddedTypeLib;
|
return EmbeddedTypeLib;
|
||||||
if ( attribute.value == "elfexecutable" )
|
if ( attribute.value == "elfexecutable" )
|
||||||
|
@ -991,6 +993,7 @@ Module::GetTargetDirectoryTree () const
|
||||||
case RpcProxy:
|
case RpcProxy:
|
||||||
case Alias:
|
case Alias:
|
||||||
case IdlHeader:
|
case IdlHeader:
|
||||||
|
case IdlInterface:
|
||||||
case MessageHeader:
|
case MessageHeader:
|
||||||
return IntermediateDirectory;
|
return IntermediateDirectory;
|
||||||
case TypeDontCare:
|
case TypeDontCare:
|
||||||
|
@ -1047,6 +1050,7 @@ Module::GetDefaultModuleExtension () const
|
||||||
case RpcServer:
|
case RpcServer:
|
||||||
case RpcClient:
|
case RpcClient:
|
||||||
case RpcProxy:
|
case RpcProxy:
|
||||||
|
case IdlInterface:
|
||||||
return ".o";
|
return ".o";
|
||||||
case Alias:
|
case Alias:
|
||||||
case ElfExecutable:
|
case ElfExecutable:
|
||||||
|
@ -1112,6 +1116,7 @@ Module::GetDefaultModuleEntrypoint () const
|
||||||
case Alias:
|
case Alias:
|
||||||
case BootProgram:
|
case BootProgram:
|
||||||
case IdlHeader:
|
case IdlHeader:
|
||||||
|
case IdlInterface:
|
||||||
case MessageHeader:
|
case MessageHeader:
|
||||||
case ElfExecutable:
|
case ElfExecutable:
|
||||||
case EmbeddedTypeLib:
|
case EmbeddedTypeLib:
|
||||||
|
@ -1164,6 +1169,7 @@ Module::GetDefaultModuleBaseaddress () const
|
||||||
case Alias:
|
case Alias:
|
||||||
case BootProgram:
|
case BootProgram:
|
||||||
case IdlHeader:
|
case IdlHeader:
|
||||||
|
case IdlInterface:
|
||||||
case MessageHeader:
|
case MessageHeader:
|
||||||
case EmbeddedTypeLib:
|
case EmbeddedTypeLib:
|
||||||
case Cabinet:
|
case Cabinet:
|
||||||
|
@ -1220,6 +1226,7 @@ Module::GetDefaultModuleCRT () const
|
||||||
case Alias:
|
case Alias:
|
||||||
case BootProgram:
|
case BootProgram:
|
||||||
case IdlHeader:
|
case IdlHeader:
|
||||||
|
case IdlInterface:
|
||||||
case MessageHeader:
|
case MessageHeader:
|
||||||
case EmbeddedTypeLib:
|
case EmbeddedTypeLib:
|
||||||
case Cabinet:
|
case Cabinet:
|
||||||
|
@ -1276,6 +1283,7 @@ Module::IsDLL () const
|
||||||
case RpcProxy:
|
case RpcProxy:
|
||||||
case Alias:
|
case Alias:
|
||||||
case IdlHeader:
|
case IdlHeader:
|
||||||
|
case IdlInterface:
|
||||||
case MessageHeader:
|
case MessageHeader:
|
||||||
case EmbeddedTypeLib:
|
case EmbeddedTypeLib:
|
||||||
case ElfExecutable:
|
case ElfExecutable:
|
||||||
|
|
|
@ -298,6 +298,7 @@ enum ModuleType
|
||||||
BootProgram,
|
BootProgram,
|
||||||
Win32SCR,
|
Win32SCR,
|
||||||
IdlHeader,
|
IdlHeader,
|
||||||
|
IdlInterface,
|
||||||
IsoRegTest,
|
IsoRegTest,
|
||||||
LiveIsoRegTest,
|
LiveIsoRegTest,
|
||||||
EmbeddedTypeLib,
|
EmbeddedTypeLib,
|
||||||
|
|
Loading…
Reference in a new issue