xref: /aosp_15_r20/external/cronet/build/android/native_flags/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2021 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerif (current_toolchain == default_toolchain) {
6*6777b538SAndroid Build Coastguard Worker  import("//build/toolchain/toolchain.gni")
7*6777b538SAndroid Build Coastguard Worker
8*6777b538SAndroid Build Coastguard Worker  # A toolchain that will capture compiler and linker arguments to a file.
9*6777b538SAndroid Build Coastguard Worker  toolchain("flagcapture") {
10*6777b538SAndroid Build Coastguard Worker    tool("cxx") {
11*6777b538SAndroid Build Coastguard Worker      cxx = rebase_path("argcapture.py", root_build_dir)
12*6777b538SAndroid Build Coastguard Worker      command = "$cxx {{output}} {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}"
13*6777b538SAndroid Build Coastguard Worker      outputs = [ "{{root_out_dir}}/{{label_name}}.txt" ]
14*6777b538SAndroid Build Coastguard Worker    }
15*6777b538SAndroid Build Coastguard Worker    tool("solink") {
16*6777b538SAndroid Build Coastguard Worker      solink = rebase_path("argcapture.py", root_build_dir)
17*6777b538SAndroid Build Coastguard Worker      command = "$solink {{output}} {{ldflags}}"
18*6777b538SAndroid Build Coastguard Worker      outputs = [ "{{root_out_dir}}/{{label_name}}.txt" ]
19*6777b538SAndroid Build Coastguard Worker    }
20*6777b538SAndroid Build Coastguard Worker    tool("alink") {
21*6777b538SAndroid Build Coastguard Worker      command = "this-should-never-run"
22*6777b538SAndroid Build Coastguard Worker      outputs = [ "this-will-never-exist" ]
23*6777b538SAndroid Build Coastguard Worker    }
24*6777b538SAndroid Build Coastguard Worker    tool("stamp") {
25*6777b538SAndroid Build Coastguard Worker      command = stamp_command
26*6777b538SAndroid Build Coastguard Worker      description = stamp_description
27*6777b538SAndroid Build Coastguard Worker    }
28*6777b538SAndroid Build Coastguard Worker  }
29*6777b538SAndroid Build Coastguard Worker} else if (current_toolchain == "//build/android/native_flags:flagcapture") {
30*6777b538SAndroid Build Coastguard Worker  # This will record flags from all default configs of the default toolchain.
31*6777b538SAndroid Build Coastguard Worker  source_set("default_ccflags") {
32*6777b538SAndroid Build Coastguard Worker    sources = [ "empty.cc" ]
33*6777b538SAndroid Build Coastguard Worker  }
34*6777b538SAndroid Build Coastguard Worker  shared_library("default_ldflags") {
35*6777b538SAndroid Build Coastguard Worker    no_default_deps = true
36*6777b538SAndroid Build Coastguard Worker  }
37*6777b538SAndroid Build Coastguard Worker}
38