- Added a new attribute 'internal' to 'Property' element. Internal properties are...
authorMarc Piulachs <marc.piulachs@live.com>
Thu, 15 May 2008 13:55:25 +0000 (13:55 +0000)
committerMarc Piulachs <marc.piulachs@live.com>
Thu, 15 May 2008 13:55:25 +0000 (13:55 +0000)
svn path=/trunk/; revision=33526

reactos/tools/rbuild/backend/mingw/mingw.cpp
reactos/tools/rbuild/module.cpp
reactos/tools/rbuild/rbuild.h

index 161e700..56c5033 100644 (file)
@@ -401,9 +401,13 @@ MingwBackend::GenerateGlobalCFlagsAndProperties (
        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() )
index a69288a..812638f 100644 (file)
@@ -1705,6 +1705,25 @@ Property::Property ( const XMLElement& node_,
        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_,
index 1b6adba..e7a5b28 100644 (file)
@@ -658,6 +658,7 @@ public:
        const Project& project;
        const Module* module;
        std::string name, value;
+       bool isInternal;
 
        Property ( const XMLElement& node_,
                   const Project& project_,