-----Original Message-----
From: ros-diffs-bounces(a)reactos.org [mailto:ros-diffs-bounces@reactos.org
]
On Behalf Of cwittich(a)svn.reactos.org
Sent: Saturday, January 26, 2008 7:28 PM
To: ros-diffs(a)reactos.org
Subject: [ros-diffs] [cwittich] 32018: compilerflags can be set for
compiler {ALL|CC|CPP} now (ALL is default)
Author: cwittich
Date: Sat Jan 26 21:27:37 2008
New Revision: 32018
URL:
http://svn.reactos.org/svn/reactos?rev=32018&view=rev
Log:
compilerflags can be set for compiler {ALL|CC|CPP} now (ALL is
default)
Modified:
trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp
trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
trunk/reactos/tools/rbuild/backend/mingw/modulehandler.h
trunk/reactos/tools/rbuild/compilerflag.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/ming
w/mingw.cpp?rev=32018&r1=32017&r2=32018&view=diff
=
=
=
=
=
=====================================================================
====
--- trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp (original)
+++ trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp Sat Jan 26
21:27:37
2008
@@ -448,10 +448,13 @@
for ( i = 0; i < data.compilerFlags.size(); i++ )
{
- fprintf (
- fMakefile,
- " %s",
- data.compilerFlags[i]->flag.c_str() );
+ if ( data.compilerFlags[i]->compiler == CompilerTypeDontCare
+ {
+ fprintf (
+ fMakefile,
+ " %s",
+ data.compilerFlags[i]->flag.c_str() );
+ }
}
fprintf ( fMakefile, "\n" );
Modified: trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/ming
w/modulehandler.cpp?rev=32018&r1=32017&r2=32018&view=diff
=
=
=
=
=
=====================================================================
====
--- trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp
(original)
+++ trunk/reactos/tools/rbuild/backend/mingw/modulehandler.cpp Sat
Jan 26
21:27:37 2008
@@ -764,15 +764,18 @@
}
string
-MingwModuleHandler::GenerateCompilerParametersFromVector ( const
vector<CompilerFlag*>& compilerFlags ) const
+MingwModuleHandler::GenerateCompilerParametersFromVector ( const
vector<CompilerFlag*>& compilerFlags, const CompilerType type ) const
{
string parameters;
for ( size_t i = 0; i < compilerFlags.size (); i++ )
{
CompilerFlag& compilerFlag = *compilerFlags[i];
- if ( parameters.length () > 0 )
- parameters += " ";
- parameters += compilerFlag.flag;
+ if ( compilerFlag.compiler == type )
+ {
+ if ( parameters.length () > 0 )
+ parameters += " ";
+ parameters += compilerFlag.flag;
+ }
}
return parameters;
}
@@ -848,7 +851,7 @@
if ( generatingCompilerMacro )
{
- string compilerParameters =
GenerateCompilerParametersFromVector ( data.compilerFlags );
+ string compilerParameters =
GenerateCompilerParametersFromVector ( data.compilerFlags ,
CompilerTypeDontCare );
if ( compilerParameters.size () > 0 )
{
fprintf (
@@ -1719,21 +1722,25 @@
{
const FileLocation& sourceFile = compilationUnit.GetFilename ();
string extension = GetExtension ( sourceFile );
+ string flags = cflagsMacro;
+ flags += " ";
if ( extension == ".c" || extension == ".C" )
{
+ flags += GenerateCompilerParametersFromVector (
module.non_if_data.compilerFlags , CompilerTypeCC );
GenerateGccCommand ( &sourceFile,
GetCompilationUnitDependencies (
compilationUnit ) + extraDependencies,
cc,
- cflagsMacro );
+ flags );
}
else if ( extension == ".cc" || extension == ".CC" ||
extension == ".cpp" || extension == ".CPP" ||
extension == ".cxx" || extension == ".CXX" )
{
+ flags += GenerateCompilerParametersFromVector (
module.non_if_data.compilerFlags , CompilerTypeCPP );
GenerateGccCommand ( &sourceFile,
GetCompilationUnitDependencies (
compilationUnit ) + extraDependencies,
cppc,
- cflagsMacro );
+ flags );
}
else if ( extension == ".s" || extension == ".S" )
{
Modified: trunk/reactos/tools/rbuild/backend/mingw/modulehandler.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/ming
w/modulehandler.h?rev=32018&r1=32017&r2=32018&view=diff
=
=
=
=
=
=====================================================================
====
--- trunk/reactos/tools/rbuild/backend/mingw/modulehandler.h
(original)
+++ trunk/reactos/tools/rbuild/backend/mingw/modulehandler.h Sat
Jan 26
21:27:37 2008
@@ -130,7 +130,7 @@
std::string ConcatenatePaths ( const std::string& path1,
const std::string& path2 ) const;
std::string GenerateGccDefineParameters () const;
- std::string GenerateCompilerParametersFromVector ( const
std::vector<CompilerFlag*>& compilerFlags ) const;
+ std::string GenerateCompilerParametersFromVector ( const
std::vector<CompilerFlag*>& compilerFlags, const CompilerType type )
const;
std::string GenerateLinkerParametersFromVector ( const
std::vector<LinkerFlag*>& linkerFlags ) const;
std::string GenerateImportLibraryDependenciesFromVector ( const
std::vector<Library*>& libraries );
std::string GenerateLinkerParameters () const;
Modified: trunk/reactos/tools/rbuild/compilerflag.cpp
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/compilerflag
.cpp?rev=32018&r1=32017&r2=32018&view=diff
=
=
=
=
=
=====================================================================
====
--- trunk/reactos/tools/rbuild/compilerflag.cpp (original)
+++ trunk/reactos/tools/rbuild/compilerflag.cpp Sat Jan 26 21:27:37
2008
@@ -55,7 +55,25 @@
node.location,
"<compilerflag> is empty." );
}
+
flag = node.value;
+ compiler = CompilerTypeDontCare;
+
+ const XMLAttribute* att = node.GetAttribute ( "compiler", false );
+ if ( att != NULL)
+ {
+ if ( att->value == "cpp" )
+ compiler = CompilerTypeCPP;
+ else if ( att->value == "cc" )
+ compiler = CompilerTypeCC;
+ else
+ {
+ throw InvalidAttributeValueException (
+ node.location,
+ "compiler",
+ att->value );
+ }
+ }
}
void
Modified: trunk/reactos/tools/rbuild/rbuild.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/rbuild.h?rev
=32018&r1=32017&r2=32018&view=diff
=
=
=
=
=
=====================================================================
====
--- trunk/reactos/tools/rbuild/rbuild.h (original)
+++ trunk/reactos/tools/rbuild/rbuild.h Sat Jan 26 21:27:37 2008
@@ -309,6 +309,13 @@
HostDefault,
HostTrue,
HostDontCare,
+};
+
+enum CompilerType
+{
+ CompilerTypeDontCare,
+ CompilerTypeCC,
+ CompilerTypeCPP,
};
class FileLocation
@@ -592,6 +599,7 @@
const Module* module;
const XMLElement& node;
std::string flag;
+ CompilerType compiler;
CompilerFlag ( const Project& project,
const XMLElement& compilerFlagNode );
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org