blob: d63bd3832fea19dc94680ce0ada41d2162d7d169 [file] [edit]
# Copyright 2022 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("//build_tools/bazel:build_defs.oss.bzl", "defaulting_select", "iree_compiler_cc_library")
package(
default_visibility = ["//visibility:public"],
features = ["layering_check"],
licenses = ["notice"], # Apache 2.0
)
exports_files([
"api_exports.c",
"api_exports.def",
"api_exports.ld",
"api_exports.macos.lst",
])
# IMPORTANT: If modifying the list of dependencies, mirror the changes
# manually into:
# 1. CMakeLists.txt _EXPORT_OBJECT_LIBS
# 2. TODO: Something for bazel.
# The CI will complain if you get it wrong.
iree_compiler_cc_library(
name = "StaticImpl",
deps = [
"//compiler/src/iree/compiler/API/Internal:CompilerDriver",
"//compiler/src/iree/compiler/API/Internal:IREECodegenDialectCAPI",
"//compiler/src/iree/compiler/API/Internal:IREECompileToolEntryPoint",
"//compiler/src/iree/compiler/API/Internal:IREEGPUDialectCAPI",
"//compiler/src/iree/compiler/API/Internal:IREELinkToolEntryPoint",
"//compiler/src/iree/compiler/API/Internal:IREEMLIRLSPServerToolEntryPoint",
"//compiler/src/iree/compiler/API/Internal:IREEOptToolEntryPoint",
"//compiler/src/iree/compiler/API/Internal:IREEReduceToolEntryPoint",
"//compiler/src/iree/compiler/API/Internal:LLDToolEntryPoint",
"@llvm-project//mlir:CAPIAMDGPU",
"@llvm-project//mlir:CAPIDebug",
"@llvm-project//mlir:CAPIGPU",
"@llvm-project//mlir:CAPIIR",
"@llvm-project//mlir:CAPIInterfaces",
"@llvm-project//mlir:CAPILLVM",
"@llvm-project//mlir:CAPILinalg",
"@llvm-project//mlir:CAPIPDL",
"@llvm-project//mlir:CAPISMT",
"@llvm-project//mlir:CAPITarget",
"@llvm-project//mlir:CAPITransformDialect",
"@llvm-project//mlir:CAPITransformDialectTransforms",
"@llvm-project//mlir:CAPITransforms",
"@llvm-project//mlir:FromLLVMIRTranslation",
],
)
iree_compiler_cc_library(
name = "SharedImpl",
srcs = ["//lib:IREECompiler"],
tags = ["skip-bazel_to_cmake"],
)
# Shared by default, as in CMake: a dynamic plugin resolves against
# libIREECompiler.
bool_flag(
name = "link_shared",
build_setting_default = True,
)
config_setting(
name = "link_shared_config",
flag_values = {
":link_shared": "True",
},
)
alias(
name = "Impl",
actual = defaulting_select({
":link_shared_config": ":SharedImpl",
"//conditions:default": ":StaticImpl",
}),
)