blob: b7e8507c98d41a7c2d03c79cf7b206843b111398 [file] [log] [blame]
# Copyright 2021 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
"""Configures a separate workspace for IREE's TF integrations.
This is siloed to limit TF complexity from leaking into the main project. It
adds the core IREE project and its submodules as repo aliases based on relative
directory paths."""
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
IREE_PATH = "../.."
#################################### Skylib ####################################
http_archive(
name = "bazel_skylib",
sha256 = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44",
urls = [
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz",
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz",
],
)
load("@bazel_skylib//lib:paths.bzl", "paths")
################################################################################
##################################### IREE #####################################
# We need a shim here to make this use the version of mlir-hlo present in
# TensorFlow. This shim is just alias rules that forward to the TF rule. Note
# that because configure_iree_submodule_deps uses `maybe` and we define this
# first we will use this definition instead of the one there.
maybe(
local_repository,
name = "mlir-hlo",
path = "build_tools/overlay/mlir-hlo",
)
maybe(
local_repository,
name = "iree",
path = IREE_PATH,
)
load("@iree//build_tools/bazel:workspace.bzl", "configure_iree_submodule_deps")
configure_iree_submodule_deps(
iree_path = IREE_PATH,
iree_repo_alias = "@iree",
)
new_local_repository(
name = "llvm-raw",
build_file_content = "# empty",
path = paths.join(IREE_PATH, "third_party/llvm-project"),
)
load("@llvm-raw//utils/bazel:configure.bzl", "llvm_configure", "llvm_disable_optional_support_deps")
llvm_configure(name = "llvm-project")
llvm_disable_optional_support_deps()
################################################################################
################################## TensorFlow ##################################
maybe(
local_repository,
name = "org_tensorflow",
path = paths.join(IREE_PATH, "third_party/tensorflow"),
)
# Import all of the tensorflow dependencies. Note that any repository previously
# defined (e.g. from IREE submodules) will be skipped.
load("@org_tensorflow//tensorflow:workspace3.bzl", "tf_workspace3")
tf_workspace3()
load("@org_tensorflow//tensorflow:workspace2.bzl", "tf_workspace2")
tf_workspace2()
load("@org_tensorflow//tensorflow:workspace1.bzl", "tf_workspace1")
tf_workspace1()
load("@org_tensorflow//tensorflow:workspace0.bzl", "tf_workspace0")
tf_workspace0()
################################################################################