aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2009-12-30 15:00:09 +0000
committerMike Buland <eichlan@xagasoft.com>2009-12-30 15:00:09 +0000
commit67e7be2d7735fde833d07d998202adf94bbbf969 (patch)
tree33672a89ec9cad92ac2db8322718b8c80e6f903a /src
parent501bac50016628b787906392ce7af8262e561e52 (diff)
downloadbuild-67e7be2d7735fde833d07d998202adf94bbbf969.tar.gz
build-67e7be2d7735fde833d07d998202adf94bbbf969.tar.bz2
build-67e7be2d7735fde833d07d998202adf94bbbf969.tar.xz
build-67e7be2d7735fde833d07d998202adf94bbbf969.zip
Minor changes to the way requires are computed, getting ready for caching.
Diffstat (limited to 'src')
-rw-r--r--src/cache.h2
-rw-r--r--src/conditionfiletime.cpp2
-rw-r--r--src/target.cpp22
3 files changed, 25 insertions, 1 deletions
diff --git a/src/cache.h b/src/cache.h
index b255e94..31da981 100644
--- a/src/cache.h
+++ b/src/cache.h
@@ -21,6 +21,8 @@ public:
21 void load(); 21 void load();
22 void save(); 22 void save();
23 23
24
25
24private: 26private:
25 Bu::FString sCacheFile; 27 Bu::FString sCacheFile;
26 bool bIsLoaded; 28 bool bIsLoaded;
diff --git a/src/conditionfiletime.cpp b/src/conditionfiletime.cpp
index 224caf1..f34946f 100644
--- a/src/conditionfiletime.cpp
+++ b/src/conditionfiletime.cpp
@@ -51,7 +51,7 @@ bool ConditionFileTime::shouldExec( class Runner &r, Target &rTarget )
51 return true; 51 return true;
52 } 52 }
53 } 53 }
54 rTarget.buildRequires( r ); 54 // rTarget.buildRequires( r );
55 for( StrList::const_iterator j = rTarget.getRequiresList().begin(); 55 for( StrList::const_iterator j = rTarget.getRequiresList().begin();
56 j; j++ ) 56 j; j++ )
57 { 57 {
diff --git a/src/target.cpp b/src/target.cpp
index 8eec07a..ea043f9 100644
--- a/src/target.cpp
+++ b/src/target.cpp
@@ -236,6 +236,28 @@ void Target::process( class Runner &r, const Bu::FString &sProfile )
236 catch( Bu::HashException &e ) 236 catch( Bu::HashException &e )
237 { 237 {
238 } 238 }
239
240 buildRequires( r );
241
242 for( TargetList::iterator i = lDeps.begin(); i; i++ )
243 {
244 if( (*i)->bRun )
245 continue;
246
247 // TODO: This is important, in the future, it may be possible for a
248 // target to be triggered by multiple dependant targets, to cover for
249 // this the below mergeUnder should be *TEMPORARY* and the target
250 // that was marged to be reset post processing.
251 (*i)->mergeUnder( hVars );
252 (*i)->process( r, sProfile );
253 }
254 try
255 {
256 bShouldExec = hProfiles.get( sProfile )->shouldExec( r, *this );
257 }
258 catch( Bu::HashException &e )
259 {
260 }
239 261
240 if( !bShouldExec ) 262 if( !bShouldExec )
241 { 263 {