[ros-diffs] [mpiulachs] 33526: - Added a new attribute 'internal' to 'Property' element. Internal properties are like regular properties but internal to rbuild (they are not included in the generated makefile)

mpiulachs at svn.reactos.org mpiulachs at svn.reactos.org
Thu May 15 15:55:26 CEST 2008


Author: mpiulachs
Date: Thu May 15 08:55:25 2008
New Revision: 33526

URL: http://svn.reactos.org/svn/reactos?rev=33526&view=rev
Log:
- Added a new attribute 'internal' to 'Property' element. Internal properties are like regular properties but internal to rbuild (they are not included in the generated makefile)

Modified:
    trunk/reactos/tools/rbuild/backend/mingw/mingw.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/mingw.cpp?rev=33526&r1=33525&r2=33526&view=diff
==============================================================================
--- trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp [iso-8859-1] Thu May 15 08:55:25 2008
@@ -401,9 +401,13 @@
 	for ( i = 0; i < data.properties.size(); i++ )
 	{
 		Property& prop = *data.properties[i];
-		fprintf ( fMakefile, "%s := %s\n",
-			prop.name.c_str(),
-			prop.value.c_str() );
+
+		if (!prop.isInternal)
+		{
+			fprintf ( fMakefile, "%s := %s\n",
+				prop.name.c_str(),
+				prop.value.c_str() );
+		}
 	}
 
 	if ( data.includes.size() || data.defines.size() )

Modified: trunk/reactos/tools/rbuild/module.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/module.cpp?rev=33526&r1=33525&r2=33526&view=diff
==============================================================================
--- trunk/reactos/tools/rbuild/module.cpp [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/module.cpp [iso-8859-1] Thu May 15 08:55:25 2008
@@ -1705,6 +1705,25 @@
 	att = node_.GetAttribute ( "value", true );
 	assert(att);
 	value = att->value;
+
+	att = node_.GetAttribute ( "internal", false );
+	if ( att != NULL )
+	{
+		const char* p = att->value.c_str();
+		if ( !stricmp ( p, "true" ) || !stricmp ( p, "yes" ) )
+			isInternal = true;
+		else if ( !stricmp ( p, "false" ) || !stricmp ( p, "no" ) )
+			isInternal = false;
+		else
+		{
+			throw InvalidAttributeValueException (
+				node_.location,
+				"internal",
+				att->value );
+		}
+	}
+	else
+		isInternal = false;
 }
 
 Property::Property ( const Project& project_,

Modified: trunk/reactos/tools/rbuild/rbuild.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/rbuild.h?rev=33526&r1=33525&r2=33526&view=diff
==============================================================================
--- trunk/reactos/tools/rbuild/rbuild.h [iso-8859-1] (original)
+++ trunk/reactos/tools/rbuild/rbuild.h [iso-8859-1] Thu May 15 08:55:25 2008
@@ -658,6 +658,7 @@
 	const Project& project;
 	const Module* module;
 	std::string name, value;
+	bool isInternal;
 
 	Property ( const XMLElement& node_,
 	           const Project& project_,



More information about the Ros-diffs mailing list