From 795d0737fed40d88a7801b451b7750ba90802345 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Thu, 8 Nov 2012 22:47:23 +0000 Subject: Fixed a few condition issues, and the install script is a little better, I think. --- src/buildparser.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/buildparser.cpp') diff --git a/src/buildparser.cpp b/src/buildparser.cpp index f5c3132..cf98090 100644 --- a/src/buildparser.cpp +++ b/src/buildparser.cpp @@ -1,6 +1,7 @@ #include "buildparser.h" #include "ast.h" #include "build.yy.h" +#include "conditionplugger.h" #include "bu/sio.h" using Bu::sio; @@ -9,6 +10,9 @@ BuildParser::BuildParser( Ast &rAst ) : xAst( rAst ) { lIncludePaths.append("./"); + StrList lConds = ConditionPlugger::getInstance().getPluginList(); + for( StrList::iterator i = lConds.begin(); i; i++ ) + hConds.insert( *i, true ); } BuildParser::~BuildParser() @@ -54,13 +58,14 @@ bool BuildParser::isKeyword( const Bu::String &sStr ) bool BuildParser::isCond( const Bu::String &sStr ) { - if( sStr == "filetime" ) - return true; - if( sStr == "always" ) - return true; - if( sStr == "never" ) - return true; - return false; + try + { + return hConds.get( sStr ); + } + catch(...) + { + return false; + } } void BuildParser::include( const Bu::String &sStr, void *scanner, YYLTYPE *loc ) -- cgit v1.2.3