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