mirror of
https://github.com/reactos/reactos.git
synced 2025-01-04 21:38:43 +00:00
Depend on generated RPC headers
svn path=/branches/xmlbuildsystem/; revision=15327
This commit is contained in:
parent
6208798644
commit
82acb7297a
2 changed files with 59 additions and 15 deletions
|
@ -1003,6 +1003,12 @@ MingwModuleHandler::GetWidlFlags ( const File& file )
|
||||||
{
|
{
|
||||||
return file.switches;
|
return file.switches;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string
|
||||||
|
MingwModuleHandler::GetRpcServerHeaderFilename ( string basename ) const
|
||||||
|
{
|
||||||
|
return basename + "_s.h";
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MingwModuleHandler::GenerateWidlCommandsServer (
|
MingwModuleHandler::GenerateWidlCommandsServer (
|
||||||
|
@ -1019,7 +1025,7 @@ MingwModuleHandler::GenerateWidlCommandsServer (
|
||||||
backend->intermediateDirectory );
|
backend->intermediateDirectory );
|
||||||
CLEAN_FILE(generatedHeaderFilename);
|
CLEAN_FILE(generatedHeaderFilename);
|
||||||
*/
|
*/
|
||||||
string generatedHeaderFilename = basename + "_s.h";
|
string generatedHeaderFilename = GetRpcServerHeaderFilename ( basename );
|
||||||
CLEAN_FILE(generatedHeaderFilename);
|
CLEAN_FILE(generatedHeaderFilename);
|
||||||
|
|
||||||
string generatedServerFilename = PassThruCacheDirectory (
|
string generatedServerFilename = PassThruCacheDirectory (
|
||||||
|
@ -1044,6 +1050,12 @@ MingwModuleHandler::GenerateWidlCommandsServer (
|
||||||
file.name.c_str () );
|
file.name.c_str () );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string
|
||||||
|
MingwModuleHandler::GetRpcClientHeaderFilename ( string basename ) const
|
||||||
|
{
|
||||||
|
return basename + "_c.h";
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MingwModuleHandler::GenerateWidlCommandsClient (
|
MingwModuleHandler::GenerateWidlCommandsClient (
|
||||||
const File& file,
|
const File& file,
|
||||||
|
@ -1059,7 +1071,7 @@ MingwModuleHandler::GenerateWidlCommandsClient (
|
||||||
backend->intermediateDirectory );
|
backend->intermediateDirectory );
|
||||||
CLEAN_FILE(generatedHeaderFilename);
|
CLEAN_FILE(generatedHeaderFilename);
|
||||||
*/
|
*/
|
||||||
string generatedHeaderFilename = basename + "_c.h";
|
string generatedHeaderFilename = GetRpcClientHeaderFilename ( basename );
|
||||||
CLEAN_FILE(generatedHeaderFilename);
|
CLEAN_FILE(generatedHeaderFilename);
|
||||||
|
|
||||||
string generatedClientFilename = PassThruCacheDirectory (
|
string generatedClientFilename = PassThruCacheDirectory (
|
||||||
|
@ -1581,6 +1593,34 @@ MingwModuleHandler::GenerateTargetMacro ()
|
||||||
GetModuleTargets ( module ).c_str () );
|
GetModuleTargets ( module ).c_str () );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
MingwModuleHandler::GetRpcHeaderDependencies (
|
||||||
|
string_list& dependencies ) const
|
||||||
|
{
|
||||||
|
for ( size_t i = 0; i < module.non_if_data.libraries.size (); i++ )
|
||||||
|
{
|
||||||
|
Library& library = *module.non_if_data.libraries[i];
|
||||||
|
if ( library.imported_module->type == RpcServer ||
|
||||||
|
library.imported_module->type == RpcClient )
|
||||||
|
{
|
||||||
|
|
||||||
|
for ( size_t j = 0; j < library.imported_module->non_if_data.files.size (); j++ )
|
||||||
|
{
|
||||||
|
File& file = *library.imported_module->non_if_data.files[j];
|
||||||
|
string extension = GetExtension ( file.name );
|
||||||
|
if ( extension == ".idl" || extension == ".IDL" )
|
||||||
|
{
|
||||||
|
string basename = GetBasename ( file.name );
|
||||||
|
if ( library.imported_module->type == RpcServer )
|
||||||
|
dependencies.push_back ( GetRpcServerHeaderFilename ( basename ) );
|
||||||
|
if ( library.imported_module->type == RpcClient )
|
||||||
|
dependencies.push_back ( GetRpcClientHeaderFilename ( basename ) );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MingwModuleHandler::GenerateOtherMacros ()
|
MingwModuleHandler::GenerateOtherMacros ()
|
||||||
{
|
{
|
||||||
|
@ -1597,9 +1637,9 @@ MingwModuleHandler::GenerateOtherMacros ()
|
||||||
module.non_if_data,
|
module.non_if_data,
|
||||||
&module.linkerFlags );
|
&module.linkerFlags );
|
||||||
|
|
||||||
|
string_list s;
|
||||||
if ( module.importLibrary )
|
if ( module.importLibrary )
|
||||||
{
|
{
|
||||||
string_list s;
|
|
||||||
const vector<File*>& files = module.non_if_data.files;
|
const vector<File*>& files = module.non_if_data.files;
|
||||||
for ( size_t i = 0; i < files.size (); i++ )
|
for ( size_t i = 0; i < files.size (); i++ )
|
||||||
{
|
{
|
||||||
|
@ -1608,18 +1648,19 @@ MingwModuleHandler::GenerateOtherMacros ()
|
||||||
if ( extension == ".spec" || extension == ".SPEC" )
|
if ( extension == ".spec" || extension == ".SPEC" )
|
||||||
GetSpecObjectDependencies ( s, file.name );
|
GetSpecObjectDependencies ( s, file.name );
|
||||||
}
|
}
|
||||||
if ( s.size () > 0 )
|
}
|
||||||
{
|
GetRpcHeaderDependencies ( s );
|
||||||
fprintf (
|
if ( s.size () > 0 )
|
||||||
fMakefile,
|
{
|
||||||
"%s +=",
|
fprintf (
|
||||||
linkDepsMacro.c_str() );
|
fMakefile,
|
||||||
for ( size_t i = 0; i < s.size(); i++ )
|
"%s +=",
|
||||||
fprintf ( fMakefile,
|
linkDepsMacro.c_str() );
|
||||||
" %s",
|
for ( size_t i = 0; i < s.size(); i++ )
|
||||||
s[i].c_str () );
|
fprintf ( fMakefile,
|
||||||
fprintf ( fMakefile, "\n" );
|
" %s",
|
||||||
}
|
s[i].c_str () );
|
||||||
|
fprintf ( fMakefile, "\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
string globalCflags = "-g";
|
string globalCflags = "-g";
|
||||||
|
|
|
@ -177,6 +177,9 @@ private:
|
||||||
void GenerateBuildMapCode ();
|
void GenerateBuildMapCode ();
|
||||||
void GenerateBuildNonSymbolStrippedCode ();
|
void GenerateBuildNonSymbolStrippedCode ();
|
||||||
void CleanupFileVector ( std::vector<File*>& sourceFiles );
|
void CleanupFileVector ( std::vector<File*>& sourceFiles );
|
||||||
|
void GetRpcHeaderDependencies ( string_list& dependencies ) const;
|
||||||
|
std::string GetRpcServerHeaderFilename ( std::string basename ) const;
|
||||||
|
std::string GetRpcClientHeaderFilename ( std::string basename ) const;
|
||||||
public:
|
public:
|
||||||
const Module& module;
|
const Module& module;
|
||||||
string_list clean_files;
|
string_list clean_files;
|
||||||
|
|
Loading…
Reference in a new issue