aboutsummaryrefslogtreecommitdiffstats
path: root/func.cc
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-07-28 14:52:37 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-07-28 14:54:09 +0900
commit7409aee3b69a7de63af7a4c3dd7ea87d84fed0f1 (patch)
treefc4c3bc1fac831d46c4586f2faa12131420f3a46 /func.cc
parentf90f73c2f110e06789acf55ab260ee001770eed3 (diff)
downloadandroid_build_kati-7409aee3b69a7de63af7a4c3dd7ea87d84fed0f1.tar.gz
android_build_kati-7409aee3b69a7de63af7a4c3dd7ea87d84fed0f1.tar.bz2
android_build_kati-7409aee3b69a7de63af7a4c3dd7ea87d84fed0f1.zip
[C++] Run $(wildcard) at generation time, not ninja time
Also add a test case to wildcard_cache.mk
Diffstat (limited to 'func.cc')
-rw-r--r--func.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/func.cc b/func.cc
index b174a72..e0f9e52 100644
--- a/func.cc
+++ b/func.cc
@@ -253,13 +253,8 @@ void JoinFunc(const vector<Value*>& args, Evaluator* ev, string* s) {
void WildcardFunc(const vector<Value*>& args, Evaluator* ev, string* s) {
COLLECT_STATS("func wildcard time");
shared_ptr<string> pat = args[0]->Eval(ev);
- if (ev->avoid_io()) {
- *s += "$(/bin/ls -d ";
- *s += *pat;
- *s += " 2> /dev/null)";
- return;
- }
-
+ // Note GNU make does not delay the execution of $(wildcard) so we
+ // do not need to check avoid_io here.
WordWriter ww(s);
vector<string>* files;
for (StringPiece tok : WordScanner(*pat)) {