1"""TensorFlow workspace initialization. Consult the WORKSPACE on how to use it.""" 2 3# Import third party config rules. 4load("//tensorflow:version_check.bzl", "check_bazel_version_at_least") 5load("//third_party/gpus:cuda_configure.bzl", "cuda_configure") 6load("//third_party/gpus:rocm_configure.bzl", "rocm_configure") 7load("//third_party/tensorrt:tensorrt_configure.bzl", "tensorrt_configure") 8load("//third_party/nccl:nccl_configure.bzl", "nccl_configure") 9load("//third_party/git:git_configure.bzl", "git_configure") 10load("//third_party/py:python_configure.bzl", "python_configure") 11load("//third_party/systemlibs:syslibs_configure.bzl", "syslibs_configure") 12load("//tensorflow/tools/toolchains:cpus/arm/arm_compiler_configure.bzl", "arm_compiler_configure") 13load("//tensorflow/tools/toolchains/embedded/arm-linux:arm_linux_toolchain_configure.bzl", "arm_linux_toolchain_configure") 14load("//third_party:repo.bzl", "tf_http_archive", "tf_mirror_urls") 15load("//third_party/clang_toolchain:cc_configure_clang.bzl", "cc_download_clang_toolchain") 16load("//tensorflow/tools/def_file_filter:def_file_filter_configure.bzl", "def_file_filter_configure") 17load("//third_party/llvm:setup.bzl", "llvm_setup") 18 19# Import third party repository rules. See go/tfbr-thirdparty. 20load("//third_party/FP16:workspace.bzl", FP16 = "repo") 21load("//third_party/absl:workspace.bzl", absl = "repo") 22load("//third_party/benchmark:workspace.bzl", benchmark = "repo") 23load("//third_party/dlpack:workspace.bzl", dlpack = "repo") 24load("//third_party/eigen3:workspace.bzl", eigen3 = "repo") 25load("//third_party/farmhash:workspace.bzl", farmhash = "repo") 26load("//third_party/flatbuffers:workspace.bzl", flatbuffers = "repo") 27load("//third_party/gemmlowp:workspace.bzl", gemmlowp = "repo") 28load("//third_party/hexagon:workspace.bzl", hexagon_nn = "repo") 29load("//third_party/highwayhash:workspace.bzl", highwayhash = "repo") 30load("//third_party/hwloc:workspace.bzl", hwloc = "repo") 31load("//third_party/icu:workspace.bzl", icu = "repo") 32load("//third_party/jpeg:workspace.bzl", jpeg = "repo") 33load("//third_party/libprotobuf_mutator:workspace.bzl", libprotobuf_mutator = "repo") 34load("//third_party/nasm:workspace.bzl", nasm = "repo") 35load("//third_party/pybind11_abseil:workspace.bzl", pybind11_abseil = "repo") 36load("//third_party/opencl_headers:workspace.bzl", opencl_headers = "repo") 37load("//third_party/kissfft:workspace.bzl", kissfft = "repo") 38load("//third_party/pasta:workspace.bzl", pasta = "repo") 39load("//third_party/psimd:workspace.bzl", psimd = "repo") 40load("//third_party/ruy:workspace.bzl", ruy = "repo") 41load("//third_party/sobol_data:workspace.bzl", sobol_data = "repo") 42load("//third_party/vulkan_headers:workspace.bzl", vulkan_headers = "repo") 43load("//third_party/tensorrt:workspace.bzl", tensorrt = "repo") 44 45# Import external repository rules. 46load("@bazel_tools//tools/build_defs/repo:java.bzl", "java_import_external") 47load("@io_bazel_rules_closure//closure:defs.bzl", "filegroup_external") 48load("@tf_runtime//:dependencies.bzl", "tfrt_dependencies") 49load("//tensorflow/tools/toolchains/remote_config:configs.bzl", "initialize_rbe_configs") 50load("//tensorflow/tools/toolchains/remote:configure.bzl", "remote_execution_configure") 51load("//tensorflow/tools/toolchains/clang6:repo.bzl", "clang6_configure") 52 53def _initialize_third_party(): 54 """ Load third party repositories. See above load() statements. """ 55 FP16() 56 absl() 57 benchmark() 58 dlpack() 59 eigen3() 60 farmhash() 61 flatbuffers() 62 gemmlowp() 63 hexagon_nn() 64 highwayhash() 65 hwloc() 66 icu() 67 jpeg() 68 kissfft() 69 libprotobuf_mutator() 70 nasm() 71 opencl_headers() 72 pasta() 73 psimd() 74 pybind11_abseil() 75 ruy() 76 sobol_data() 77 vulkan_headers() 78 tensorrt() 79 80# Toolchains & platforms required by Tensorflow to build. 81def _tf_toolchains(): 82 native.register_execution_platforms("@local_execution_config_platform//:platform") 83 native.register_toolchains("@local_execution_config_python//:py_toolchain") 84 85 # Loads all external repos to configure RBE builds. 86 initialize_rbe_configs() 87 88 # Note that we check the minimum bazel version in WORKSPACE. 89 clang6_configure(name = "local_config_clang6") 90 cc_download_clang_toolchain(name = "local_config_download_clang") 91 cuda_configure(name = "local_config_cuda") 92 tensorrt_configure(name = "local_config_tensorrt") 93 nccl_configure(name = "local_config_nccl") 94 git_configure(name = "local_config_git") 95 syslibs_configure(name = "local_config_syslibs") 96 python_configure(name = "local_config_python") 97 rocm_configure(name = "local_config_rocm") 98 remote_execution_configure(name = "local_config_remote_execution") 99 100 # For windows bazel build 101 # TODO: Remove def file filter when TensorFlow can export symbols properly on Windows. 102 def_file_filter_configure(name = "local_config_def_file_filter") 103 104 # Point //external/local_config_arm_compiler to //external/arm_compiler 105 arm_compiler_configure( 106 name = "local_config_arm_compiler", 107 build_file = "//tensorflow/tools/toolchains/cpus/arm:template.BUILD", 108 remote_config_repo_arm = "../arm_compiler", 109 remote_config_repo_aarch64 = "../aarch64_compiler", 110 ) 111 112 # TFLite crossbuild toolchain for embeddeds Linux 113 arm_linux_toolchain_configure( 114 name = "local_config_embedded_arm", 115 build_file = "//tensorflow/tools/toolchains/embedded/arm-linux:template.BUILD", 116 aarch64_repo = "../aarch64_linux_toolchain", 117 armhf_repo = "../armhf_linux_toolchain", 118 ) 119 120# Define all external repositories required by TensorFlow 121def _tf_repositories(): 122 """All external dependencies for TF builds.""" 123 124 # To update any of the dependencies below: 125 # a) update URL and strip_prefix to the new git commit hash 126 # b) get the sha256 hash of the commit by running: 127 # curl -L <url> | sha256sum 128 # and update the sha256 with the result. 129 130 # LINT.IfChange 131 tf_http_archive( 132 name = "XNNPACK", 133 sha256 = "21cf16fb50c32682b8548cde83933bbd90b884983c50b9db7550002a72a75ad5", 134 strip_prefix = "XNNPACK-8e3d3359f9bec608e09fac1f7054a2a14b1bd73c", 135 urls = tf_mirror_urls("https://github.com/google/XNNPACK/archive/8e3d3359f9bec608e09fac1f7054a2a14b1bd73c.zip"), 136 ) 137 # LINT.ThenChange(//tensorflow/lite/tools/cmake/modules/xnnpack.cmake) 138 139 tf_http_archive( 140 name = "FXdiv", 141 sha256 = "3d7b0e9c4c658a84376a1086126be02f9b7f753caa95e009d9ac38d11da444db", 142 strip_prefix = "FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8", 143 urls = tf_mirror_urls("https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip"), 144 ) 145 146 tf_http_archive( 147 name = "pthreadpool", 148 sha256 = "b96413b10dd8edaa4f6c0a60c6cf5ef55eebeef78164d5d69294c8173457f0ec", 149 strip_prefix = "pthreadpool-b8374f80e42010941bda6c85b0e3f1a1bd77a1e0", 150 urls = tf_mirror_urls("https://github.com/Maratyszcza/pthreadpool/archive/b8374f80e42010941bda6c85b0e3f1a1bd77a1e0.zip"), 151 ) 152 153 tf_http_archive( 154 name = "clog", 155 strip_prefix = "cpuinfo-5e63739504f0f8e18e941bd63b2d6d42536c7d90", 156 sha256 = "18eca9bc8d9c4ce5496d0d2be9f456d55cbbb5f0639a551ce9c8bac2e84d85fe", 157 urls = tf_mirror_urls("https://github.com/pytorch/cpuinfo/archive/5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz"), 158 ) 159 160 tf_http_archive( 161 name = "cpuinfo", 162 strip_prefix = "cpuinfo-5e63739504f0f8e18e941bd63b2d6d42536c7d90", 163 sha256 = "18eca9bc8d9c4ce5496d0d2be9f456d55cbbb5f0639a551ce9c8bac2e84d85fe", 164 urls = tf_mirror_urls("https://github.com/pytorch/cpuinfo/archive/5e63739504f0f8e18e941bd63b2d6d42536c7d90.tar.gz"), 165 ) 166 167 tf_http_archive( 168 name = "cudnn_frontend_archive", 169 build_file = "//third_party:cudnn_frontend.BUILD", 170 patch_file = ["//third_party:cudnn_frontend_header_fix.patch"], 171 sha256 = "314569f65d5c7d05fb7e90157a838549db3e2cfb464c80a6a399b39a004690fa", 172 strip_prefix = "cudnn-frontend-0.6.2", 173 urls = tf_mirror_urls("https://github.com/NVIDIA/cudnn-frontend/archive/refs/tags/v0.6.2.zip"), 174 ) 175 176 tf_http_archive( 177 name = "mkl_dnn", 178 build_file = "//third_party/mkl_dnn:mkldnn.BUILD", 179 sha256 = "a0211aeb5e7dad50b97fa5dffc1a2fe2fe732572d4164e1ee8750a2ede43fbec", 180 strip_prefix = "oneDNN-0.21.3", 181 urls = tf_mirror_urls("https://github.com/oneapi-src/oneDNN/archive/v0.21.3.tar.gz"), 182 ) 183 184 tf_http_archive( 185 name = "mkl_dnn_v1", 186 build_file = "//third_party/mkl_dnn:mkldnn_v1.BUILD", 187 sha256 = "0ff70240378aa26e1fc3edf66d14964e614ef2f9278514182cd43b34ced9af21", 188 strip_prefix = "oneDNN-2.6.1", 189 urls = tf_mirror_urls("https://github.com/oneapi-src/oneDNN/archive/refs/tags/v2.6.1.tar.gz"), 190 ) 191 192 tf_http_archive( 193 name = "mkl_dnn_acl_compatible", 194 build_file = "//third_party/mkl_dnn:mkldnn_acl.BUILD", 195 sha256 = "990fdce84197d68064e615d91c182c5bc6baa446348c3c1fe71b7e9a345badc2", 196 strip_prefix = "oneDNN-70d1198de554e61081147c199d661df049233279", 197 urls = tf_mirror_urls("https://github.com/oneapi-src/oneDNN/archive/70d1198de554e61081147c199d661df049233279.tar.gz"), 198 ) 199 200 tf_http_archive( 201 name = "compute_library", 202 sha256 = "94e2e9ff87c261a9c9987bc9024c449c48014f7fe707311bdfa76b87f3dda5c5", 203 strip_prefix = "ComputeLibrary-22.05", 204 build_file = "//third_party/compute_library:BUILD", 205 patch_file = ["//third_party/compute_library:compute_library.patch", "//third_party/compute_library:activation_func_correct_args.patch"], 206 urls = tf_mirror_urls("https://github.com/ARM-software/ComputeLibrary/archive/v22.05.tar.gz"), 207 ) 208 209 tf_http_archive( 210 name = "arm_compiler", 211 build_file = "//:arm_compiler.BUILD", 212 sha256 = "b9e7d50ffd9996ed18900d041d362c99473b382c0ae049b2fce3290632d2656f", 213 strip_prefix = "rpi-newer-crosstools-eb68350c5c8ec1663b7fe52c742ac4271e3217c5/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/", 214 urls = tf_mirror_urls("https://github.com/rvagg/rpi-newer-crosstools/archive/eb68350c5c8ec1663b7fe52c742ac4271e3217c5.tar.gz"), 215 ) 216 217 tf_http_archive( 218 # This is the latest `aarch64-none-linux-gnu` compiler provided by ARM 219 # See https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads 220 # The archive contains GCC version 9.2.1 221 name = "aarch64_compiler", 222 build_file = "//:arm_compiler.BUILD", 223 sha256 = "8dfe681531f0bd04fb9c53cf3c0a3368c616aa85d48938eebe2b516376e06a66", 224 strip_prefix = "gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu", 225 urls = tf_mirror_urls("https://developer.arm.com/-/media/Files/downloads/gnu-a/9.2-2019.12/binrel/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu.tar.xz"), 226 ) 227 228 tf_http_archive( 229 name = "aarch64_linux_toolchain", 230 build_file = "//tensorflow/tools/toolchains/embedded/arm-linux:aarch64-linux-toolchain.BUILD", 231 sha256 = "8ce3e7688a47d8cd2d8e8323f147104ae1c8139520eca50ccf8a7fa933002731", 232 strip_prefix = "gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu", 233 urls = tf_mirror_urls("https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz"), 234 ) 235 236 tf_http_archive( 237 name = "armhf_linux_toolchain", 238 build_file = "//tensorflow/tools/toolchains/embedded/arm-linux:armhf-linux-toolchain.BUILD", 239 sha256 = "d4f6480ecaa99e977e3833cc8a8e1263f9eecd1ce2d022bb548a24c4f32670f5", 240 strip_prefix = "gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf", 241 urls = tf_mirror_urls("https://developer.arm.com/-/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz"), 242 ) 243 244 tf_http_archive( 245 name = "libxsmm_archive", 246 build_file = "//third_party:libxsmm.BUILD", 247 sha256 = "8b642127880e92e8a75400125307724635ecdf4020ca4481e5efe7640451bb92", 248 strip_prefix = "libxsmm-1.17", 249 urls = tf_mirror_urls("https://github.com/libxsmm/libxsmm/archive/refs/tags/1.17.tar.gz"), 250 ) 251 252 tf_http_archive( 253 name = "com_googlesource_code_re2", 254 sha256 = "b90430b2a9240df4459108b3e291be80ae92c68a47bc06ef2dc419c5724de061", 255 strip_prefix = "re2-a276a8c738735a0fe45a6ee590fe2df69bcf4502", 256 system_build_file = "//third_party/systemlibs:re2.BUILD", 257 urls = tf_mirror_urls("https://github.com/google/re2/archive/a276a8c738735a0fe45a6ee590fe2df69bcf4502.tar.gz"), 258 ) 259 260 tf_http_archive( 261 name = "com_github_google_crc32c", 262 sha256 = "6b3b1d861bb8307658b2407bc7a4c59e566855ef5368a60b35c893551e4788e9", 263 build_file = "@com_github_googlecloudplatform_google_cloud_cpp//bazel:crc32c.BUILD", 264 strip_prefix = "crc32c-1.0.6", 265 urls = tf_mirror_urls("https://github.com/google/crc32c/archive/1.0.6.tar.gz"), 266 ) 267 268 tf_http_archive( 269 name = "com_github_googlecloudplatform_google_cloud_cpp", 270 sha256 = "ff82045b9491f0d880fc8e5c83fd9542eafb156dcac9ff8c6209ced66ed2a7f0", 271 strip_prefix = "google-cloud-cpp-1.17.1", 272 repo_mapping = { 273 "@com_github_curl_curl": "@curl", 274 "@com_github_nlohmann_json": "@nlohmann_json_lib", 275 }, 276 system_build_file = "//third_party/systemlibs:google_cloud_cpp.BUILD", 277 system_link_files = { 278 "//third_party/systemlibs:google_cloud_cpp.google.cloud.bigtable.BUILD": "google/cloud/bigtable/BUILD", 279 }, 280 urls = tf_mirror_urls("https://github.com/googleapis/google-cloud-cpp/archive/v1.17.1.tar.gz"), 281 ) 282 283 tf_http_archive( 284 name = "com_github_googlecloudplatform_tensorflow_gcp_tools", 285 sha256 = "5e9ebe17eaa2895eb7f77fefbf52deeda7c4b63f5a616916b823eb74f3a0c542", 286 strip_prefix = "tensorflow-gcp-tools-2643d8caeba6ca2a6a0b46bb123953cb95b7e7d5", 287 urls = tf_mirror_urls("https://github.com/GoogleCloudPlatform/tensorflow-gcp-tools/archive/2643d8caeba6ca2a6a0b46bb123953cb95b7e7d5.tar.gz"), 288 ) 289 290 tf_http_archive( 291 name = "com_google_googleapis", 292 build_file = "//third_party/googleapis:googleapis.BUILD", 293 sha256 = "249d83abc5d50bf372c35c49d77f900bff022b2c21eb73aa8da1458b6ac401fc", 294 strip_prefix = "googleapis-6b3fdcea8bc5398be4e7e9930c693f0ea09316a0", 295 urls = tf_mirror_urls("https://github.com/googleapis/googleapis/archive/6b3fdcea8bc5398be4e7e9930c693f0ea09316a0.tar.gz"), 296 ) 297 298 tf_http_archive( 299 name = "png", 300 build_file = "//third_party:png.BUILD", 301 patch_file = ["//third_party:png_fix_rpi.patch"], 302 sha256 = "ca74a0dace179a8422187671aee97dd3892b53e168627145271cad5b5ac81307", 303 strip_prefix = "libpng-1.6.37", 304 system_build_file = "//third_party/systemlibs:png.BUILD", 305 urls = tf_mirror_urls("https://github.com/glennrp/libpng/archive/v1.6.37.tar.gz"), 306 ) 307 308 tf_http_archive( 309 name = "org_sqlite", 310 build_file = "//third_party:sqlite.BUILD", 311 sha256 = "87775784f8b22d0d0f1d7811870d39feaa7896319c7c20b849a4181c5a50609b", 312 strip_prefix = "sqlite-amalgamation-3390200", 313 system_build_file = "//third_party/systemlibs:sqlite.BUILD", 314 urls = tf_mirror_urls("https://www.sqlite.org/2022/sqlite-amalgamation-3390200.zip"), 315 ) 316 317 tf_http_archive( 318 name = "gif", 319 build_file = "//third_party:gif.BUILD", 320 patch_file = ["//third_party:gif_fix_strtok_r.patch"], 321 sha256 = "31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd", 322 strip_prefix = "giflib-5.2.1", 323 system_build_file = "//third_party/systemlibs:gif.BUILD", 324 urls = tf_mirror_urls("https://pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz"), 325 ) 326 327 tf_http_archive( 328 name = "six_archive", 329 build_file = "//third_party:six.BUILD", 330 sha256 = "1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", 331 strip_prefix = "six-1.16.0", 332 system_build_file = "//third_party/systemlibs:six.BUILD", 333 urls = tf_mirror_urls("https://pypi.python.org/packages/source/s/six/six-1.16.0.tar.gz"), 334 ) 335 336 tf_http_archive( 337 name = "astor_archive", 338 build_file = "//third_party:astor.BUILD", 339 sha256 = "95c30d87a6c2cf89aa628b87398466840f0ad8652f88eb173125a6df8533fb8d", 340 strip_prefix = "astor-0.7.1", 341 system_build_file = "//third_party/systemlibs:astor.BUILD", 342 urls = tf_mirror_urls("https://pypi.python.org/packages/source/a/astor/astor-0.7.1.tar.gz"), 343 ) 344 345 tf_http_archive( 346 name = "astunparse_archive", 347 build_file = "//third_party:astunparse.BUILD", 348 sha256 = "5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", 349 strip_prefix = "astunparse-1.6.3/lib", 350 system_build_file = "//third_party/systemlibs:astunparse.BUILD", 351 urls = tf_mirror_urls("https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz"), 352 ) 353 354 filegroup_external( 355 name = "astunparse_license", 356 licenses = ["notice"], # PSFL 357 sha256_urls = { 358 "92fc0e4f4fa9460558eedf3412b988d433a2dcbb3a9c45402a145a4fab8a6ac6": tf_mirror_urls("https://raw.githubusercontent.com/simonpercivall/astunparse/v1.6.2/LICENSE"), 359 }, 360 ) 361 362 tf_http_archive( 363 name = "functools32_archive", 364 build_file = "//third_party:functools32.BUILD", 365 sha256 = "f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d", 366 strip_prefix = "functools32-3.2.3-2", 367 system_build_file = "//third_party/systemlibs:functools32.BUILD", 368 urls = tf_mirror_urls("https://pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz"), 369 ) 370 371 tf_http_archive( 372 name = "gast_archive", 373 build_file = "//third_party:gast.BUILD", 374 sha256 = "40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1", 375 strip_prefix = "gast-0.4.0", 376 system_build_file = "//third_party/systemlibs:gast.BUILD", 377 urls = tf_mirror_urls("https://files.pythonhosted.org/packages/83/4a/07c7e59cef23fb147454663c3271c21da68ba2ab141427c20548ae5a8a4d/gast-0.4.0.tar.gz"), 378 ) 379 380 tf_http_archive( 381 name = "termcolor_archive", 382 build_file = "//third_party:termcolor.BUILD", 383 sha256 = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b", 384 strip_prefix = "termcolor-1.1.0", 385 system_build_file = "//third_party/systemlibs:termcolor.BUILD", 386 urls = tf_mirror_urls("https://pypi.python.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz"), 387 ) 388 389 tf_http_archive( 390 name = "typing_extensions_archive", 391 build_file = "//third_party:typing_extensions.BUILD", 392 sha256 = "f1c24655a0da0d1b67f07e17a5e6b2a105894e6824b92096378bb3668ef02376", 393 strip_prefix = "typing_extensions-4.2.0/src", 394 system_build_file = "//third_party/systemlibs:typing_extensions.BUILD", 395 urls = tf_mirror_urls("https://pypi.python.org/packages/source/t/typing_extensions/typing_extensions-4.2.0.tar.gz"), 396 ) 397 398 filegroup_external( 399 name = "typing_extensions_license", 400 licenses = ["notice"], # PSFL 401 sha256_urls = { 402 "ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad": tf_mirror_urls("https://raw.githubusercontent.com/python/typing/master/typing_extensions/LICENSE"), 403 }, 404 ) 405 406 tf_http_archive( 407 name = "opt_einsum_archive", 408 build_file = "//third_party:opt_einsum.BUILD", 409 sha256 = "d3d464b4da7ef09e444c30e4003a27def37f85ff10ff2671e5f7d7813adac35b", 410 strip_prefix = "opt_einsum-2.3.2", 411 system_build_file = "//third_party/systemlibs:opt_einsum.BUILD", 412 urls = tf_mirror_urls("https://pypi.python.org/packages/f6/d6/44792ec668bcda7d91913c75237314e688f70415ab2acd7172c845f0b24f/opt_einsum-2.3.2.tar.gz"), 413 ) 414 415 tf_http_archive( 416 name = "absl_py", 417 sha256 = "a7c51b2a0aa6357a9cbb2d9437e8cd787200531867dc02565218930b6a32166e", 418 strip_prefix = "abseil-py-1.0.0", 419 system_build_file = "//third_party/systemlibs:absl_py.BUILD", 420 system_link_files = { 421 "//third_party/systemlibs:absl_py.absl.BUILD": "absl/BUILD", 422 "//third_party/systemlibs:absl_py.absl.flags.BUILD": "absl/flags/BUILD", 423 "//third_party/systemlibs:absl_py.absl.testing.BUILD": "absl/testing/BUILD", 424 "//third_party/systemlibs:absl_py.absl.logging.BUILD": "absl/logging/BUILD", 425 }, 426 urls = tf_mirror_urls("https://github.com/abseil/abseil-py/archive/refs/tags/v1.0.0.tar.gz"), 427 ) 428 429 tf_http_archive( 430 name = "dill_archive", 431 build_file = "//third_party:dill.BUILD", 432 system_build_file = "//third_party/systemlibs:dill.BUILD", 433 urls = tf_mirror_urls("https://pypi.python.org/packages/source/d/dill/dill-0.3.4.zip"), 434 sha256 = "9f9734205146b2b353ab3fec9af0070237b6ddae78452af83d2fca84d739e675", 435 strip_prefix = "dill-0.3.4", 436 ) 437 438 tf_http_archive( 439 name = "tblib_archive", 440 build_file = "//third_party:tblib.BUILD", 441 system_build_file = "//third_party/systemlibs:tblib.BUILD", 442 urls = tf_mirror_urls("https://files.pythonhosted.org/packages/d3/41/901ef2e81d7b1e834b9870d416cb09479e175a2be1c4aa1a9dcd0a555293/tblib-1.7.0.tar.gz"), 443 sha256 = "059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c", 444 strip_prefix = "tblib-1.7.0", 445 ) 446 447 filegroup_external( 448 name = "org_python_license", 449 licenses = ["notice"], # Python 2.0 450 sha256_urls = { 451 "e76cacdf0bdd265ff074ccca03671c33126f597f39d0ed97bc3e5673d9170cf6": tf_mirror_urls("https://docs.python.org/2.7/_sources/license.rst.txt"), 452 }, 453 ) 454 455 tf_http_archive( 456 name = "com_google_protobuf", 457 patch_file = ["//third_party/protobuf:protobuf.patch"], 458 sha256 = "cfcba2df10feec52a84208693937c17a4b5df7775e1635c1e3baffc487b24c9b", 459 strip_prefix = "protobuf-3.9.2", 460 system_build_file = "//third_party/systemlibs:protobuf.BUILD", 461 system_link_files = { 462 "//third_party/systemlibs:protobuf.bzl": "protobuf.bzl", 463 "//third_party/systemlibs:protobuf_deps.bzl": "protobuf_deps.bzl", 464 }, 465 urls = tf_mirror_urls("https://github.com/protocolbuffers/protobuf/archive/v3.9.2.zip"), 466 ) 467 468 tf_http_archive( 469 name = "nsync", 470 patch_file = ["//third_party:nsync.patch"], 471 sha256 = "2be9dbfcce417c7abcc2aa6fee351cd4d292518d692577e74a2c6c05b049e442", 472 strip_prefix = "nsync-1.25.0", 473 system_build_file = "//third_party/systemlibs:nsync.BUILD", 474 urls = tf_mirror_urls("https://github.com/google/nsync/archive/1.25.0.tar.gz"), 475 ) 476 477 tf_http_archive( 478 name = "com_google_googletest", 479 sha256 = "bc1cc26d1120f5a7e9eb450751c0b24160734e46a02823a573f3c6b6c0a574a7", 480 strip_prefix = "googletest-e2c06aa2497e330bab1c1a03d02f7c5096eb5b0b", 481 urls = tf_mirror_urls("https://github.com/google/googletest/archive/e2c06aa2497e330bab1c1a03d02f7c5096eb5b0b.zip"), 482 ) 483 484 tf_http_archive( 485 name = "com_github_gflags_gflags", 486 sha256 = "34af2f15cf7367513b352bdcd2493ab14ce43692d2dcd9dfc499492966c64dcf", 487 strip_prefix = "gflags-2.2.2", 488 urls = tf_mirror_urls("https://github.com/gflags/gflags/archive/v2.2.2.tar.gz"), 489 ) 490 491 tf_http_archive( 492 name = "curl", 493 build_file = "//third_party:curl.BUILD", 494 sha256 = "3c6893d38d054d4e378267166858698899e9d87258e8ff1419d020c395384535", 495 strip_prefix = "curl-7.84.0", 496 system_build_file = "//third_party/systemlibs:curl.BUILD", 497 urls = tf_mirror_urls("https://curl.haxx.se/download/curl-7.84.0.tar.gz"), 498 ) 499 500 # WARNING: make sure ncteisen@ and vpai@ are cc-ed on any CL to change the below rule 501 tf_http_archive( 502 name = "com_github_grpc_grpc", 503 sha256 = "b956598d8cbe168b5ee717b5dafa56563eb5201a947856a6688bbeac9cac4e1f", 504 strip_prefix = "grpc-b54a5b338637f92bfcf4b0bc05e0f57a5fd8fadd", 505 system_build_file = "//third_party/systemlibs:grpc.BUILD", 506 patch_file = ["//third_party/grpc:generate_cc_env_fix.patch"], 507 system_link_files = { 508 "//third_party/systemlibs:BUILD": "bazel/BUILD", 509 "//third_party/systemlibs:grpc.BUILD": "src/compiler/BUILD", 510 "//third_party/systemlibs:grpc.bazel.grpc_deps.bzl": "bazel/grpc_deps.bzl", 511 "//third_party/systemlibs:grpc.bazel.grpc_extra_deps.bzl": "bazel/grpc_extra_deps.bzl", 512 "//third_party/systemlibs:grpc.bazel.cc_grpc_library.bzl": "bazel/cc_grpc_library.bzl", 513 "//third_party/systemlibs:grpc.bazel.generate_cc.bzl": "bazel/generate_cc.bzl", 514 "//third_party/systemlibs:grpc.bazel.protobuf.bzl": "bazel/protobuf.bzl", 515 }, 516 urls = tf_mirror_urls("https://github.com/grpc/grpc/archive/b54a5b338637f92bfcf4b0bc05e0f57a5fd8fadd.tar.gz"), 517 ) 518 519 tf_http_archive( 520 name = "linenoise", 521 build_file = "//third_party:linenoise.BUILD", 522 sha256 = "b35a74dbc9cd2fef9e4d56222761d61daf7e551510e6cd1a86f0789b548d074e", 523 strip_prefix = "linenoise-4ce393a66b10903a0ef52edf9775ed526a17395f", 524 urls = tf_mirror_urls("https://github.com/antirez/linenoise/archive/4ce393a66b10903a0ef52edf9775ed526a17395f.tar.gz"), 525 ) 526 527 llvm_setup(name = "llvm-project") 528 529 # Intel openMP that is part of LLVM sources. 530 tf_http_archive( 531 name = "llvm_openmp", 532 build_file = "//third_party/llvm_openmp:BUILD", 533 sha256 = "d19f728c8e04fb1e94566c8d76aef50ec926cd2f95ef3bf1e0a5de4909b28b44", 534 strip_prefix = "openmp-10.0.1.src", 535 urls = tf_mirror_urls("https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/openmp-10.0.1.src.tar.xz"), 536 ) 537 538 tf_http_archive( 539 name = "lmdb", 540 build_file = "//third_party:lmdb.BUILD", 541 sha256 = "22054926b426c66d8f2bc22071365df6e35f3aacf19ad943bc6167d4cae3bebb", 542 strip_prefix = "lmdb-LMDB_0.9.29/libraries/liblmdb", 543 system_build_file = "//third_party/systemlibs:lmdb.BUILD", 544 urls = tf_mirror_urls("https://github.com/LMDB/lmdb/archive/refs/tags/LMDB_0.9.29.tar.gz"), 545 ) 546 547 tf_http_archive( 548 name = "jsoncpp_git", 549 sha256 = "f409856e5920c18d0c2fb85276e24ee607d2a09b5e7d5f0a371368903c275da2", 550 strip_prefix = "jsoncpp-1.9.5", 551 system_build_file = "//third_party/systemlibs:jsoncpp.BUILD", 552 urls = tf_mirror_urls("https://github.com/open-source-parsers/jsoncpp/archive/1.9.5.tar.gz"), 553 ) 554 555 tf_http_archive( 556 name = "boringssl", 557 sha256 = "a9c3b03657d507975a32732f04563132b4553c20747cec6dc04de475c8bdf29f", 558 strip_prefix = "boringssl-80ca9f9f6ece29ab132cce4cf807a9465a18cfac", 559 system_build_file = "//third_party/systemlibs:boringssl.BUILD", 560 urls = tf_mirror_urls("https://github.com/google/boringssl/archive/80ca9f9f6ece29ab132cce4cf807a9465a18cfac.tar.gz"), 561 ) 562 563 # Note: if you update this, you have to update libpng too. See cl/437813808 564 tf_http_archive( 565 name = "zlib", 566 build_file = "//third_party:zlib.BUILD", 567 sha256 = "91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9", 568 strip_prefix = "zlib-1.2.12", 569 system_build_file = "//third_party/systemlibs:zlib.BUILD", 570 urls = tf_mirror_urls("https://zlib.net/zlib-1.2.12.tar.gz"), 571 ) 572 573 # LINT.IfChange 574 tf_http_archive( 575 name = "fft2d", 576 build_file = "//third_party/fft2d:fft2d.BUILD", 577 sha256 = "5f4dabc2ae21e1f537425d58a49cdca1c49ea11db0d6271e2a4b27e9697548eb", 578 strip_prefix = "OouraFFT-1.0", 579 urls = tf_mirror_urls("https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz"), 580 ) 581 # LINT.ThenChange(//tensorflow/lite/tools/cmake/modules/fft2d.cmake) 582 583 tf_http_archive( 584 name = "snappy", 585 build_file = "//third_party:snappy.BUILD", 586 sha256 = "16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f", 587 strip_prefix = "snappy-1.1.8", 588 system_build_file = "//third_party/systemlibs:snappy.BUILD", 589 urls = tf_mirror_urls("https://github.com/google/snappy/archive/1.1.8.tar.gz"), 590 ) 591 592 tf_http_archive( 593 name = "nccl_archive", 594 build_file = "//third_party:nccl/archive.BUILD", 595 patch_file = ["//third_party/nccl:archive.patch"], 596 sha256 = "d5f5243200d4e40683c56f04435bfd6defa379cb4f2b8c07b0f191df0f66c3d9", 597 strip_prefix = "nccl-2.13.4-1", 598 urls = tf_mirror_urls("https://github.com/nvidia/nccl/archive/v2.13.4-1.tar.gz"), 599 ) 600 601 java_import_external( 602 name = "junit", 603 jar_sha256 = "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a", 604 jar_urls = [ 605 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar", 606 "https://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar", 607 "https://maven.ibiblio.org/maven2/junit/junit/4.12/junit-4.12.jar", 608 ], 609 licenses = ["reciprocal"], # Common Public License Version 1.0 610 testonly_ = True, 611 deps = ["@org_hamcrest_core"], 612 ) 613 614 java_import_external( 615 name = "org_hamcrest_core", 616 jar_sha256 = "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", 617 jar_urls = [ 618 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", 619 "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", 620 "https://maven.ibiblio.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", 621 ], 622 licenses = ["notice"], # New BSD License 623 testonly_ = True, 624 ) 625 626 java_import_external( 627 name = "com_google_testing_compile", 628 jar_sha256 = "edc180fdcd9f740240da1a7a45673f46f59c5578d8cd3fbc912161f74b5aebb8", 629 jar_urls = [ 630 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/com/google/testing/compile/compile-testing/0.11/compile-testing-0.11.jar", 631 "https://repo1.maven.org/maven2/com/google/testing/compile/compile-testing/0.11/compile-testing-0.11.jar", 632 ], 633 licenses = ["notice"], # New BSD License 634 testonly_ = True, 635 deps = ["@com_google_guava", "@com_google_truth"], 636 ) 637 638 java_import_external( 639 name = "com_google_truth", 640 jar_sha256 = "032eddc69652b0a1f8d458f999b4a9534965c646b8b5de0eba48ee69407051df", 641 jar_urls = [ 642 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/com/google/truth/truth/0.32/truth-0.32.jar", 643 "https://repo1.maven.org/maven2/com/google/truth/truth/0.32/truth-0.32.jar", 644 ], 645 licenses = ["notice"], # Apache 2.0 646 testonly_ = True, 647 deps = ["@com_google_guava"], 648 ) 649 650 java_import_external( 651 name = "org_checkerframework_qual", 652 jar_sha256 = "d261fde25d590f6b69db7721d469ac1b0a19a17ccaaaa751c31f0d8b8260b894", 653 jar_urls = [ 654 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", 655 "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", 656 ], 657 licenses = ["notice"], # Apache 2.0 658 ) 659 660 java_import_external( 661 name = "com_squareup_javapoet", 662 jar_sha256 = "5bb5abdfe4366c15c0da3332c57d484e238bd48260d6f9d6acf2b08fdde1efea", 663 jar_urls = [ 664 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/com/squareup/javapoet/1.9.0/javapoet-1.9.0.jar", 665 "https://repo1.maven.org/maven2/com/squareup/javapoet/1.9.0/javapoet-1.9.0.jar", 666 ], 667 licenses = ["notice"], # Apache 2.0 668 ) 669 670 tf_http_archive( 671 name = "com_google_pprof", 672 build_file = "//third_party:pprof.BUILD", 673 sha256 = "b844b75c25cfe7ea34b832b369ab91234009b2dfe2ae1fcea53860c57253fe2e", 674 strip_prefix = "pprof-83db2b799d1f74c40857232cb5eb4c60379fe6c2", 675 urls = tf_mirror_urls("https://github.com/google/pprof/archive/83db2b799d1f74c40857232cb5eb4c60379fe6c2.tar.gz"), 676 ) 677 678 # The CUDA 11 toolkit ships with CUB. We should be able to delete this rule 679 # once TF drops support for CUDA 10. 680 tf_http_archive( 681 name = "cub_archive", 682 build_file = "//third_party:cub.BUILD", 683 sha256 = "162514b3cc264ac89d91898b58450190b8192e2af1142cf8ccac2d59aa160dda", 684 strip_prefix = "cub-1.9.9", 685 urls = tf_mirror_urls("https://github.com/NVlabs/cub/archive/1.9.9.zip"), 686 ) 687 688 tf_http_archive( 689 name = "cython", 690 build_file = "//third_party:cython.BUILD", 691 sha256 = "d530216e015fd365bf3327a176e0073d0e5b8d48781f387336459f10032d776f", 692 strip_prefix = "cython-3.0.0a10", 693 system_build_file = "//third_party/systemlibs:cython.BUILD", 694 urls = tf_mirror_urls("https://github.com/cython/cython/archive/3.0.0a10.tar.gz"), 695 ) 696 697 # LINT.IfChange 698 tf_http_archive( 699 name = "arm_neon_2_x86_sse", 700 build_file = "//third_party:arm_neon_2_x86_sse.BUILD", 701 sha256 = "213733991310b904b11b053ac224fee2d4e0179e46b52fe7f8735b8831e04dcc", 702 strip_prefix = "ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f", 703 urls = tf_mirror_urls("https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz"), 704 ) 705 # LINT.ThenChange(//tensorflow/lite/tools/cmake/modules/neon2sse.cmake) 706 707 tf_http_archive( 708 name = "double_conversion", 709 sha256 = "3dbcdf186ad092a8b71228a5962009b5c96abde9a315257a3452eb988414ea3b", 710 strip_prefix = "double-conversion-3.2.0", 711 system_build_file = "//third_party/systemlibs:double_conversion.BUILD", 712 urls = tf_mirror_urls("https://github.com/google/double-conversion/archive/v3.2.0.tar.gz"), 713 ) 714 715 tf_http_archive( 716 name = "tflite_mobilenet_float", 717 build_file = "//third_party:tflite_mobilenet_float.BUILD", 718 sha256 = "2fadeabb9968ec6833bee903900dda6e61b3947200535874ce2fe42a8493abc0", 719 urls = [ 720 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224.tgz", 721 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224.tgz", 722 ], 723 ) 724 725 tf_http_archive( 726 name = "tflite_mobilenet_quant", 727 build_file = "//third_party:tflite_mobilenet_quant.BUILD", 728 sha256 = "d32432d28673a936b2d6281ab0600c71cf7226dfe4cdcef3012555f691744166", 729 urls = [ 730 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224_quant.tgz", 731 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224_quant.tgz", 732 ], 733 ) 734 735 tf_http_archive( 736 name = "tflite_mobilenet_ssd", 737 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 738 sha256 = "767057f2837a46d97882734b03428e8dd640b93236052b312b2f0e45613c1cf0", 739 urls = [ 740 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/models/tflite/mobilenet_ssd_tflite_v1.zip", 741 "https://storage.googleapis.com/download.tensorflow.org/models/tflite/mobilenet_ssd_tflite_v1.zip", 742 ], 743 ) 744 745 tf_http_archive( 746 name = "tflite_mobilenet_ssd_quant", 747 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 748 sha256 = "a809cd290b4d6a2e8a9d5dad076e0bd695b8091974e0eed1052b480b2f21b6dc", 749 urls = [ 750 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_0.75_quant_2018_06_29.zip", 751 "https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_0.75_quant_2018_06_29.zip", 752 ], 753 ) 754 755 tf_http_archive( 756 name = "tflite_mobilenet_ssd_quant_protobuf", 757 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 758 sha256 = "09280972c5777f1aa775ef67cb4ac5d5ed21970acd8535aeca62450ef14f0d79", 759 strip_prefix = "ssd_mobilenet_v1_quantized_300x300_coco14_sync_2018_07_18", 760 urls = [ 761 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_quantized_300x300_coco14_sync_2018_07_18.tar.gz", 762 "https://storage.googleapis.com/download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_quantized_300x300_coco14_sync_2018_07_18.tar.gz", 763 ], 764 ) 765 766 tf_http_archive( 767 name = "tflite_conv_actions_frozen", 768 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 769 sha256 = "d947b38cba389b5e2d0bfc3ea6cc49c784e187b41a071387b3742d1acac7691e", 770 urls = [ 771 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/models/tflite/conv_actions_tflite.zip", 772 "https://storage.googleapis.com/download.tensorflow.org/models/tflite/conv_actions_tflite.zip", 773 ], 774 ) 775 776 tf_http_archive( 777 name = "tflite_ovic_testdata", 778 build_file = "//third_party:tflite_ovic_testdata.BUILD", 779 sha256 = "033c941b7829b05ca55a124a26a6a0581b1ececc154a2153cafcfdb54f80dca2", 780 strip_prefix = "ovic", 781 urls = [ 782 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/data/ovic_2019_04_30.zip", 783 "https://storage.googleapis.com/download.tensorflow.org/data/ovic_2019_04_30.zip", 784 ], 785 ) 786 787 tf_http_archive( 788 name = "rules_python", 789 sha256 = "aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161", 790 urls = tf_mirror_urls("https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz"), 791 ) 792 793 tf_http_archive( 794 name = "build_bazel_rules_android", 795 sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", 796 strip_prefix = "rules_android-0.1.1", 797 urls = tf_mirror_urls("https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"), 798 ) 799 800 # Apple and Swift rules. 801 # https://github.com/bazelbuild/rules_apple/releases 802 tf_http_archive( 803 name = "build_bazel_rules_apple", 804 sha256 = "a5f00fd89eff67291f6cd3efdc8fad30f4727e6ebb90718f3f05bbf3c3dd5ed7", 805 urls = tf_mirror_urls("https://github.com/bazelbuild/rules_apple/releases/download/0.33.0/rules_apple.0.33.0.tar.gz"), 806 ) 807 808 # https://github.com/bazelbuild/rules_swift/releases 809 tf_http_archive( 810 name = "build_bazel_rules_swift", 811 sha256 = "8a49da750560b185804a4bc95c82d3f9cc4c2caf788960b0e21945759155fdd9", 812 urls = tf_mirror_urls("https://github.com/bazelbuild/rules_swift/releases/download/0.25.0/rules_swift.0.25.0.tar.gz"), 813 ) 814 815 # https://github.com/bazelbuild/apple_support/releases 816 tf_http_archive( 817 name = "build_bazel_apple_support", 818 sha256 = "c604b75865c07f45828c7fffd5fdbff81415a9e84a68f71a9c1d8e3b2694e547", 819 urls = tf_mirror_urls("https://github.com/bazelbuild/apple_support/releases/download/0.12.1/apple_support.0.12.1.tar.gz"), 820 ) 821 822 # https://github.com/apple/swift-protobuf/releases 823 tf_http_archive( 824 name = "com_github_apple_swift_swift_protobuf", 825 strip_prefix = "swift-protobuf-1.19.0/", 826 sha256 = "f057930b9dbd17abeaaceaa45e9f8b3e87188c05211710563d2311b9edf490aa", 827 urls = tf_mirror_urls("https://github.com/apple/swift-protobuf/archive/1.19.0.tar.gz"), 828 ) 829 830 # https://github.com/google/xctestrunner/releases 831 tf_http_archive( 832 name = "xctestrunner", 833 strip_prefix = "xctestrunner-0.2.15", 834 sha256 = "b789cf18037c8c28d17365f14925f83b93b1f7dabcabb80333ae4331cf0bcb2f", 835 urls = tf_mirror_urls("https://github.com/google/xctestrunner/archive/refs/tags/0.2.15.tar.gz"), 836 ) 837 838 tf_http_archive( 839 name = "nlohmann_json_lib", 840 build_file = "//third_party:nlohmann_json.BUILD", 841 sha256 = "5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4", 842 strip_prefix = "json-3.10.5", 843 urls = tf_mirror_urls("https://github.com/nlohmann/json/archive/v3.10.5.tar.gz"), 844 ) 845 846 tf_http_archive( 847 name = "pybind11", 848 urls = tf_mirror_urls("https://github.com/pybind/pybind11/archive/v2.10.0.tar.gz"), 849 sha256 = "eacf582fa8f696227988d08cfc46121770823839fe9e301a20fbce67e7cd70ec", 850 strip_prefix = "pybind11-2.10.0", 851 build_file = "//third_party:pybind11.BUILD", 852 system_build_file = "//third_party/systemlibs:pybind11.BUILD", 853 ) 854 855 tf_http_archive( 856 name = "wrapt", 857 build_file = "//third_party:wrapt.BUILD", 858 sha256 = "8a6fb40e8f8b6a66b4ba81a4044c68e6a7b1782f21cfabc06fb765332b4c3e51", 859 strip_prefix = "wrapt-1.11.1/src/wrapt", 860 system_build_file = "//third_party/systemlibs:wrapt.BUILD", 861 urls = tf_mirror_urls("https://github.com/GrahamDumpleton/wrapt/archive/1.11.1.tar.gz"), 862 ) 863 864 tf_http_archive( 865 name = "coremltools", 866 sha256 = "89bb0bd2c16e19932670838dd5a8b239cd5c0a42338c72239d2446168c467a08", 867 strip_prefix = "coremltools-5.2", 868 build_file = "//third_party:coremltools.BUILD", 869 urls = tf_mirror_urls("https://github.com/apple/coremltools/archive/5.2.tar.gz"), 870 ) 871 872def workspace(): 873 # Check the bazel version before executing any repository rules, in case 874 # those rules rely on the version we require here. 875 check_bazel_version_at_least("1.0.0") 876 877 # Initialize toolchains and platforms. 878 _tf_toolchains() 879 880 # Import third party repositories according to go/tfbr-thirdparty. 881 _initialize_third_party() 882 883 # Import all other repositories. This should happen before initializing 884 # any external repositories, because those come with their own 885 # dependencies. Those recursive dependencies will only be imported if they 886 # don't already exist (at least if the external repository macros were 887 # written according to common practice to query native.existing_rule()). 888 _tf_repositories() 889 890 tfrt_dependencies() 891 892# Alias so it can be loaded without assigning to a different symbol to prevent 893# shadowing previous loads and trigger a buildifier warning. 894tf_workspace2 = workspace 895