summaryrefslogtreecommitdiffstats
path: root/tools/gn/scope_per_file_provider.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tools/gn/scope_per_file_provider.cc')
-rw-r--r--tools/gn/scope_per_file_provider.cc186
1 files changed, 0 insertions, 186 deletions
diff --git a/tools/gn/scope_per_file_provider.cc b/tools/gn/scope_per_file_provider.cc
deleted file mode 100644
index 1799d9e..0000000
--- a/tools/gn/scope_per_file_provider.cc
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright (c) 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "tools/gn/scope_per_file_provider.h"
-
-#include "tools/gn/filesystem_utils.h"
-#include "tools/gn/settings.h"
-#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";
-
-ScopePerFileProvider::ScopePerFileProvider(Scope* scope,
- const SourceFile& source_file)
- : ProgrammaticProvider(scope),
- source_file_(source_file) {
-}
-
-ScopePerFileProvider::~ScopePerFileProvider() {
-}
-
-const Value* ScopePerFileProvider::GetProgrammaticValue(
- const base::StringPiece& ident) {
- if (ident == kDefaultToolchain)
- return GetDefaultToolchain();
- if (ident == kPythonPath)
- return GetPythonPath();
-
- if (ident == kTargetOutputDirName)
- return GetTargetOutputDir();
- if (ident == kTargetGenDirName)
- return GetTargetGenDir();
-
- if (ident == kRelativeRootOutputDirName)
- return GetRelativeRootOutputDir();
- if (ident == kRelativeRootGenDirName)
- return GetRelativeRootGenDir();
- if (ident == kRelativeTargetOutputDirName)
- return GetRelativeTargetOutputDir();
- if (ident == kRelativeTargetGenDirName)
- 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::GetDefaultToolchain() {
- if (!default_toolchain_) {
- const ToolchainManager& toolchain_manager =
- scope_->settings()->build_settings()->toolchain_manager();
- default_toolchain_.reset(new Value(NULL,
- toolchain_manager.GetDefaultToolchainUnlocked().GetUserVisibleName(
- false)));
- }
- return default_toolchain_.get();
-}
-
-const Value* ScopePerFileProvider::GetPythonPath() {
- if (!python_path_) {
- python_path_.reset(new Value(NULL,
- FilePathToUTF8(scope_->settings()->build_settings()->python_path())));
- }
- 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,
- GetRelativeRootWithNoLastSlash() +
- GetRootOutputDirWithNoLastSlash(scope_->settings())));
- }
- return relative_root_output_dir_.get();
-}
-
-const Value* ScopePerFileProvider::GetRelativeRootGenDir() {
- if (!relative_root_gen_dir_) {
- relative_root_gen_dir_.reset(new Value(NULL,
- GetRelativeRootWithNoLastSlash() +
- GetRootGenDirWithNoLastSlash(scope_->settings())));
- }
- return relative_root_gen_dir_.get();
-}
-
-const Value* ScopePerFileProvider::GetRelativeTargetOutputDir() {
- if (!relative_target_output_dir_) {
- relative_target_output_dir_.reset(new Value(NULL,
- GetRelativeRootWithNoLastSlash() +
- GetRootOutputDirWithNoLastSlash(scope_->settings()) + "obj/" +
- GetFileDirWithNoLastSlash()));
- }
- return relative_target_output_dir_.get();
-}
-
-const Value* ScopePerFileProvider::GetRelativeTargetGenDir() {
- if (!relative_target_gen_dir_) {
- relative_target_gen_dir_.reset(new Value(NULL,
- GetRelativeRootWithNoLastSlash() +
- GetRootGenDirWithNoLastSlash(scope_->settings()) +
- GetFileDirWithNoLastSlash()));
- }
- return relative_target_gen_dir_.get();
-}
-
-// static
-std::string ScopePerFileProvider::GetRootOutputDirWithNoLastSlash(
- const Settings* settings) {
- const std::string& output_dir =
- settings->build_settings()->build_dir().value();
- CHECK(!output_dir.empty());
- return output_dir.substr(0, output_dir.size() - 1);
-}
-
-// static
-std::string ScopePerFileProvider::GetRootGenDirWithNoLastSlash(
- const Settings* settings) {
- return GetRootOutputDirWithNoLastSlash(settings) + "/gen";
-}
-
-std::string ScopePerFileProvider::GetFileDirWithNoLastSlash() const {
- std::string dir_value = source_file_.GetDir().value();
- return dir_value.substr(0, dir_value.size() - 1);
-}
-
-std::string ScopePerFileProvider::GetRelativeRootWithNoLastSlash() const {
- std::string inverted = InvertDir(source_file_.GetDir());
- if (inverted.empty())
- return ".";
- return inverted.substr(0, inverted.size() - 1);
-}