xref: /aosp_15_r20/external/cronet/build/shim_headers.gni (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2016 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 Workertemplate("shim_headers") {
6*6777b538SAndroid Build Coastguard Worker  action_name = "gen_${target_name}"
7*6777b538SAndroid Build Coastguard Worker  config_name = "${target_name}_config"
8*6777b538SAndroid Build Coastguard Worker  shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
9*6777b538SAndroid Build Coastguard Worker
10*6777b538SAndroid Build Coastguard Worker  config(config_name) {
11*6777b538SAndroid Build Coastguard Worker    include_dirs = [ shim_headers_path ]
12*6777b538SAndroid Build Coastguard Worker  }
13*6777b538SAndroid Build Coastguard Worker
14*6777b538SAndroid Build Coastguard Worker  action(action_name) {
15*6777b538SAndroid Build Coastguard Worker    script = "//tools/generate_shim_headers/generate_shim_headers.py"
16*6777b538SAndroid Build Coastguard Worker    args = [
17*6777b538SAndroid Build Coastguard Worker      "--generate",
18*6777b538SAndroid Build Coastguard Worker      "--headers-root",
19*6777b538SAndroid Build Coastguard Worker      rebase_path(invoker.root_path),
20*6777b538SAndroid Build Coastguard Worker      "--output-directory",
21*6777b538SAndroid Build Coastguard Worker      rebase_path(shim_headers_path),
22*6777b538SAndroid Build Coastguard Worker    ]
23*6777b538SAndroid Build Coastguard Worker    if (defined(invoker.prefix)) {
24*6777b538SAndroid Build Coastguard Worker      args += [
25*6777b538SAndroid Build Coastguard Worker        "--prefix",
26*6777b538SAndroid Build Coastguard Worker        invoker.prefix,
27*6777b538SAndroid Build Coastguard Worker      ]
28*6777b538SAndroid Build Coastguard Worker    }
29*6777b538SAndroid Build Coastguard Worker    args += invoker.headers
30*6777b538SAndroid Build Coastguard Worker
31*6777b538SAndroid Build Coastguard Worker    outputs = []
32*6777b538SAndroid Build Coastguard Worker    foreach(h, invoker.headers) {
33*6777b538SAndroid Build Coastguard Worker      outputs += [ shim_headers_path + "/" + rebase_path(invoker.root_path,"//") + "/" + h ]
34*6777b538SAndroid Build Coastguard Worker    }
35*6777b538SAndroid Build Coastguard Worker  }
36*6777b538SAndroid Build Coastguard Worker
37*6777b538SAndroid Build Coastguard Worker  group(target_name) {
38*6777b538SAndroid Build Coastguard Worker    deps = [ ":${action_name}" ]
39*6777b538SAndroid Build Coastguard Worker    all_dependent_configs = [ ":${config_name}" ]
40*6777b538SAndroid Build Coastguard Worker  }
41*6777b538SAndroid Build Coastguard Worker}
42