xref: /aosp_15_r20/external/tensorflow/third_party/hexagon/BUILD (revision b6fb3261f9314811a0f4371741dbb8839866f948)
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