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