1*b6fb3261SAndroid Build Coastguard Worker# Copyright 2019 The TensorFlow Authors. All Rights Reserved. 2*b6fb3261SAndroid Build Coastguard Worker# 3*b6fb3261SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*b6fb3261SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*b6fb3261SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*b6fb3261SAndroid Build Coastguard Worker# 7*b6fb3261SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*b6fb3261SAndroid Build Coastguard Worker# 9*b6fb3261SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*b6fb3261SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*b6fb3261SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*b6fb3261SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*b6fb3261SAndroid Build Coastguard Worker# limitations under the License. 14*b6fb3261SAndroid Build Coastguard Worker# ============================================================================== 15*b6fb3261SAndroid Build Coastguard Worker 16*b6fb3261SAndroid Build Coastguard Workerpackage(default_visibility = [ 17*b6fb3261SAndroid Build Coastguard Worker "//visibility:public", 18*b6fb3261SAndroid Build Coastguard Worker]) 19*b6fb3261SAndroid Build Coastguard Worker 20*b6fb3261SAndroid Build Coastguard Workerlicenses([ 21*b6fb3261SAndroid Build Coastguard Worker "notice", # BSD-3-Clause-Clear 22*b6fb3261SAndroid Build Coastguard Worker]) 23*b6fb3261SAndroid Build Coastguard Worker 24*b6fb3261SAndroid Build Coastguard Workerexports_files(glob(["hexagon/**/*.so"])) 25*b6fb3261SAndroid Build Coastguard Worker 26*b6fb3261SAndroid Build Coastguard Worker#Just header file, needed for data types in the interface. 27*b6fb3261SAndroid Build Coastguard Workercc_library( 28*b6fb3261SAndroid Build Coastguard Worker name = "hexagon_nn_header", 29*b6fb3261SAndroid Build Coastguard Worker hdrs = [ 30*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexagon_nn.h", 31*b6fb3261SAndroid Build Coastguard Worker ], 32*b6fb3261SAndroid Build Coastguard Worker tags = [ 33*b6fb3261SAndroid Build Coastguard Worker "manual", 34*b6fb3261SAndroid Build Coastguard Worker "nobuilder", 35*b6fb3261SAndroid Build Coastguard Worker ], 36*b6fb3261SAndroid Build Coastguard Worker) 37*b6fb3261SAndroid Build Coastguard Worker 38*b6fb3261SAndroid Build Coastguard Workercc_library( 39*b6fb3261SAndroid Build Coastguard Worker name = "hexagon_nn_ops", 40*b6fb3261SAndroid Build Coastguard Worker hdrs = [ 41*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexagon_nn_ops.h", 42*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/ops.def", 43*b6fb3261SAndroid Build Coastguard Worker ], 44*b6fb3261SAndroid Build Coastguard Worker tags = [ 45*b6fb3261SAndroid Build Coastguard Worker "manual", 46*b6fb3261SAndroid Build Coastguard Worker "nobuilder", 47*b6fb3261SAndroid Build Coastguard Worker ], 48*b6fb3261SAndroid Build Coastguard Worker) 49*b6fb3261SAndroid Build Coastguard Worker 50*b6fb3261SAndroid Build Coastguard Workercc_library( 51*b6fb3261SAndroid Build Coastguard Worker name = "remote", 52*b6fb3261SAndroid Build Coastguard Worker hdrs = [ 53*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/remote.h", 54*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/remote64.h", 55*b6fb3261SAndroid Build Coastguard Worker ], 56*b6fb3261SAndroid Build Coastguard Worker tags = [ 57*b6fb3261SAndroid Build Coastguard Worker "manual", 58*b6fb3261SAndroid Build Coastguard Worker "nobuilder", 59*b6fb3261SAndroid Build Coastguard Worker ], 60*b6fb3261SAndroid Build Coastguard Worker) 61*b6fb3261SAndroid Build Coastguard Worker 62*b6fb3261SAndroid Build Coastguard Workercc_library( 63*b6fb3261SAndroid Build Coastguard Worker name = "rpcmem", 64*b6fb3261SAndroid Build Coastguard Worker srcs = [ 65*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/rpcmem_stub.c", 66*b6fb3261SAndroid Build Coastguard Worker ], 67*b6fb3261SAndroid Build Coastguard Worker hdrs = [ 68*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/rpcmem.h", 69*b6fb3261SAndroid Build Coastguard Worker ], 70*b6fb3261SAndroid Build Coastguard Worker deps = [ 71*b6fb3261SAndroid Build Coastguard Worker ":AEEStdDef", 72*b6fb3261SAndroid Build Coastguard Worker ], 73*b6fb3261SAndroid Build Coastguard Worker) 74*b6fb3261SAndroid Build Coastguard Worker 75*b6fb3261SAndroid Build Coastguard Workercc_library( 76*b6fb3261SAndroid Build Coastguard Worker name = "hexagon_soc", 77*b6fb3261SAndroid Build Coastguard Worker hdrs = [ 78*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_soc_defines.h", 79*b6fb3261SAndroid Build Coastguard Worker ], 80*b6fb3261SAndroid Build Coastguard Worker tags = [ 81*b6fb3261SAndroid Build Coastguard Worker "manual", 82*b6fb3261SAndroid Build Coastguard Worker "nobuilder", 83*b6fb3261SAndroid Build Coastguard Worker ], 84*b6fb3261SAndroid Build Coastguard Worker) 85*b6fb3261SAndroid Build Coastguard Worker 86*b6fb3261SAndroid Build Coastguard Workercc_library( 87*b6fb3261SAndroid Build Coastguard Worker name = "AEEStdDef", 88*b6fb3261SAndroid Build Coastguard Worker hdrs = [ 89*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/AEEStdDef.h", 90*b6fb3261SAndroid Build Coastguard Worker ], 91*b6fb3261SAndroid Build Coastguard Worker tags = [ 92*b6fb3261SAndroid Build Coastguard Worker "manual", 93*b6fb3261SAndroid Build Coastguard Worker "nobuilder", 94*b6fb3261SAndroid Build Coastguard Worker ], 95*b6fb3261SAndroid Build Coastguard Worker) 96*b6fb3261SAndroid Build Coastguard Worker 97*b6fb3261SAndroid Build Coastguard Workercc_library( 98*b6fb3261SAndroid Build Coastguard Worker name = "AEEStdErr", 99*b6fb3261SAndroid Build Coastguard Worker hdrs = [ 100*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/AEEStdErr.h", 101*b6fb3261SAndroid Build Coastguard Worker ], 102*b6fb3261SAndroid Build Coastguard Worker) 103*b6fb3261SAndroid Build Coastguard Worker 104*b6fb3261SAndroid Build Coastguard Worker# The files are included in another .c files, so we add the src files as textual_hdrs 105*b6fb3261SAndroid Build Coastguard Worker# to avoid compiling them and have linking errors for multiple symbols. 106*b6fb3261SAndroid Build Coastguard Workercc_library( 107*b6fb3261SAndroid Build Coastguard Worker name = "hexagon_stub", 108*b6fb3261SAndroid Build Coastguard Worker textual_hdrs = [ 109*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexagon_nn_domains_stub.c", 110*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexagon_nn_stub.c", 111*b6fb3261SAndroid Build Coastguard Worker ], 112*b6fb3261SAndroid Build Coastguard Worker) 113*b6fb3261SAndroid Build Coastguard Worker 114*b6fb3261SAndroid Build Coastguard Worker# This rule uses the smart/graph wrapper interfaces. 115*b6fb3261SAndroid Build Coastguard Workercc_library( 116*b6fb3261SAndroid Build Coastguard Worker name = "hexagon_nn", 117*b6fb3261SAndroid Build Coastguard Worker srcs = [ 118*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexagon_nn.h", 119*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_dsp_api.h", 120*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_dsp_api_impl.c", 121*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_dsp_domains_api.h", 122*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_dsp_domains_api_impl.c", 123*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_dsp_smart_wrapper_api.c", 124*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_dsp_smart_wrapper_api.h", 125*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_graph_wrapper.cpp", 126*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_graph_wrapper.hpp", 127*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_graph_wrapper_interface.h", 128*b6fb3261SAndroid Build Coastguard Worker "@hexagon_nn//:hexagon/hexnn_soc_defines.h", 129*b6fb3261SAndroid Build Coastguard Worker ], 130*b6fb3261SAndroid Build Coastguard Worker deps = [ 131*b6fb3261SAndroid Build Coastguard Worker ":AEEStdErr", 132*b6fb3261SAndroid Build Coastguard Worker ":hexagon_stub", 133*b6fb3261SAndroid Build Coastguard Worker ":remote", 134*b6fb3261SAndroid Build Coastguard Worker ":rpcmem", 135*b6fb3261SAndroid Build Coastguard Worker ], 136*b6fb3261SAndroid Build Coastguard Worker alwayslink = 1, 137*b6fb3261SAndroid Build Coastguard Worker) 138