summaryrefslogtreecommitdiffstats
path: root/tools/gn/ninja_utils.cc
blob: 60d4d3643842cd7594d678cb79daf3f99db85e32 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright 2014 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/ninja_utils.h"

#include "tools/gn/filesystem_utils.h"
#include "tools/gn/settings.h"
#include "tools/gn/target.h"

SourceFile GetNinjaFileForTarget(const Target* target) {
  return SourceFile(GetTargetOutputDir(target).value() +
                    target->label().name() + ".ninja");
}

SourceFile GetNinjaFileForToolchain(const Settings* settings) {
  return SourceFile(GetToolchainOutputDir(settings).value() +
                    "toolchain.ninja");
}

std::string GetNinjaRulePrefixForToolchain(const Settings* settings) {
  // Don't prefix the default toolchain so it looks prettier, prefix everything
  // else.
  if (settings->is_default())
    return std::string();  // Default toolchain has no prefix.
  return settings->toolchain_label().name() + "_";
}