xref: /aosp_15_r20/external/angle/build/shim_headers.gni (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2016 The Chromium Authors
2*8975f5c5SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*8975f5c5SAndroid Build Coastguard Worker# found in the LICENSE file.
4*8975f5c5SAndroid Build Coastguard Worker
5*8975f5c5SAndroid Build Coastguard Workertemplate("shim_headers") {
6*8975f5c5SAndroid Build Coastguard Worker  action_name = "gen_${target_name}"
7*8975f5c5SAndroid Build Coastguard Worker  config_name = "${target_name}_config"
8*8975f5c5SAndroid Build Coastguard Worker  shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
9*8975f5c5SAndroid Build Coastguard Worker
10*8975f5c5SAndroid Build Coastguard Worker  config(config_name) {
11*8975f5c5SAndroid Build Coastguard Worker    include_dirs = [ shim_headers_path ]
12*8975f5c5SAndroid Build Coastguard Worker  }
13*8975f5c5SAndroid Build Coastguard Worker
14*8975f5c5SAndroid Build Coastguard Worker  action(action_name) {
15*8975f5c5SAndroid Build Coastguard Worker    script = "//tools/generate_shim_headers/generate_shim_headers.py"
16*8975f5c5SAndroid Build Coastguard Worker    args = [
17*8975f5c5SAndroid Build Coastguard Worker      "--generate",
18*8975f5c5SAndroid Build Coastguard Worker      "--headers-root",
19*8975f5c5SAndroid Build Coastguard Worker      rebase_path(invoker.root_path),
20*8975f5c5SAndroid Build Coastguard Worker      "--output-directory",
21*8975f5c5SAndroid Build Coastguard Worker      rebase_path(shim_headers_path),
22*8975f5c5SAndroid Build Coastguard Worker    ]
23*8975f5c5SAndroid Build Coastguard Worker    if (defined(invoker.prefix)) {
24*8975f5c5SAndroid Build Coastguard Worker      args += [
25*8975f5c5SAndroid Build Coastguard Worker        "--prefix",
26*8975f5c5SAndroid Build Coastguard Worker        invoker.prefix,
27*8975f5c5SAndroid Build Coastguard Worker      ]
28*8975f5c5SAndroid Build Coastguard Worker    }
29*8975f5c5SAndroid Build Coastguard Worker    args += invoker.headers
30*8975f5c5SAndroid Build Coastguard Worker
31*8975f5c5SAndroid Build Coastguard Worker    outputs = []
32*8975f5c5SAndroid Build Coastguard Worker    foreach(h, invoker.headers) {
33*8975f5c5SAndroid Build Coastguard Worker      outputs += [ shim_headers_path + "/" + rebase_path(invoker.root_path,"//") + "/" + h ]
34*8975f5c5SAndroid Build Coastguard Worker    }
35*8975f5c5SAndroid Build Coastguard Worker  }
36*8975f5c5SAndroid Build Coastguard Worker
37*8975f5c5SAndroid Build Coastguard Worker  group(target_name) {
38*8975f5c5SAndroid Build Coastguard Worker    deps = [ ":${action_name}" ]
39*8975f5c5SAndroid Build Coastguard Worker    all_dependent_configs = [ ":${config_name}" ]
40*8975f5c5SAndroid Build Coastguard Worker  }
41*8975f5c5SAndroid Build Coastguard Worker}
42