Author: cwittich
Date: Sun Feb 8 02:54:47 2009
New Revision: 39472
URL:
http://svn.reactos.org/svn/reactos?rev=39472&view=rev
Log:
add new module type IdlInterface
Modified:
trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp
trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
trunk/reactos/tools/rbuild/bootstrap.cpp
trunk/reactos/tools/rbuild/include.cpp
trunk/reactos/tools/rbuild/module.cpp
trunk/reactos/tools/rbuild/rbuild.h
Modified: trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/mingw…
==============================================================================
--- trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] Sun Feb 8 02:54:47
2009
@@ -58,6 +58,7 @@
{ HostFalse, "", "", "-nostartfiles -nostdlib" }, //
BootProgram
{ HostFalse, "", "", "" }, // Win32SCR
{ HostFalse, "", "", "" }, // IdlHeader
+ { HostFalse, "", "", "" }, // IdlInterface
{ HostFalse, "", "", "" }, // IsoRegTest
{ HostFalse, "", "", "" }, // LiveIsoRegTest
{ HostFalse, "", "", "" }, // EmbeddedTypeLib
Modified: trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/mingw…
==============================================================================
--- trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp [iso-8859-1] Sun Feb 8
02:54:47 2009
@@ -173,6 +173,7 @@
case RpcProxy:
case MessageHeader:
case IdlHeader:
+ case IdlInterface:
case EmbeddedTypeLib:
case BootSector:
handler = new MingwModuleHandler( module );
@@ -301,6 +302,8 @@
return true;
if ( module.type == IdlHeader )
return true;
+ if ( module.type == IdlInterface )
+ return true;
if ( module.type == MessageHeader)
return true;
return false;
@@ -428,6 +431,8 @@
newExtension = "_c.o";
else if ( module.type == RpcProxy )
newExtension = "_p.o";
+ else if ( module.type == IdlInterface )
+ newExtension = "_i.o";
else
newExtension = ".h";
}
@@ -1053,7 +1058,7 @@
"$(intermediate_path_noext).a",
"$(intermediate_dir)$(SEP)", NULL );
Rule arRule2 ( "\t$(ECHO_AR)\n"
- "\t${ar} -rc $@ $($(module_name)_OBJS)\n",
+ "\t${ar} -rc $@ $($(module_name)_OBJS) \n",
NULL );
Rule arHostRule2 ( "\t$(ECHO_HOSTAR)\n"
"\t${host_ar} -rc $@ $($(module_name)_OBJS)\n",
@@ -1161,11 +1166,21 @@
"$(intermediate_path_unique).stubs.o.d",
"$(intermediate_dir)$(SEP)", NULL );
Rule widlHeaderRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(intermediate_path_noext).h: $(source) $(dependencies) $(WIDL_TARGET) |
$(intermediate_dir)\n"
+ "$(intermediate_path_noext).h: $(source) $(dependencies)
$(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
"\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H
$(intermediate_path_noext).h $(source)\n",
"$(intermediate_path_noext).h",
"$(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"
"$(intermediate_path_noext)_s.c $(intermediate_path_noext)_s.h: $(source)
$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
@@ -1185,7 +1200,7 @@
"$(intermediate_path_noext)_s.o.d",
"$(intermediate_dir)$(SEP)", NULL );
Rule widlClientRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(intermediate_path_noext)_c.c $(intermediate_path_noext)_c.h: $(source)
$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
+ "$(intermediate_path_noext)_c.c
$(intermediate_path_noext)_c.h: $(source) $(dependencies) $(WIDL_TARGET) |
$(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
"\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H
$(intermediate_path_noext)_c.h -c -C $(intermediate_path_noext)_c.c $(source)\n"
"ifeq ($(ROS_BUILDDEPS),full)\n"
@@ -1203,7 +1218,7 @@
"$(intermediate_path_noext)_c.o.d",
"$(intermediate_dir)$(SEP)", NULL );
Rule widlProxyRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(intermediate_path_noext)_p.c $(intermediate_path_noext)_p.h: $(source)
$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
+ "$(intermediate_path_noext)_p.c $(intermediate_path_noext)_p.h:
$(source) $(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
"\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -h -H
$(intermediate_path_noext)_p.h -p -P $(intermediate_path_noext)_p.c $(source)\n"
"ifeq ($(ROS_BUILDDEPS),full)\n"
@@ -1235,7 +1250,7 @@
"$(intermediate_path_noext).o",
"$(intermediate_path_noext).o.d", NULL );
Rule widlTlbRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(intermediate_dir)$(SEP)$(module_name).tlb: $(source) $(dependencies)
$(WIDL_TARGET) | $(intermediate_dir)\n"
+ "$(intermediate_dir)$(SEP)$(module_name).tlb: $(source)
$(dependencies) $(WIDL_TARGET) | $(intermediate_dir)\n"
"\t$(ECHO_WIDL)\n"
"\t$(Q)$(WIDL_TARGET) $($(module_name)_WIDLFLAGS) -t -T
$(intermediate_path_noext).tlb $(source)\n",
"$(intermediate_dir)$(SEP)", NULL );
@@ -1251,7 +1266,7 @@
"$(intermediate_path_unique).o",
"$(intermediate_path_unique).o.d", NULL );
Rule gppHostRule ( "$(source): ${$(module_name)_precondition}\n"
- "$(intermediate_path_unique).o: $(source) $(dependencies) |
$(intermediate_dir)\n"
+ "$(intermediate_path_unique).o: $(source) $(dependencies) |
$(intermediate_dir)\n"
"\t$(ECHO_HOSTCC)\n"
"\t${host_gpp} -o $@ $($(module_name)_CXXFLAGS)$(compiler_flags)
-c $<\n",
"$(intermediate_path_unique).o", NULL );
@@ -1375,6 +1390,7 @@
{ HostDontCare, RpcServer, ".idl", &widlServerRule },
{ HostDontCare, RpcClient, ".idl", &widlClientRule },
{ HostDontCare, RpcProxy, ".idl", &widlProxyRule },
+ { HostDontCare, IdlInterface, ".idl", &widlInterfaceRule },
{ HostDontCare, EmbeddedTypeLib, ".idl", &widlTlbRule },
{ HostDontCare, TypeDontCare, ".idl", &widlHeaderRule },
{ HostTrue, TypeDontCare, ".c", &gccHostRule },
Modified: trunk/reactos/tools/rbuild/bootstrap.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/bootstrap.cpp…
==============================================================================
--- trunk/reactos/tools/rbuild/bootstrap.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/bootstrap.cpp [iso-8859-1] Sun Feb 8 02:54:47 2009
@@ -71,6 +71,7 @@
case RpcProxy:
case Alias:
case IdlHeader:
+ case IdlInterface:
case MessageHeader:
case EmbeddedTypeLib:
case ElfExecutable:
Modified: trunk/reactos/tools/rbuild/include.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/include.cpp?r…
==============================================================================
--- trunk/reactos/tools/rbuild/include.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/include.cpp [iso-8859-1] Sun Feb 8 02:54:47 2009
@@ -121,7 +121,8 @@
( module->type == RpcServer ||
module->type == RpcClient ||
module->type == RpcProxy ||
- module->type == IdlHeader) )
+ module->type == IdlHeader ||
+ module->type == IdlInterface) )
return IntermediateDirectory;
else
return SourceDirectory;
Modified: trunk/reactos/tools/rbuild/module.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/module.cpp?re…
==============================================================================
--- trunk/reactos/tools/rbuild/module.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/module.cpp [iso-8859-1] Sun Feb 8 02:54:47 2009
@@ -941,6 +941,8 @@
return Alias;
if ( attribute.value == "idlheader" )
return IdlHeader;
+ if ( attribute.value == "idlinterface" )
+ return IdlInterface;
if ( attribute.value == "embeddedtypelib" )
return EmbeddedTypeLib;
if ( attribute.value == "elfexecutable" )
@@ -991,6 +993,7 @@
case RpcProxy:
case Alias:
case IdlHeader:
+ case IdlInterface:
case MessageHeader:
return IntermediateDirectory;
case TypeDontCare:
@@ -1047,6 +1050,7 @@
case RpcServer:
case RpcClient:
case RpcProxy:
+ case IdlInterface:
return ".o";
case Alias:
case ElfExecutable:
@@ -1112,6 +1116,7 @@
case Alias:
case BootProgram:
case IdlHeader:
+ case IdlInterface:
case MessageHeader:
case ElfExecutable:
case EmbeddedTypeLib:
@@ -1164,6 +1169,7 @@
case Alias:
case BootProgram:
case IdlHeader:
+ case IdlInterface:
case MessageHeader:
case EmbeddedTypeLib:
case Cabinet:
@@ -1220,6 +1226,7 @@
case Alias:
case BootProgram:
case IdlHeader:
+ case IdlInterface:
case MessageHeader:
case EmbeddedTypeLib:
case Cabinet:
@@ -1276,6 +1283,7 @@
case RpcProxy:
case Alias:
case IdlHeader:
+ case IdlInterface:
case MessageHeader:
case EmbeddedTypeLib:
case ElfExecutable:
Modified: trunk/reactos/tools/rbuild/rbuild.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/rbuild.h?rev=…
==============================================================================
--- trunk/reactos/tools/rbuild/rbuild.h [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/rbuild.h [iso-8859-1] Sun Feb 8 02:54:47 2009
@@ -298,6 +298,7 @@
BootProgram,
Win32SCR,
IdlHeader,
+ IdlInterface,
IsoRegTest,
LiveIsoRegTest,
EmbeddedTypeLib,