blob: 9978d4196dd6782e599f39a771e4ba75059a7eff [file] [log] [blame] [edit]
load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
load("@fbsource//xplat/executorch/codegen:codegen.bzl", "et_operator_library", "executorch_generated_lib")
load(":lib_defs.bzl", "define_libs")
def define_common_targets(is_fbcode=False):
"""Defines targets that should be shared between fbcode and xplat.
The directory containing this targets.bzl file should also contain both
TARGETS and BUCK files that call this function.
"""
define_libs(is_fbcode)
runtime.export_file(
name = "optimized.yaml",
visibility = [
"//executorch/...",
"@EXECUTORCH_CLIENTS",
],
)
runtime.export_file(
name = "optimized-oss.yaml",
visibility = [
"//executorch/...",
"@EXECUTORCH_CLIENTS",
],
)
runtime.cxx_library(
name = "optimized_operators",
srcs = [],
visibility = [
"//executorch/...",
"@EXECUTORCH_CLIENTS",
],
exported_deps = [
"//executorch/kernels/optimized/cpu:cpu_optimized",
],
)
et_operator_library(
name = "optimized_oplist",
ops_schema_yaml_target = ":optimized.yaml",
visibility = [
"@EXECUTORCH_CLIENTS",
],
)
# Used mainly for operator testing. In practice, a generated lib specific
# to a project should be created that contains only the required operators
# for a particular model.
executorch_generated_lib(
name = "generated_lib",
deps = [
":optimized_oplist",
":optimized_operators",
],
functions_yaml_target = ":optimized.yaml",
define_static_targets = True,
visibility = [
"//executorch/...",
"@EXECUTORCH_CLIENTS",
],
)