aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2010-01-04 22:51:37 +0000
committerMike Buland <eichlan@xagasoft.com>2010-01-04 22:51:37 +0000
commitff9e70dfa03fa1fb21bbb6d7de5a8fd85f31bba3 (patch)
tree742eacf1c7575e3230678b3793810f936fc25f0d
parent67e7be2d7735fde833d07d998202adf94bbbf969 (diff)
downloadbuild-ff9e70dfa03fa1fb21bbb6d7de5a8fd85f31bba3.tar.gz
build-ff9e70dfa03fa1fb21bbb6d7de5a8fd85f31bba3.tar.bz2
build-ff9e70dfa03fa1fb21bbb6d7de5a8fd85f31bba3.tar.xz
build-ff9e70dfa03fa1fb21bbb6d7de5a8fd85f31bba3.zip
Requires no longer effect build order, so do not count officially as "deps",
they are still influencing things such as filetime build decisions, but this change to the policy simplifies everything and makes building faster.
Diffstat (limited to '')
-rw-r--r--src/conditionfiletime.cpp2
-rw-r--r--src/target.cpp30
2 files changed, 5 insertions, 27 deletions
diff --git a/src/conditionfiletime.cpp b/src/conditionfiletime.cpp
index f34946f..224caf1 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 ea043f9..1846044 100644
--- a/src/target.cpp
+++ b/src/target.cpp
@@ -89,22 +89,22 @@ void Target::buildRequires( Runner &r )
89 { 89 {
90 Bu::FString sReq = (*j).toString(); 90 Bu::FString sReq = (*j).toString();
91 addRequires( sReq ); 91 addRequires( sReq );
92 try 92 /* try
93 { 93 {
94 addDep( r.getContext().getTarget( sReq ) ); 94 addDep( r.getContext().getTarget( sReq ) );
95 } 95 }
96 catch(...) { } 96 catch(...) { }*/
97 } 97 }
98 } 98 }
99 else 99 else
100 { 100 {
101 Bu::FString sReq = v.toString(); 101 Bu::FString sReq = v.toString();
102 addRequires( sReq ); 102 addRequires( sReq );
103 try 103 /* try
104 { 104 {
105 addDep( r.getContext().getTarget( sReq ) ); 105 addDep( r.getContext().getTarget( sReq ) );
106 } 106 }
107 catch(...) { } 107 catch(...) { }*/
108 } 108 }
109 } 109 }
110 r.getContext().popScope(); 110 r.getContext().popScope();
@@ -237,28 +237,6 @@ void Target::process( class Runner &r, const Bu::FString &sProfile )
237 { 237 {
238 } 238 }
239 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 }
261
262 if( !bShouldExec ) 240 if( !bShouldExec )
263 { 241 {
264 r.getContext().getView()->skipTarget( sProfile, *this ); 242 r.getContext().getView()->skipTarget( sProfile, *this );