- 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)

svn path=/trunk/; revision=33526
This commit is contained in:
Marc Piulachs 2008-05-15 13:55:25 +00:00
parent 18ef8485c0
commit e5eeaef2d2
3 changed files with 27 additions and 3 deletions

View file

@ -401,10 +401,14 @@ MingwBackend::GenerateGlobalCFlagsAndProperties (
for ( i = 0; i < data.properties.size(); i++ )
{
Property& prop = *data.properties[i];
if (!prop.isInternal)
{
fprintf ( fMakefile, "%s := %s\n",
prop.name.c_str(),
prop.value.c_str() );
}
}
if ( data.includes.size() || data.defines.size() )
{

View 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_,

View 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_,