blob: b49d5f5c07eeb690dc32fe5c1a5bb0b9f4e2787b [file]
# Copyright 2022 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
module(
name = "sdk-integration",
version = "1.0",
)
_FUCHSIA_SOURCE_ROOT = "../../.."
bazel_dep(name = "bazel_skylib", version = "1.9.0")
bazel_dep(name = "platforms", version = "1.1.0")
bazel_dep(name = "rules_cc", version = "0.2.19")
bazel_dep(name = "rules_license", version = "1.0.0")
bazel_dep(name = "rules_python", version = "2.0.3")
bazel_dep(name = "zlib", version = "")
bazel_dep(name = "protobuf", version = "", repo_name = "com_google_protobuf")
local_path_override(
module_name = "zlib",
path = "{}/third_party/zlib".format(_FUCHSIA_SOURCE_ROOT),
)
local_path_override(
module_name = "protobuf",
path = "{}/third_party/protobuf/src".format(_FUCHSIA_SOURCE_ROOT),
)
bazel_dep(name = "abseil-cpp", version = "head")
local_path_override(
module_name = "abseil-cpp",
path = "{}/third_party/abseil-cpp/src".format(_FUCHSIA_SOURCE_ROOT),
)
bazel_dep(name = "rules_fuchsia", version = "", repo_name = "rules_fuchsia")
local_path_override(
module_name = "rules_fuchsia",
path = "{}/build/bazel_sdk/bazel_rules_fuchsia".format(_FUCHSIA_SOURCE_ROOT),
)
bazel_dep(name = "googletest", version = "1.17.0", repo_name = "com_google_googletest")
local_path_override(
module_name = "googletest",
path = "{}/third_party/googletest/src".format(_FUCHSIA_SOURCE_ROOT),
)
# Define @fuchsia_in_tree_idk to point to an empty IDK repository.
# This will always be overridden by bazel_tests.py when running the test suite
# against the real in-tree IDK using --override-repository=fuchsia_in_tree_idk=/path/to/idk.
bazel_dep(name = "fuchsia_in_tree_idk", version = "")
local_path_override(
module_name = "fuchsia_in_tree_idk",
path = "stub_fuchsia_in_tree_idk",
)
bazel_dep(name = "fuchsia_sdk_common", version = "")
local_path_override(
module_name = "fuchsia_sdk_common",
path = "{}/build/bazel/local_repositories/fuchsia_sdk_common".format(_FUCHSIA_SOURCE_ROOT),
)
fuchsia_sdk_ext = use_extension(
"@rules_fuchsia//fuchsia/workspace:fuchsia_sdk_repository.bzl",
"fuchsia_sdk_ext",
)
fuchsia_sdk_ext.local(
path = "{}/build/bazel_sdk/bazel_rules_fuchsia".format(_FUCHSIA_SOURCE_ROOT),
)
use_repo(fuchsia_sdk_ext, "fuchsia_sdk")
fuchsia_sdk_repository = use_repo_rule(
"@rules_fuchsia//fuchsia:deps.bzl",
"fuchsia_sdk_repository",
)
fuchsia_sdk_repository(
name = "fuchsia_sdk_x64_only",
local_paths = [
"sdk_generation/goldens/simple_idk_x64",
],
)
fuchsia_sdk_repository(
name = "fuchsia_sdk_arm64_only",
local_paths = [
"sdk_generation/goldens/simple_idk_arm64",
],
)
fuchsia_sdk_repository(
name = "fuchsia_sdk_both",
local_paths = [
"sdk_generation/goldens/simple_idk_both",
],
)
register_toolchains("//:fuchsia_sdk_devicetree_toolchain")
fuchsia_build_config_ext = use_extension("@fuchsia_sdk_common//common:fuchsia_platform_build.bzl", "fuchsia_build_config_ext")
fuchsia_build_config_ext.local(fuchsia_source_dir = _FUCHSIA_SOURCE_ROOT)
use_repo(fuchsia_build_config_ext, "fuchsia_build_config")
fuchsia_clang_ext = use_extension(
"@rules_fuchsia//fuchsia/workspace:fuchsia_clang_repository.bzl",
"fuchsia_clang_ext",
)
fuchsia_clang_ext.local(
local_path = "@@fuchsia_sdk_common++fuchsia_build_config_ext+fuchsia_build_config//:host_prebuilts/clang",
)
use_repo(fuchsia_clang_ext, "fuchsia_clang")
register_toolchains("@fuchsia_clang//:all")
compact_python_runtime_repository = use_repo_rule(
"@rules_fuchsia//common:toolchains/python/repository_rule.bzl",
"compact_python_runtime_repository",
)
compact_python_runtime_repository(
name = "prebuilt_python",
)
register_toolchains("@prebuilt_python//:all")
# Register an empty C++ host toolchain, because thiss test suite
# needs to run on CI bots without GCC or Clang installed.
empty_host_cpp_toolchain_repository = use_repo_rule(
"@rules_fuchsia//common:toolchains/clang/repository_utils.bzl",
"empty_host_cpp_toolchain_repository",
)
empty_host_cpp_toolchain_repository(
name = "host_no_cpp",
)
register_toolchains("@host_no_cpp//:empty_cpp_toolchain")
# The following deps are not needed by the tests. They are here to make sure the
# tests do NOT try to depend on different versions of common deps transitively
# depended on by them, so it won't fail local Bazel registry lookup. For this
# reason, they are intentionally kept as the same version as the toplevel
# module.
bazel_dep(name = "rules_rust", version = "0.69.0")
bazel_dep(name = "rules_go", version = "0.61.1", repo_name = "io_bazel_rules_go")
bazel_dep(name = "pybind11_bazel", version = "2.13.6")
bazel_dep(name = "apple_support", version = "1.24.2", repo_name = "build_bazel_apple_support")
bazel_dep(name = "re2", version = "", repo_name = "com_googlesource_code_re2")
local_path_override(
module_name = "re2",
path = "{}/third_party/re2/src".format(_FUCHSIA_SOURCE_ROOT),
)
single_version_override(
module_name = "rules_cc",
version = "0.2.19",
)
single_version_override(
module_name = "rules_python",
version = "2.0.3",
)
single_version_override(
module_name = "bazel_skylib",
version = "1.9.0",
)
single_version_override(
module_name = "apple_support",
version = "1.24.1",
)
single_version_override(
module_name = "rules_proto",
version = "7.0.2",
)
single_version_override(
module_name = "bazel_features",
version = "1.36.0",
)
single_version_override(
module_name = "jsoncpp",
version = "1.9.5",
)
single_version_override(
module_name = "rules_java",
version = "8.14.0",
)
single_version_override(
module_name = "rules_jvm_external",
version = "6.3",
)
single_version_override(
module_name = "rules_kotlin",
version = "1.9.6",
)
single_version_override(
module_name = "rules_rust",
version = "0.69.0",
)