Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: tools/gn/scope_per_file_provider.cc

Issue 22290010: Add support for data deps. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove switch Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/gn/scope_per_file_provider.h ('k') | tools/gn/secondary/base/BUILD.gn » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gn/scope_per_file_provider.cc
diff --git a/tools/gn/scope_per_file_provider.cc b/tools/gn/scope_per_file_provider.cc
index 1799d9e12b96060bc16b1ba950dbfe2e2a8a91c1..acb1b3c161bb5c10fb5372d3cf01fe944d02e4d6 100644
--- a/tools/gn/scope_per_file_provider.cc
+++ b/tools/gn/scope_per_file_provider.cc
@@ -9,29 +9,7 @@
#include "tools/gn/source_file.h"
#include "tools/gn/toolchain_manager.h"
#include "tools/gn/value.h"
-
-const char* ScopePerFileProvider::kDefaultToolchain =
- "default_toolchain";
-const char* ScopePerFileProvider::kPythonPath =
- "python_path";
-const char* ScopePerFileProvider::kToolchain =
- "toolchain";
-const char* ScopePerFileProvider::kRootOutputDirName =
- "root_output_dir";
-const char* ScopePerFileProvider::kRootGenDirName =
- "root_gen_dir";
-const char* ScopePerFileProvider::kTargetOutputDirName =
- "target_output_dir";
-const char* ScopePerFileProvider::kTargetGenDirName =
- "target_gen_dir";
-const char* ScopePerFileProvider::kRelativeRootOutputDirName =
- "relative_root_output_dir";
-const char* ScopePerFileProvider::kRelativeRootGenDirName =
- "relative_root_gen_dir";
-const char* ScopePerFileProvider::kRelativeTargetOutputDirName =
- "relative_target_output_dir";
-const char* ScopePerFileProvider::kRelativeTargetGenDirName =
- "relative_target_gen_dir";
+#include "tools/gn/variables.h"
ScopePerFileProvider::ScopePerFileProvider(Scope* scope,
const SourceFile& source_file)
@@ -44,35 +22,30 @@ ScopePerFileProvider::~ScopePerFileProvider() {
const Value* ScopePerFileProvider::GetProgrammaticValue(
const base::StringPiece& ident) {
- if (ident == kDefaultToolchain)
+ if (ident == variables::kCurrentToolchain)
+ return GetCurrentToolchain();
+ if (ident == variables::kDefaultToolchain)
return GetDefaultToolchain();
- if (ident == kPythonPath)
+ if (ident == variables::kPythonPath)
return GetPythonPath();
- if (ident == kTargetOutputDirName)
- return GetTargetOutputDir();
- if (ident == kTargetGenDirName)
- return GetTargetGenDir();
-
- if (ident == kRelativeRootOutputDirName)
+ if (ident == variables::kRelativeRootOutputDir)
return GetRelativeRootOutputDir();
- if (ident == kRelativeRootGenDirName)
+ if (ident == variables::kRelativeRootGenDir)
return GetRelativeRootGenDir();
- if (ident == kRelativeTargetOutputDirName)
+ if (ident == variables::kRelativeTargetOutputDir)
return GetRelativeTargetOutputDir();
- if (ident == kRelativeTargetGenDirName)
+ if (ident == variables::kRelativeTargetGenDir)
return GetRelativeTargetGenDir();
return NULL;
}
-// static
-Value ScopePerFileProvider::GetRootOutputDir(const Settings* settings) {
- return Value(NULL, GetRootOutputDirWithNoLastSlash(settings));
-}
-
-// static
-Value ScopePerFileProvider::GetRootGenDir(const Settings* settings) {
- return Value(NULL, GetRootGenDirWithNoLastSlash(settings));
+const Value* ScopePerFileProvider::GetCurrentToolchain() {
+ if (!current_toolchain_) {
+ current_toolchain_.reset(new Value(NULL,
+ scope_->settings()->toolchain()->label().GetUserVisibleName(false)));
+ }
+ return current_toolchain_.get();
}
const Value* ScopePerFileProvider::GetDefaultToolchain() {
@@ -94,32 +67,6 @@ const Value* ScopePerFileProvider::GetPythonPath() {
return python_path_.get();
}
-const Value* ScopePerFileProvider::GetToolchain() {
- if (!toolchain_) {
- toolchain_.reset(new Value(NULL,
- scope_->settings()->toolchain()->label().GetUserVisibleName(false)));
- }
- return toolchain_.get();
-}
-
-const Value* ScopePerFileProvider::GetTargetOutputDir() {
- if (!target_output_dir_) {
- target_output_dir_.reset(new Value(NULL,
- GetRootOutputDirWithNoLastSlash(scope_->settings()) +
- GetFileDirWithNoLastSlash()));
- }
- return target_output_dir_.get();
-}
-
-const Value* ScopePerFileProvider::GetTargetGenDir() {
- if (!target_output_dir_) {
- target_gen_dir_.reset(new Value(NULL,
- GetRootGenDirWithNoLastSlash(scope_->settings()) +
- GetFileDirWithNoLastSlash()));
- }
- return target_gen_dir_.get();
-}
-
const Value* ScopePerFileProvider::GetRelativeRootOutputDir() {
if (!relative_root_output_dir_) {
relative_root_output_dir_.reset(new Value(NULL,
@@ -164,7 +111,7 @@ std::string ScopePerFileProvider::GetRootOutputDirWithNoLastSlash(
const std::string& output_dir =
settings->build_settings()->build_dir().value();
CHECK(!output_dir.empty());
- return output_dir.substr(0, output_dir.size() - 1);
+ return output_dir.substr(1, output_dir.size() - 1);
}
// static
« no previous file with comments | « tools/gn/scope_per_file_provider.h ('k') | tools/gn/secondary/base/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698