| 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 28f7e7994ed56500daedb84e4c6eadd7ed909ca5..60c03d0f4e2ac30ded8b236dd4c3196d5fe2e490 100644
|
| --- a/tools/gn/scope_per_file_provider.cc
|
| +++ b/tools/gn/scope_per_file_provider.cc
|
| @@ -27,22 +27,14 @@ const Value* ScopePerFileProvider::GetProgrammaticValue(
|
| if (ident == variables::kPythonPath)
|
| return GetPythonPath();
|
|
|
| - if (ident == variables::kRelativeBuildToSourceRootDir)
|
| - return GetRelativeBuildToSourceRootDir();
|
| - if (ident == variables::kRelativeRootOutputDir)
|
| - return GetRelativeRootOutputDir();
|
| - if (ident == variables::kRelativeRootGenDir)
|
| - return GetRelativeRootGenDir();
|
| - if (ident == variables::kRelativeSourceRootDir)
|
| - return GetRelativeSourceRootDir();
|
| - if (ident == variables::kRelativeTargetOutputDir)
|
| - return GetRelativeTargetOutputDir();
|
| - if (ident == variables::kRelativeTargetGenDir)
|
| - return GetRelativeTargetGenDir();
|
| if (ident == variables::kRootGenDir)
|
| return GetRootGenDir();
|
| + if (ident == variables::kRootOutDir)
|
| + return GetRootOutDir();
|
| if (ident == variables::kTargetGenDir)
|
| return GetTargetGenDir();
|
| + if (ident == variables::kTargetOutDir)
|
| + return GetTargetOutDir();
|
| return NULL;
|
| }
|
|
|
| @@ -73,62 +65,6 @@ const Value* ScopePerFileProvider::GetPythonPath() {
|
| return python_path_.get();
|
| }
|
|
|
| -const Value* ScopePerFileProvider::GetRelativeBuildToSourceRootDir() {
|
| - if (!relative_build_to_source_root_dir_) {
|
| - const SourceDir& build_dir =
|
| - scope_->settings()->build_settings()->build_dir();
|
| - relative_build_to_source_root_dir_.reset(
|
| - new Value(NULL, InvertDirWithNoLastSlash(build_dir)));
|
| - }
|
| - return relative_build_to_source_root_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::GetRelativeSourceRootDir() {
|
| - if (!relative_source_root_dir_) {
|
| - relative_source_root_dir_.reset(new Value(NULL,
|
| - GetRelativeRootWithNoLastSlash()));
|
| - }
|
| - return relative_source_root_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();
|
| -}
|
| -
|
| const Value* ScopePerFileProvider::GetRootGenDir() {
|
| if (!root_gen_dir_) {
|
| root_gen_dir_.reset(new Value(NULL,
|
| @@ -137,6 +73,14 @@ const Value* ScopePerFileProvider::GetRootGenDir() {
|
| return root_gen_dir_.get();
|
| }
|
|
|
| +const Value* ScopePerFileProvider::GetRootOutDir() {
|
| + if (!root_out_dir_) {
|
| + root_out_dir_.reset(new Value(NULL,
|
| + "/" + GetRootOutputDirWithNoLastSlash(scope_->settings())));
|
| + }
|
| + return root_out_dir_.get();
|
| +}
|
| +
|
| const Value* ScopePerFileProvider::GetTargetGenDir() {
|
| if (!target_gen_dir_) {
|
| target_gen_dir_.reset(new Value(NULL,
|
| @@ -147,6 +91,16 @@ const Value* ScopePerFileProvider::GetTargetGenDir() {
|
| return target_gen_dir_.get();
|
| }
|
|
|
| +const Value* ScopePerFileProvider::GetTargetOutDir() {
|
| + if (!target_out_dir_) {
|
| + target_out_dir_.reset(new Value(NULL,
|
| + "/" +
|
| + GetRootOutputDirWithNoLastSlash(scope_->settings()) + "/obj" +
|
| + GetFileDirWithNoLastSlash()));
|
| + }
|
| + return target_out_dir_.get();
|
| +}
|
| +
|
| // static
|
| std::string ScopePerFileProvider::GetRootOutputDirWithNoLastSlash(
|
| const Settings* settings) {
|
| @@ -173,16 +127,3 @@ std::string ScopePerFileProvider::GetFileDirWithNoLastSlash() const {
|
| dir_value[dir_value.size() - 1] == '/');
|
| return dir_value.substr(1, dir_value.size() - 2);
|
| }
|
| -
|
| -std::string ScopePerFileProvider::GetRelativeRootWithNoLastSlash() const {
|
| - return InvertDirWithNoLastSlash(scope_->GetSourceDir());
|
| -}
|
| -
|
| -// static
|
| -std::string ScopePerFileProvider::InvertDirWithNoLastSlash(
|
| - const SourceDir& dir) {
|
| - std::string inverted = InvertDir(dir);
|
| - if (inverted.empty())
|
| - return ".";
|
| - return inverted.substr(0, inverted.size() - 1);
|
| -}
|
|
|