1# TensorFlow external dependencies that can be loaded in WORKSPACE files. 2 3load("//third_party/gpus:cuda_configure.bzl", "cuda_configure") 4load("//third_party/gpus:rocm_configure.bzl", "rocm_configure") 5load("//third_party/tensorrt:tensorrt_configure.bzl", "tensorrt_configure") 6load("//third_party/nccl:nccl_configure.bzl", "nccl_configure") 7load("//third_party/git:git_configure.bzl", "git_configure") 8load("//third_party/py:python_configure.bzl", "python_configure") 9load("//third_party/systemlibs:syslibs_configure.bzl", "syslibs_configure") 10load("//third_party/toolchains/remote:configure.bzl", "remote_execution_configure") 11load("//third_party/toolchains/clang6:repo.bzl", "clang6_configure") 12load("//third_party/toolchains/cpus/arm:arm_compiler_configure.bzl", "arm_compiler_configure") 13load("//third_party/toolchains/embedded/arm-linux:arm_linux_toolchain_configure.bzl", "arm_linux_toolchain_configure") 14load("//third_party:repo.bzl", "tf_http_archive") 15load("//third_party/clang_toolchain:cc_configure_clang.bzl", "cc_download_clang_toolchain") 16load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") 17load("@bazel_tools//tools/build_defs/repo:java.bzl", "java_import_external") 18load("@io_bazel_rules_closure//closure:defs.bzl", "filegroup_external") 19load( 20 "//tensorflow/tools/def_file_filter:def_file_filter_configure.bzl", 21 "def_file_filter_configure", 22) 23load("//third_party/FP16:workspace.bzl", FP16 = "repo") 24load("//third_party/aws:workspace.bzl", aws = "repo") 25load("//third_party/clog:workspace.bzl", clog = "repo") 26load("//third_party/cpuinfo:workspace.bzl", cpuinfo = "repo") 27load("//third_party/dlpack:workspace.bzl", dlpack = "repo") 28load("//third_party/flatbuffers:workspace.bzl", flatbuffers = "repo") 29load("//third_party/hexagon:workspace.bzl", hexagon_nn = "repo") 30load("//third_party/highwayhash:workspace.bzl", highwayhash = "repo") 31load("//third_party/hwloc:workspace.bzl", hwloc = "repo") 32load("//third_party/icu:workspace.bzl", icu = "repo") 33load("//third_party/jpeg:workspace.bzl", jpeg = "repo") 34load("//third_party/nasm:workspace.bzl", nasm = "repo") 35load("//third_party/opencl_headers:workspace.bzl", opencl_headers = "repo") 36load("//third_party/kissfft:workspace.bzl", kissfft = "repo") 37load("//third_party/pasta:workspace.bzl", pasta = "repo") 38load("//third_party/psimd:workspace.bzl", psimd = "repo") 39load("//third_party/ruy:workspace.bzl", ruy = "repo") 40load("//third_party/sobol_data:workspace.bzl", sobol_data = "repo") 41load("//third_party/vulkan_headers:workspace.bzl", vulkan_headers = "repo") 42load("@tf_toolchains//toolchains/remote_config:configs.bzl", "initialize_rbe_configs") 43 44def initialize_third_party(): 45 """ Load third party repositories. See above load() statements. """ 46 FP16() 47 aws() 48 clog() 49 cpuinfo() 50 dlpack() 51 flatbuffers() 52 hexagon_nn() 53 highwayhash() 54 hwloc() 55 icu() 56 kissfft() 57 jpeg() 58 nasm() 59 opencl_headers() 60 pasta() 61 psimd() 62 sobol_data() 63 vulkan_headers() 64 ruy() 65 66# Sanitize a dependency so that it works correctly from code that includes 67# TensorFlow as a submodule. 68def clean_dep(dep): 69 return str(Label(dep)) 70 71# If TensorFlow is linked as a submodule. 72# path_prefix and tf_repo_name are no longer used. 73def tf_workspace(path_prefix = "", tf_repo_name = ""): 74 tf_repositories(path_prefix, tf_repo_name) 75 tf_bind() 76 77# Toolchains & platforms required by Tensorflow to build. 78def tf_toolchains(): 79 native.register_execution_platforms("@local_execution_config_platform//:platform") 80 native.register_toolchains("@local_execution_config_python//:py_toolchain") 81 82# Define all external repositories required by TensorFlow 83def tf_repositories(path_prefix = "", tf_repo_name = ""): 84 """All external dependencies for TF builds.""" 85 86 # Initialize toolchains and platforms. 87 tf_toolchains() 88 89 # Loads all external repos to configure RBE builds. 90 initialize_rbe_configs() 91 92 # Note that we check the minimum bazel version in WORKSPACE. 93 clang6_configure(name = "local_config_clang6") 94 cc_download_clang_toolchain(name = "local_config_download_clang") 95 cuda_configure(name = "local_config_cuda") 96 tensorrt_configure(name = "local_config_tensorrt") 97 nccl_configure(name = "local_config_nccl") 98 git_configure(name = "local_config_git") 99 syslibs_configure(name = "local_config_syslibs") 100 python_configure(name = "local_config_python") 101 rocm_configure(name = "local_config_rocm") 102 remote_execution_configure(name = "local_config_remote_execution") 103 104 initialize_third_party() 105 106 # For windows bazel build 107 # TODO: Remove def file filter when TensorFlow can export symbols properly on Windows. 108 def_file_filter_configure(name = "local_config_def_file_filter") 109 110 # Point //external/local_config_arm_compiler to //external/arm_compiler 111 arm_compiler_configure( 112 name = "local_config_arm_compiler", 113 build_file = clean_dep("//third_party/toolchains/cpus/arm:BUILD"), 114 remote_config_repo_arm = "../arm_compiler", 115 remote_config_repo_aarch64 = "../aarch64_compiler", 116 ) 117 118 # TFLite crossbuild toolchain for embeddeds Linux 119 arm_linux_toolchain_configure( 120 name = "local_config_embedded_arm", 121 build_file = clean_dep("//third_party/toolchains/embedded/arm-linux:BUILD"), 122 aarch64_repo = "../aarch64_linux_toolchain", 123 armhf_repo = "../armhf_linux_toolchain", 124 ) 125 126 if path_prefix: 127 print("path_prefix was specified to tf_workspace but is no longer used " + 128 "and will be removed in the future.") 129 130 # To update any of the dependencies bellow: 131 # a) update URL and strip_prefix to the new git commit hash 132 # b) get the sha256 hash of the commit by running: 133 # curl -L <url> | sha256sum 134 # and update the sha256 with the result. 135 tf_http_archive( 136 name = "XNNPACK", 137 sha256 = "59ccf0c1c64899b511f8872a278e54c293970f57933b056492a364aa5ac709ec", 138 strip_prefix = "XNNPACK-094e692629d57ddb932fcc993193626f60daa61b", 139 urls = [ 140 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/XNNPACK/archive/094e692629d57ddb932fcc993193626f60daa61b.zip", 141 "https://github.com/google/XNNPACK/archive/094e692629d57ddb932fcc993193626f60daa61b.zip", 142 ], 143 ) 144 145 tf_http_archive( 146 name = "FXdiv", 147 sha256 = "3d7b0e9c4c658a84376a1086126be02f9b7f753caa95e009d9ac38d11da444db", 148 strip_prefix = "FXdiv-63058eff77e11aa15bf531df5dd34395ec3017c8", 149 urls = [ 150 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip", 151 "https://github.com/Maratyszcza/FXdiv/archive/63058eff77e11aa15bf531df5dd34395ec3017c8.zip", 152 ], 153 ) 154 155 tf_http_archive( 156 name = "pthreadpool", 157 sha256 = "e576de3e2504018462a3ee2282c99c2d0d708f01d17cd2f71f9f1fe6d3ba8b9b", 158 strip_prefix = "pthreadpool-77f9d3bcfabd1bdb910dd33b549d5290b968ef05", 159 urls = [ 160 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/Maratyszcza/pthreadpool/archive/77f9d3bcfabd1bdb910dd33b549d5290b968ef05.zip", 161 "https://github.com/Maratyszcza/pthreadpool/archive/77f9d3bcfabd1bdb910dd33b549d5290b968ef05.zip", 162 ], 163 ) 164 165 tf_http_archive( 166 name = "mkl_dnn", 167 build_file = clean_dep("//third_party/mkl_dnn:mkldnn.BUILD"), 168 sha256 = "a0211aeb5e7dad50b97fa5dffc1a2fe2fe732572d4164e1ee8750a2ede43fbec", 169 strip_prefix = "oneDNN-0.21.3", 170 urls = [ 171 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/oneapi-src/oneDNN/archive/v0.21.3.tar.gz", 172 "https://github.com/oneapi-src/oneDNN/archive/v0.21.3.tar.gz", 173 ], 174 ) 175 176 tf_http_archive( 177 name = "mkl_dnn_v1", 178 build_file = clean_dep("//third_party/mkl_dnn:mkldnn_v1.BUILD"), 179 sha256 = "5369f7b2f0b52b40890da50c0632c3a5d1082d98325d0f2bff125d19d0dcaa1d", 180 strip_prefix = "oneDNN-1.6.4", 181 urls = [ 182 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/oneapi-src/oneDNN/archive/v1.6.4.tar.gz", 183 "https://github.com/oneapi-src/oneDNN/archive/v1.6.4.tar.gz", 184 ], 185 ) 186 187 tf_http_archive( 188 name = "com_google_absl", 189 build_file = clean_dep("//third_party:com_google_absl.BUILD"), 190 # TODO: Remove the patch when https://github.com/abseil/abseil-cpp/issues/326 is resolved 191 # and when TensorFlow is build against CUDA 10.2 192 patch_file = clean_dep("//third_party:com_google_absl_fix_mac_and_nvcc_build.patch"), 193 sha256 = "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a", # SHARED_ABSL_SHA 194 strip_prefix = "abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d", 195 urls = [ 196 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz", 197 "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz", 198 ], 199 ) 200 201 tf_http_archive( 202 name = "eigen_archive", 203 build_file = clean_dep("//third_party:eigen.BUILD"), 204 sha256 = "d76992f1972e4ff270221c7ee8125610a8e02bb46708a7295ee646e99287083b", # SHARED_EIGEN_SHA 205 strip_prefix = "eigen-90ee821c563fa20db4d64d6991ddca256d5c52f2", 206 urls = [ 207 "https://storage.googleapis.com/mirror.tensorflow.org/gitlab.com/libeigen/eigen/-/archive/90ee821c563fa20db4d64d6991ddca256d5c52f2/eigen-90ee821c563fa20db4d64d6991ddca256d5c52f2.tar.gz", 208 "https://gitlab.com/libeigen/eigen/-/archive/90ee821c563fa20db4d64d6991ddca256d5c52f2/eigen-90ee821c563fa20db4d64d6991ddca256d5c52f2.tar.gz", 209 ], 210 ) 211 212 tf_http_archive( 213 name = "arm_compiler", 214 build_file = clean_dep("//:arm_compiler.BUILD"), 215 sha256 = "b9e7d50ffd9996ed18900d041d362c99473b382c0ae049b2fce3290632d2656f", 216 strip_prefix = "rpi-newer-crosstools-eb68350c5c8ec1663b7fe52c742ac4271e3217c5/x64-gcc-6.5.0/arm-rpi-linux-gnueabihf/", 217 urls = [ 218 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/rvagg/rpi-newer-crosstools/archive/eb68350c5c8ec1663b7fe52c742ac4271e3217c5.tar.gz", 219 "https://github.com/rvagg/rpi-newer-crosstools/archive/eb68350c5c8ec1663b7fe52c742ac4271e3217c5.tar.gz", 220 ], 221 ) 222 223 tf_http_archive( 224 # This is the latest `aarch64-none-linux-gnu` compiler provided by ARM 225 # See https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads 226 # The archive contains GCC version 9.2.1 227 name = "aarch64_compiler", 228 build_file = "//:arm_compiler.BUILD", 229 sha256 = "8dfe681531f0bd04fb9c53cf3c0a3368c616aa85d48938eebe2b516376e06a66", 230 strip_prefix = "gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu", 231 urls = [ 232 "https://storage.googleapis.com/mirror.tensorflow.org/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", 233 "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", 234 ], 235 ) 236 237 tf_http_archive( 238 name = "aarch64_linux_toolchain", 239 build_file = clean_dep("//third_party/toolchains/embedded/arm-linux:aarch64-linux-toolchain.BUILD"), 240 sha256 = "8ce3e7688a47d8cd2d8e8323f147104ae1c8139520eca50ccf8a7fa933002731", 241 strip_prefix = "gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu", 242 urls = [ 243 "https://storage.googleapis.com/mirror.tensorflow.org/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", 244 "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", 245 ], 246 ) 247 248 tf_http_archive( 249 name = "armhf_linux_toolchain", 250 build_file = clean_dep("//third_party/toolchains/embedded/arm-linux:armhf-linux-toolchain.BUILD"), 251 sha256 = "d4f6480ecaa99e977e3833cc8a8e1263f9eecd1ce2d022bb548a24c4f32670f5", 252 strip_prefix = "gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf", 253 urls = [ 254 "https://storage.googleapis.com/mirror.tensorflow.org/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", 255 "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", 256 ], 257 ) 258 259 tf_http_archive( 260 name = "libxsmm_archive", 261 build_file = clean_dep("//third_party:libxsmm.BUILD"), 262 sha256 = "9c0af4509ea341d1ee2c6c19fc6f19289318c3bd4b17844efeb9e7f9691abf76", 263 strip_prefix = "libxsmm-1.14", 264 urls = [ 265 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/hfp/libxsmm/archive/1.14.tar.gz", 266 "https://github.com/hfp/libxsmm/archive/1.14.tar.gz", 267 ], 268 ) 269 270 tf_http_archive( 271 name = "com_googlesource_code_re2", 272 sha256 = "d070e2ffc5476c496a6a872a6f246bfddce8e7797d6ba605a7c8d72866743bf9", 273 strip_prefix = "re2-506cfa4bffd060c06ec338ce50ea3468daa6c814", 274 system_build_file = clean_dep("//third_party/systemlibs:re2.BUILD"), 275 urls = [ 276 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz", 277 "https://github.com/google/re2/archive/506cfa4bffd060c06ec338ce50ea3468daa6c814.tar.gz", 278 ], 279 ) 280 281 tf_http_archive( 282 name = "com_github_google_crc32c", 283 sha256 = "6b3b1d861bb8307658b2407bc7a4c59e566855ef5368a60b35c893551e4788e9", 284 build_file = "@com_github_googlecloudplatform_google_cloud_cpp//bazel:crc32c.BUILD", 285 strip_prefix = "crc32c-1.0.6", 286 urls = [ 287 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/crc32c/archive/1.0.6.tar.gz", 288 "https://github.com/google/crc32c/archive/1.0.6.tar.gz", 289 ], 290 ) 291 292 tf_http_archive( 293 name = "com_github_googlecloudplatform_google_cloud_cpp", 294 sha256 = "ff82045b9491f0d880fc8e5c83fd9542eafb156dcac9ff8c6209ced66ed2a7f0", 295 strip_prefix = "google-cloud-cpp-1.17.1", 296 repo_mapping = { 297 "@com_github_curl_curl": "@curl", 298 "@com_github_nlohmann_json": "@nlohmann_json_lib", 299 }, 300 system_build_file = clean_dep("//third_party/systemlibs:google_cloud_cpp.BUILD"), 301 system_link_files = { 302 "//third_party/systemlibs:google_cloud_cpp.google.cloud.bigtable.BUILD": "google/cloud/bigtable/BUILD", 303 }, 304 urls = [ 305 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/googleapis/google-cloud-cpp/archive/v1.17.1.tar.gz", 306 "https://github.com/googleapis/google-cloud-cpp/archive/v1.17.1.tar.gz", 307 ], 308 ) 309 310 tf_http_archive( 311 name = "com_github_googlecloudplatform_tensorflow_gcp_tools", 312 sha256 = "5e9ebe17eaa2895eb7f77fefbf52deeda7c4b63f5a616916b823eb74f3a0c542", 313 strip_prefix = "tensorflow-gcp-tools-2643d8caeba6ca2a6a0b46bb123953cb95b7e7d5", 314 urls = [ 315 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/GoogleCloudPlatform/tensorflow-gcp-tools/archive/2643d8caeba6ca2a6a0b46bb123953cb95b7e7d5.tar.gz", 316 "https://github.com/GoogleCloudPlatform/tensorflow-gcp-tools/archive/2643d8caeba6ca2a6a0b46bb123953cb95b7e7d5.tar.gz", 317 ], 318 ) 319 320 tf_http_archive( 321 name = "com_google_googleapis", 322 build_file = clean_dep("//third_party/googleapis:googleapis.BUILD"), 323 sha256 = "7ebab01b06c555f4b6514453dc3e1667f810ef91d1d4d2d3aa29bb9fcb40a900", 324 strip_prefix = "googleapis-541b1ded4abadcc38e8178680b0677f65594ea6f", 325 urls = [ 326 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip", 327 "https://github.com/googleapis/googleapis/archive/541b1ded4abadcc38e8178680b0677f65594ea6f.zip", 328 ], 329 ) 330 331 tf_http_archive( 332 name = "gemmlowp", 333 sha256 = "43146e6f56cb5218a8caaab6b5d1601a083f1f31c06ff474a4378a7d35be9cfb", # SHARED_GEMMLOWP_SHA 334 strip_prefix = "gemmlowp-fda83bdc38b118cc6b56753bd540caa49e570745", 335 urls = [ 336 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip", 337 "https://github.com/google/gemmlowp/archive/fda83bdc38b118cc6b56753bd540caa49e570745.zip", 338 ], 339 ) 340 341 tf_http_archive( 342 name = "farmhash_archive", 343 build_file = clean_dep("//third_party:farmhash.BUILD"), 344 sha256 = "6560547c63e4af82b0f202cb710ceabb3f21347a4b996db565a411da5b17aba0", # SHARED_FARMHASH_SHA 345 strip_prefix = "farmhash-816a4ae622e964763ca0862d9dbd19324a1eaf45", 346 urls = [ 347 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz", 348 "https://github.com/google/farmhash/archive/816a4ae622e964763ca0862d9dbd19324a1eaf45.tar.gz", 349 ], 350 ) 351 352 tf_http_archive( 353 name = "png", 354 build_file = clean_dep("//third_party:png.BUILD"), 355 patch_file = clean_dep("//third_party:png_fix_rpi.patch"), 356 sha256 = "ca74a0dace179a8422187671aee97dd3892b53e168627145271cad5b5ac81307", 357 strip_prefix = "libpng-1.6.37", 358 system_build_file = clean_dep("//third_party/systemlibs:png.BUILD"), 359 urls = [ 360 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/glennrp/libpng/archive/v1.6.37.tar.gz", 361 "https://github.com/glennrp/libpng/archive/v1.6.37.tar.gz", 362 ], 363 ) 364 365 tf_http_archive( 366 name = "org_sqlite", 367 build_file = clean_dep("//third_party:sqlite.BUILD"), 368 sha256 = "e0b1c0345fe4338b936e17da8e1bd88366cd210e576834546977f040c12a8f68", 369 strip_prefix = "sqlite-amalgamation-3340100", 370 system_build_file = clean_dep("//third_party/systemlibs:sqlite.BUILD"), 371 urls = [ 372 "https://storage.googleapis.com/mirror.tensorflow.org/www.sqlite.org/2021/sqlite-amalgamation-3340100.zip", 373 "https://www.sqlite.org/2021/sqlite-amalgamation-3340100.zip", 374 ], 375 ) 376 377 tf_http_archive( 378 name = "gif", 379 build_file = clean_dep("//third_party:gif.BUILD"), 380 patch_file = clean_dep("//third_party:gif_fix_strtok_r.patch"), 381 sha256 = "31da5562f44c5f15d63340a09a4fd62b48c45620cd302f77a6d9acf0077879bd", 382 strip_prefix = "giflib-5.2.1", 383 system_build_file = clean_dep("//third_party/systemlibs:gif.BUILD"), 384 urls = [ 385 "https://storage.googleapis.com/mirror.tensorflow.org/pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz", 386 "https://pilotfiber.dl.sourceforge.net/project/giflib/giflib-5.2.1.tar.gz", 387 ], 388 ) 389 390 tf_http_archive( 391 name = "six_archive", 392 build_file = clean_dep("//third_party:six.BUILD"), 393 sha256 = "30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259", 394 strip_prefix = "six-1.15.0", 395 system_build_file = clean_dep("//third_party/systemlibs:six.BUILD"), 396 urls = [ 397 "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/source/s/six/six-1.15.0.tar.gz", 398 "https://pypi.python.org/packages/source/s/six/six-1.15.0.tar.gz", 399 ], 400 ) 401 402 tf_http_archive( 403 name = "astor_archive", 404 build_file = clean_dep("//third_party:astor.BUILD"), 405 sha256 = "95c30d87a6c2cf89aa628b87398466840f0ad8652f88eb173125a6df8533fb8d", 406 strip_prefix = "astor-0.7.1", 407 system_build_file = clean_dep("//third_party/systemlibs:astor.BUILD"), 408 urls = [ 409 "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/99/80/f9482277c919d28bebd85813c0a70117214149a96b08981b72b63240b84c/astor-0.7.1.tar.gz", 410 "https://pypi.python.org/packages/99/80/f9482277c919d28bebd85813c0a70117214149a96b08981b72b63240b84c/astor-0.7.1.tar.gz", 411 ], 412 ) 413 414 tf_http_archive( 415 name = "astunparse_archive", 416 build_file = clean_dep("//third_party:astunparse.BUILD"), 417 sha256 = "5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", 418 strip_prefix = "astunparse-1.6.3/lib", 419 system_build_file = clean_dep("//third_party/systemlibs:astunparse.BUILD"), 420 urls = [ 421 "https://storage.googleapis.com/mirror.tensorflow.org/files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", 422 "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", 423 ], 424 ) 425 426 filegroup_external( 427 name = "astunparse_license", 428 licenses = ["notice"], # PSFL 429 sha256_urls = { 430 "92fc0e4f4fa9460558eedf3412b988d433a2dcbb3a9c45402a145a4fab8a6ac6": [ 431 "https://storage.googleapis.com/mirror.tensorflow.org/raw.githubusercontent.com/simonpercivall/astunparse/v1.6.2/LICENSE", 432 "https://raw.githubusercontent.com/simonpercivall/astunparse/v1.6.2/LICENSE", 433 ], 434 }, 435 ) 436 437 tf_http_archive( 438 name = "functools32_archive", 439 build_file = clean_dep("//third_party:functools32.BUILD"), 440 sha256 = "f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d", 441 strip_prefix = "functools32-3.2.3-2", 442 system_build_file = clean_dep("//third_party/systemlibs:functools32.BUILD"), 443 urls = [ 444 "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz", 445 "https://pypi.python.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz", 446 ], 447 ) 448 449 tf_http_archive( 450 name = "gast_archive", 451 build_file = clean_dep("//third_party:gast.BUILD"), 452 sha256 = "40feb7b8b8434785585ab224d1568b857edb18297e5a3047f1ba012bc83b42c1", 453 strip_prefix = "gast-0.4.0", 454 system_build_file = clean_dep("//third_party/systemlibs:gast.BUILD"), 455 urls = [ 456 "http://mirror.tensorflow.org/files.pythonhosted.org/packages/12/59/eaa15ab9710a20e22225efd042cd2d6a0b559a0656d5baba9641a2a4a921/gast-0.4.0.tar.gz", 457 "https://files.pythonhosted.org/packages/83/4a/07c7e59cef23fb147454663c3271c21da68ba2ab141427c20548ae5a8a4d/gast-0.4.0.tar.gz", 458 ], 459 ) 460 461 tf_http_archive( 462 name = "termcolor_archive", 463 build_file = clean_dep("//third_party:termcolor.BUILD"), 464 sha256 = "1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b", 465 strip_prefix = "termcolor-1.1.0", 466 system_build_file = clean_dep("//third_party/systemlibs:termcolor.BUILD"), 467 urls = [ 468 "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz", 469 "https://pypi.python.org/packages/8a/48/a76be51647d0eb9f10e2a4511bf3ffb8cc1e6b14e9e4fab46173aa79f981/termcolor-1.1.0.tar.gz", 470 ], 471 ) 472 473 tf_http_archive( 474 name = "typing_extensions_archive", 475 build_file = clean_dep("//third_party:typing_extensions.BUILD"), 476 sha256 = "79ee589a3caca649a9bfd2a8de4709837400dfa00b6cc81962a1e6a1815969ae", 477 strip_prefix = "typing_extensions-3.7.4.2/src_py3", 478 system_build_file = clean_dep("//third_party/systemlibs:typing_extensions.BUILD"), 479 urls = [ 480 "http://mirror.tensorflow.org/files.pythonhosted.org/packages/6a/28/d32852f2af6b5ead85d396249d5bdf450833f3a69896d76eb480d9c5e406/typing_extensions-3.7.4.2.tar.gz", 481 "https://files.pythonhosted.org/packages/6a/28/d32852f2af6b5ead85d396249d5bdf450833f3a69896d76eb480d9c5e406/typing_extensions-3.7.4.2.tar.gz", 482 ], 483 ) 484 485 filegroup_external( 486 name = "typing_extensions_license", 487 licenses = ["notice"], # PSFL 488 sha256_urls = { 489 "ff17ce94e102024deb68773eb1cc74ca76da4e658f373531f0ac22d68a6bb1ad": [ 490 "http://mirror.tensorflow.org/raw.githubusercontent.com/python/typing/master/typing_extensions/LICENSE", 491 "https://raw.githubusercontent.com/python/typing/master/typing_extensions/LICENSE", 492 ], 493 }, 494 ) 495 496 tf_http_archive( 497 name = "opt_einsum_archive", 498 build_file = clean_dep("//third_party:opt_einsum.BUILD"), 499 sha256 = "d3d464b4da7ef09e444c30e4003a27def37f85ff10ff2671e5f7d7813adac35b", 500 strip_prefix = "opt_einsum-2.3.2", 501 system_build_file = clean_dep("//third_party/systemlibs:opt_einsum.BUILD"), 502 urls = [ 503 "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/f6/d6/44792ec668bcda7d91913c75237314e688f70415ab2acd7172c845f0b24f/opt_einsum-2.3.2.tar.gz", 504 "https://pypi.python.org/packages/f6/d6/44792ec668bcda7d91913c75237314e688f70415ab2acd7172c845f0b24f/opt_einsum-2.3.2.tar.gz", 505 ], 506 ) 507 508 tf_http_archive( 509 name = "absl_py", 510 sha256 = "603febc9b95a8f2979a7bdb77d2f5e4d9b30d4e0d59579f88eba67d4e4cc5462", 511 strip_prefix = "abseil-py-pypi-v0.9.0", 512 system_build_file = clean_dep("//third_party/systemlibs:absl_py.BUILD"), 513 system_link_files = { 514 "//third_party/systemlibs:absl_py.absl.BUILD": "absl/BUILD", 515 "//third_party/systemlibs:absl_py.absl.flags.BUILD": "absl/flags/BUILD", 516 "//third_party/systemlibs:absl_py.absl.testing.BUILD": "absl/testing/BUILD", 517 "//third_party/systemlibs:absl_py.absl.logging.BUILD": "absl/logging/BUILD", 518 }, 519 urls = [ 520 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/abseil/abseil-py/archive/pypi-v0.9.0.tar.gz", 521 "https://github.com/abseil/abseil-py/archive/pypi-v0.9.0.tar.gz", 522 ], 523 ) 524 525 tf_http_archive( 526 name = "enum34_archive", 527 urls = [ 528 "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz", 529 "https://pypi.python.org/packages/bf/3e/31d502c25302814a7c2f1d3959d2a3b3f78e509002ba91aea64993936876/enum34-1.1.6.tar.gz", 530 ], 531 sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1", 532 build_file = clean_dep("//third_party:enum34.BUILD"), 533 system_build_file = clean_dep("//third_party/systemlibs:enum34.BUILD"), 534 strip_prefix = "enum34-1.1.6/enum", 535 ) 536 537 tf_http_archive( 538 name = "org_python_pypi_backports_weakref", 539 build_file = clean_dep("//third_party:backports_weakref.BUILD"), 540 sha256 = "8813bf712a66b3d8b85dc289e1104ed220f1878cf981e2fe756dfaabe9a82892", 541 strip_prefix = "backports.weakref-1.0rc1/src", 542 urls = [ 543 "https://storage.googleapis.com/mirror.tensorflow.org/pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz", 544 "https://pypi.python.org/packages/bc/cc/3cdb0a02e7e96f6c70bd971bc8a90b8463fda83e264fa9c5c1c98ceabd81/backports.weakref-1.0rc1.tar.gz", 545 ], 546 ) 547 548 tf_http_archive( 549 name = "dill_archive", 550 build_file = clean_dep("//third_party:dill.BUILD"), 551 system_build_file = clean_dep("//third_party/systemlibs:dill.BUILD"), 552 urls = [ 553 "http://mirror.tensorflow.org/files.pythonhosted.org/packages/e2/96/518a8ea959a734b70d2e95fef98bcbfdc7adad1c1e5f5dd9148c835205a5/dill-0.3.2.zip", 554 "https://files.pythonhosted.org/packages/e2/96/518a8ea959a734b70d2e95fef98bcbfdc7adad1c1e5f5dd9148c835205a5/dill-0.3.2.zip", 555 ], 556 sha256 = "6e12da0d8e49c220e8d6e97ee8882002e624f1160289ce85ec2cc0a5246b3a2e", 557 strip_prefix = "dill-0.3.2", 558 ) 559 560 tf_http_archive( 561 name = "tblib_archive", 562 build_file = clean_dep("//third_party:tblib.BUILD"), 563 system_build_file = clean_dep("//third_party/systemlibs:tblib.BUILD"), 564 urls = [ 565 "http://mirror.tensorflow.org/files.pythonhosted.org/packages/d3/41/901ef2e81d7b1e834b9870d416cb09479e175a2be1c4aa1a9dcd0a555293/tblib-1.7.0.tar.gz", 566 "https://files.pythonhosted.org/packages/d3/41/901ef2e81d7b1e834b9870d416cb09479e175a2be1c4aa1a9dcd0a555293/tblib-1.7.0.tar.gz", 567 ], 568 sha256 = "059bd77306ea7b419d4f76016aef6d7027cc8a0785579b5aad198803435f882c", 569 strip_prefix = "tblib-1.7.0", 570 ) 571 572 filegroup_external( 573 name = "org_python_license", 574 licenses = ["notice"], # Python 2.0 575 sha256_urls = { 576 "e76cacdf0bdd265ff074ccca03671c33126f597f39d0ed97bc3e5673d9170cf6": [ 577 "https://storage.googleapis.com/mirror.tensorflow.org/docs.python.org/2.7/_sources/license.rst.txt", 578 "https://docs.python.org/2.7/_sources/license.rst.txt", 579 ], 580 }, 581 ) 582 583 tf_http_archive( 584 name = "com_google_protobuf", 585 patch_file = clean_dep("//third_party/protobuf:protobuf.patch"), 586 sha256 = "cfcba2df10feec52a84208693937c17a4b5df7775e1635c1e3baffc487b24c9b", 587 strip_prefix = "protobuf-3.9.2", 588 system_build_file = clean_dep("//third_party/systemlibs:protobuf.BUILD"), 589 system_link_files = { 590 "//third_party/systemlibs:protobuf.bzl": "protobuf.bzl", 591 }, 592 urls = [ 593 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/protocolbuffers/protobuf/archive/v3.9.2.zip", 594 "https://github.com/protocolbuffers/protobuf/archive/v3.9.2.zip", 595 ], 596 ) 597 598 tf_http_archive( 599 name = "nsync", 600 sha256 = "caf32e6b3d478b78cff6c2ba009c3400f8251f646804bcb65465666a9cea93c4", 601 strip_prefix = "nsync-1.22.0", 602 system_build_file = clean_dep("//third_party/systemlibs:nsync.BUILD"), 603 urls = [ 604 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/nsync/archive/1.22.0.tar.gz", 605 "https://github.com/google/nsync/archive/1.22.0.tar.gz", 606 ], 607 ) 608 609 tf_http_archive( 610 name = "com_google_googletest", 611 sha256 = "ff7a82736e158c077e76188232eac77913a15dac0b22508c390ab3f88e6d6d86", 612 strip_prefix = "googletest-b6cd405286ed8635ece71c72f118e659f4ade3fb", 613 urls = [ 614 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/googletest/archive/b6cd405286ed8635ece71c72f118e659f4ade3fb.zip", 615 "https://github.com/google/googletest/archive/b6cd405286ed8635ece71c72f118e659f4ade3fb.zip", 616 ], 617 ) 618 619 tf_http_archive( 620 name = "com_github_gflags_gflags", 621 sha256 = "ae27cdbcd6a2f935baa78e4f21f675649271634c092b1be01469440495609d0e", 622 strip_prefix = "gflags-2.2.1", 623 urls = [ 624 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/gflags/gflags/archive/v2.2.1.tar.gz", 625 "https://github.com/gflags/gflags/archive/v2.2.1.tar.gz", 626 ], 627 ) 628 629 tf_http_archive( 630 name = "pcre", 631 build_file = clean_dep("//third_party:pcre.BUILD"), 632 sha256 = "aecafd4af3bd0f3935721af77b889d9024b2e01d96b58471bd91a3063fb47728", 633 strip_prefix = "pcre-8.44", 634 system_build_file = clean_dep("//third_party/systemlibs:pcre.BUILD"), 635 urls = [ 636 "https://storage.googleapis.com/mirror.tensorflow.org/ftp.exim.org/pub/pcre/pcre-8.44.tar.gz", 637 "https://ftp.exim.org/pub/pcre/pcre-8.44.tar.gz", 638 ], 639 ) 640 641 tf_http_archive( 642 name = "curl", 643 build_file = clean_dep("//third_party:curl.BUILD"), 644 sha256 = "01ae0c123dee45b01bbaef94c0bc00ed2aec89cb2ee0fd598e0d302a6b5e0a98", 645 strip_prefix = "curl-7.69.1", 646 system_build_file = clean_dep("//third_party/systemlibs:curl.BUILD"), 647 urls = [ 648 "https://storage.googleapis.com/mirror.tensorflow.org/curl.haxx.se/download/curl-7.69.1.tar.gz", 649 "https://curl.haxx.se/download/curl-7.69.1.tar.gz", 650 ], 651 ) 652 653 # WARNING: make sure ncteisen@ and vpai@ are cc-ed on any CL to change the below rule 654 tf_http_archive( 655 name = "com_github_grpc_grpc", 656 sha256 = "b956598d8cbe168b5ee717b5dafa56563eb5201a947856a6688bbeac9cac4e1f", 657 strip_prefix = "grpc-b54a5b338637f92bfcf4b0bc05e0f57a5fd8fadd", 658 system_build_file = clean_dep("//third_party/systemlibs:grpc.BUILD"), 659 patch_file = clean_dep("//third_party/grpc:generate_cc_env_fix.patch"), 660 system_link_files = { 661 "//third_party/systemlibs:BUILD": "bazel/BUILD", 662 "//third_party/systemlibs:grpc.BUILD": "src/compiler/BUILD", 663 "//third_party/systemlibs:grpc.bazel.grpc_deps.bzl": "bazel/grpc_deps.bzl", 664 "//third_party/systemlibs:grpc.bazel.grpc_extra_deps.bzl": "bazel/grpc_extra_deps.bzl", 665 "//third_party/systemlibs:grpc.bazel.cc_grpc_library.bzl": "bazel/cc_grpc_library.bzl", 666 "//third_party/systemlibs:grpc.bazel.generate_cc.bzl": "bazel/generate_cc.bzl", 667 "//third_party/systemlibs:grpc.bazel.protobuf.bzl": "bazel/protobuf.bzl", 668 }, 669 urls = [ 670 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/grpc/grpc/archive/b54a5b338637f92bfcf4b0bc05e0f57a5fd8fadd.tar.gz", 671 "https://github.com/grpc/grpc/archive/b54a5b338637f92bfcf4b0bc05e0f57a5fd8fadd.tar.gz", 672 ], 673 ) 674 675 tf_http_archive( 676 name = "linenoise", 677 build_file = clean_dep("//third_party:linenoise.BUILD"), 678 sha256 = "7f51f45887a3d31b4ce4fa5965210a5e64637ceac12720cfce7954d6a2e812f7", 679 strip_prefix = "linenoise-c894b9e59f02203dbe4e2be657572cf88c4230c3", 680 urls = [ 681 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/antirez/linenoise/archive/c894b9e59f02203dbe4e2be657572cf88c4230c3.tar.gz", 682 "https://github.com/antirez/linenoise/archive/c894b9e59f02203dbe4e2be657572cf88c4230c3.tar.gz", 683 ], 684 ) 685 686 # Check out LLVM and MLIR from llvm-project. 687 LLVM_COMMIT = "624fccba87cc7cc5af523f7efb10a0d82118ecd5" 688 LLVM_SHA256 = "71531ad9b85450f521cb8d4f6750b6008d35473d61a91695b2fc6333e76f91ee" 689 LLVM_URLS = [ 690 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT), 691 "https://github.com/llvm/llvm-project/archive/{commit}.tar.gz".format(commit = LLVM_COMMIT), 692 ] 693 tf_http_archive( 694 name = "llvm-project", 695 sha256 = LLVM_SHA256, 696 strip_prefix = "llvm-project-" + LLVM_COMMIT, 697 urls = LLVM_URLS, 698 additional_build_files = { 699 clean_dep("//third_party/llvm:llvm.autogenerated.BUILD"): "llvm/BUILD", 700 "//third_party/mlir:BUILD": "mlir/BUILD", 701 "//third_party/mlir:test.BUILD": "mlir/test/BUILD", 702 }, 703 ) 704 705 # Intel openMP that is part of LLVM sources. 706 tf_http_archive( 707 name = "llvm_openmp", 708 build_file = clean_dep("//third_party/llvm_openmp:BUILD"), 709 sha256 = "d19f728c8e04fb1e94566c8d76aef50ec926cd2f95ef3bf1e0a5de4909b28b44", 710 strip_prefix = "openmp-10.0.1.src", 711 urls = [ 712 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/openmp-10.0.1.src.tar.xz", 713 "https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.1/openmp-10.0.1.src.tar.xz", 714 ], 715 ) 716 717 tf_http_archive( 718 name = "lmdb", 719 build_file = clean_dep("//third_party:lmdb.BUILD"), 720 sha256 = "f3927859882eb608868c8c31586bb7eb84562a40a6bf5cc3e13b6b564641ea28", 721 strip_prefix = "lmdb-LMDB_0.9.22/libraries/liblmdb", 722 system_build_file = clean_dep("//third_party/systemlibs:lmdb.BUILD"), 723 urls = [ 724 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/LMDB/lmdb/archive/LMDB_0.9.22.tar.gz", 725 "https://github.com/LMDB/lmdb/archive/LMDB_0.9.22.tar.gz", 726 ], 727 ) 728 729 tf_http_archive( 730 name = "jsoncpp_git", 731 build_file = clean_dep("//third_party:jsoncpp.BUILD"), 732 sha256 = "77a402fb577b2e0e5d0bdc1cf9c65278915cdb25171e3452c68b6da8a561f8f0", 733 strip_prefix = "jsoncpp-1.9.2", 734 system_build_file = clean_dep("//third_party/systemlibs:jsoncpp.BUILD"), 735 urls = [ 736 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/open-source-parsers/jsoncpp/archive/1.9.2.tar.gz", 737 "https://github.com/open-source-parsers/jsoncpp/archive/1.9.2.tar.gz", 738 ], 739 ) 740 741 tf_http_archive( 742 name = "boringssl", 743 sha256 = "a9c3b03657d507975a32732f04563132b4553c20747cec6dc04de475c8bdf29f", 744 strip_prefix = "boringssl-80ca9f9f6ece29ab132cce4cf807a9465a18cfac", 745 system_build_file = clean_dep("//third_party/systemlibs:boringssl.BUILD"), 746 urls = [ 747 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/boringssl/archive/80ca9f9f6ece29ab132cce4cf807a9465a18cfac.tar.gz", 748 "https://github.com/google/boringssl/archive/80ca9f9f6ece29ab132cce4cf807a9465a18cfac.tar.gz", 749 ], 750 ) 751 752 tf_http_archive( 753 name = "zlib", 754 build_file = clean_dep("//third_party:zlib.BUILD"), 755 sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1", 756 strip_prefix = "zlib-1.2.11", 757 system_build_file = clean_dep("//third_party/systemlibs:zlib.BUILD"), 758 urls = [ 759 "https://storage.googleapis.com/mirror.tensorflow.org/zlib.net/zlib-1.2.11.tar.gz", 760 "https://zlib.net/zlib-1.2.11.tar.gz", 761 ], 762 ) 763 764 tf_http_archive( 765 name = "fft2d", 766 build_file = clean_dep("//third_party/fft2d:fft2d.BUILD"), 767 sha256 = "5f4dabc2ae21e1f537425d58a49cdca1c49ea11db0d6271e2a4b27e9697548eb", 768 strip_prefix = "OouraFFT-1.0", 769 urls = [ 770 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/petewarden/OouraFFT/archive/v1.0.tar.gz", 771 "https://github.com/petewarden/OouraFFT/archive/v1.0.tar.gz", 772 ], 773 ) 774 775 tf_http_archive( 776 name = "snappy", 777 build_file = clean_dep("//third_party:snappy.BUILD"), 778 sha256 = "16b677f07832a612b0836178db7f374e414f94657c138e6993cbfc5dcc58651f", 779 strip_prefix = "snappy-1.1.8", 780 system_build_file = clean_dep("//third_party/systemlibs:snappy.BUILD"), 781 urls = [ 782 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/snappy/archive/1.1.8.tar.gz", 783 "https://github.com/google/snappy/archive/1.1.8.tar.gz", 784 ], 785 ) 786 787 tf_http_archive( 788 name = "nccl_archive", 789 build_file = clean_dep("//third_party:nccl/archive.BUILD"), 790 patch_file = clean_dep("//third_party/nccl:archive.patch"), 791 sha256 = "3ae89ddb2956fff081e406a94ff54ae5e52359f5d645ce977c7eba09b3b782e6", 792 strip_prefix = "nccl-2.8.3-1", 793 urls = [ 794 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/nvidia/nccl/archive/v2.8.3-1.tar.gz", 795 "https://github.com/nvidia/nccl/archive/v2.8.3-1.tar.gz", 796 ], 797 ) 798 799 java_import_external( 800 name = "junit", 801 jar_sha256 = "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a", 802 jar_urls = [ 803 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar", 804 "https://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar", 805 "https://maven.ibiblio.org/maven2/junit/junit/4.12/junit-4.12.jar", 806 ], 807 licenses = ["reciprocal"], # Common Public License Version 1.0 808 testonly_ = True, 809 deps = ["@org_hamcrest_core"], 810 ) 811 812 java_import_external( 813 name = "org_hamcrest_core", 814 jar_sha256 = "66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9", 815 jar_urls = [ 816 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", 817 "https://repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", 818 "https://maven.ibiblio.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar", 819 ], 820 licenses = ["notice"], # New BSD License 821 testonly_ = True, 822 ) 823 824 java_import_external( 825 name = "com_google_testing_compile", 826 jar_sha256 = "edc180fdcd9f740240da1a7a45673f46f59c5578d8cd3fbc912161f74b5aebb8", 827 jar_urls = [ 828 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/com/google/testing/compile/compile-testing/0.11/compile-testing-0.11.jar", 829 "https://repo1.maven.org/maven2/com/google/testing/compile/compile-testing/0.11/compile-testing-0.11.jar", 830 ], 831 licenses = ["notice"], # New BSD License 832 testonly_ = True, 833 deps = ["@com_google_guava", "@com_google_truth"], 834 ) 835 836 java_import_external( 837 name = "com_google_truth", 838 jar_sha256 = "032eddc69652b0a1f8d458f999b4a9534965c646b8b5de0eba48ee69407051df", 839 jar_urls = [ 840 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/com/google/truth/truth/0.32/truth-0.32.jar", 841 "https://repo1.maven.org/maven2/com/google/truth/truth/0.32/truth-0.32.jar", 842 ], 843 licenses = ["notice"], # Apache 2.0 844 testonly_ = True, 845 deps = ["@com_google_guava"], 846 ) 847 848 java_import_external( 849 name = "org_checkerframework_qual", 850 jar_sha256 = "d261fde25d590f6b69db7721d469ac1b0a19a17ccaaaa751c31f0d8b8260b894", 851 jar_urls = [ 852 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", 853 "https://repo1.maven.org/maven2/org/checkerframework/checker-qual/2.10.0/checker-qual-2.10.0.jar", 854 ], 855 licenses = ["notice"], # Apache 2.0 856 ) 857 858 java_import_external( 859 name = "com_squareup_javapoet", 860 jar_sha256 = "5bb5abdfe4366c15c0da3332c57d484e238bd48260d6f9d6acf2b08fdde1efea", 861 jar_urls = [ 862 "https://storage.googleapis.com/mirror.tensorflow.org/repo1.maven.org/maven2/com/squareup/javapoet/1.9.0/javapoet-1.9.0.jar", 863 "https://repo1.maven.org/maven2/com/squareup/javapoet/1.9.0/javapoet-1.9.0.jar", 864 ], 865 licenses = ["notice"], # Apache 2.0 866 ) 867 868 tf_http_archive( 869 name = "com_google_pprof", 870 build_file = clean_dep("//third_party:pprof.BUILD"), 871 sha256 = "e0928ca4aa10ea1e0551e2d7ce4d1d7ea2d84b2abbdef082b0da84268791d0c4", 872 strip_prefix = "pprof-c0fb62ec88c411cc91194465e54db2632845b650", 873 urls = [ 874 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/pprof/archive/c0fb62ec88c411cc91194465e54db2632845b650.tar.gz", 875 "https://github.com/google/pprof/archive/c0fb62ec88c411cc91194465e54db2632845b650.tar.gz", 876 ], 877 ) 878 879 # The CUDA 11 toolkit ships with CUB. We should be able to delete this rule 880 # once TF drops support for CUDA 10. 881 tf_http_archive( 882 name = "cub_archive", 883 build_file = clean_dep("//third_party:cub.BUILD"), 884 sha256 = "162514b3cc264ac89d91898b58450190b8192e2af1142cf8ccac2d59aa160dda", 885 strip_prefix = "cub-1.9.9", 886 urls = [ 887 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/NVlabs/cub/archive/1.9.9.zip", 888 "https://github.com/NVlabs/cub/archive/1.9.9.zip", 889 ], 890 ) 891 892 tf_http_archive( 893 name = "cython", 894 build_file = clean_dep("//third_party:cython.BUILD"), 895 delete = ["BUILD.bazel"], 896 sha256 = "e2e38e1f0572ca54d6085df3dec8b607d20e81515fb80215aed19c81e8fe2079", 897 strip_prefix = "cython-0.29.21", 898 system_build_file = clean_dep("//third_party/systemlibs:cython.BUILD"), 899 urls = [ 900 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/cython/cython/archive/0.29.21.tar.gz", 901 "https://github.com/cython/cython/archive/0.29.21.tar.gz", 902 ], 903 ) 904 905 tf_http_archive( 906 name = "arm_neon_2_x86_sse", 907 build_file = clean_dep("//third_party:arm_neon_2_x86_sse.BUILD"), 908 sha256 = "213733991310b904b11b053ac224fee2d4e0179e46b52fe7f8735b8831e04dcc", 909 strip_prefix = "ARM_NEON_2_x86_SSE-1200fe90bb174a6224a525ee60148671a786a71f", 910 urls = [ 911 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz", 912 "https://github.com/intel/ARM_NEON_2_x86_SSE/archive/1200fe90bb174a6224a525ee60148671a786a71f.tar.gz", 913 ], 914 ) 915 916 tf_http_archive( 917 name = "double_conversion", 918 build_file = clean_dep("//third_party:double_conversion.BUILD"), 919 sha256 = "2f7fbffac0d98d201ad0586f686034371a6d152ca67508ab611adc2386ad30de", 920 strip_prefix = "double-conversion-3992066a95b823efc8ccc1baf82a1cfc73f6e9b8", 921 system_build_file = clean_dep("//third_party/systemlibs:double_conversion.BUILD"), 922 urls = [ 923 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/double-conversion/archive/3992066a95b823efc8ccc1baf82a1cfc73f6e9b8.zip", 924 "https://github.com/google/double-conversion/archive/3992066a95b823efc8ccc1baf82a1cfc73f6e9b8.zip", 925 ], 926 ) 927 928 tf_http_archive( 929 name = "tflite_mobilenet_float", 930 build_file = clean_dep("//third_party:tflite_mobilenet_float.BUILD"), 931 sha256 = "2fadeabb9968ec6833bee903900dda6e61b3947200535874ce2fe42a8493abc0", 932 urls = [ 933 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224.tgz", 934 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224.tgz", 935 ], 936 ) 937 938 tf_http_archive( 939 name = "tflite_mobilenet_quant", 940 build_file = clean_dep("//third_party:tflite_mobilenet_quant.BUILD"), 941 sha256 = "d32432d28673a936b2d6281ab0600c71cf7226dfe4cdcef3012555f691744166", 942 urls = [ 943 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224_quant.tgz", 944 "https://storage.googleapis.com/download.tensorflow.org/models/mobilenet_v1_2018_08_02/mobilenet_v1_1.0_224_quant.tgz", 945 ], 946 ) 947 948 tf_http_archive( 949 name = "tflite_mobilenet_ssd", 950 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 951 sha256 = "767057f2837a46d97882734b03428e8dd640b93236052b312b2f0e45613c1cf0", 952 urls = [ 953 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/models/tflite/mobilenet_ssd_tflite_v1.zip", 954 "https://storage.googleapis.com/download.tensorflow.org/models/tflite/mobilenet_ssd_tflite_v1.zip", 955 ], 956 ) 957 958 tf_http_archive( 959 name = "tflite_mobilenet_ssd_quant", 960 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 961 sha256 = "a809cd290b4d6a2e8a9d5dad076e0bd695b8091974e0eed1052b480b2f21b6dc", 962 urls = [ 963 "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", 964 "https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_0.75_quant_2018_06_29.zip", 965 ], 966 ) 967 968 tf_http_archive( 969 name = "tflite_mobilenet_ssd_quant_protobuf", 970 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 971 sha256 = "09280972c5777f1aa775ef67cb4ac5d5ed21970acd8535aeca62450ef14f0d79", 972 strip_prefix = "ssd_mobilenet_v1_quantized_300x300_coco14_sync_2018_07_18", 973 urls = [ 974 "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", 975 "https://storage.googleapis.com/download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_quantized_300x300_coco14_sync_2018_07_18.tar.gz", 976 ], 977 ) 978 979 tf_http_archive( 980 name = "tflite_conv_actions_frozen", 981 build_file = str(Label("//third_party:tflite_mobilenet.BUILD")), 982 sha256 = "d947b38cba389b5e2d0bfc3ea6cc49c784e187b41a071387b3742d1acac7691e", 983 urls = [ 984 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/models/tflite/conv_actions_tflite.zip", 985 "https://storage.googleapis.com/download.tensorflow.org/models/tflite/conv_actions_tflite.zip", 986 ], 987 ) 988 989 tf_http_archive( 990 name = "tflite_ovic_testdata", 991 build_file = clean_dep("//third_party:tflite_ovic_testdata.BUILD"), 992 sha256 = "033c941b7829b05ca55a124a26a6a0581b1ececc154a2153cafcfdb54f80dca2", 993 strip_prefix = "ovic", 994 urls = [ 995 "https://storage.googleapis.com/mirror.tensorflow.org/storage.googleapis.com/download.tensorflow.org/data/ovic_2019_04_30.zip", 996 "https://storage.googleapis.com/download.tensorflow.org/data/ovic_2019_04_30.zip", 997 ], 998 ) 999 1000 tf_http_archive( 1001 name = "rules_cc", 1002 sha256 = "cf3b76a90c86c0554c5b10f4b160f05af71d252026b71362c4674e2fb9936cf9", 1003 strip_prefix = "rules_cc-01d4a48911d5e7591ecb1c06d3b8af47fe872371", 1004 urls = [ 1005 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip", 1006 "https://github.com/bazelbuild/rules_cc/archive/01d4a48911d5e7591ecb1c06d3b8af47fe872371.zip", 1007 ], 1008 ) 1009 1010 tf_http_archive( 1011 name = "rules_python", 1012 sha256 = "aa96a691d3a8177f3215b14b0edc9641787abaaa30363a080165d06ab65e1161", 1013 urls = [ 1014 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz", 1015 "https://github.com/bazelbuild/rules_python/releases/download/0.0.1/rules_python-0.0.1.tar.gz", 1016 ], 1017 ) 1018 1019 tf_http_archive( 1020 name = "build_bazel_rules_android", 1021 sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", 1022 strip_prefix = "rules_android-0.1.1", 1023 urls = [ 1024 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_android/archive/v0.1.1.zip", 1025 "https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip", 1026 ], 1027 ) 1028 1029 # Apple and Swift rules. 1030 # https://github.com/bazelbuild/rules_apple/releases 1031 tf_http_archive( 1032 name = "build_bazel_rules_apple", 1033 sha256 = "ee9e6073aeb5a65c100cb9c44b0017c937706a4ae03176e14a7e78620a198079", 1034 strip_prefix = "rules_apple-5131f3d46794bf227d296c82f30c2499c9de3c5b", 1035 urls = [ 1036 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_apple/archive/5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz", 1037 "https://github.com/bazelbuild/rules_apple/archive/5131f3d46794bf227d296c82f30c2499c9de3c5b.tar.gz", 1038 ], 1039 ) 1040 1041 # https://github.com/bazelbuild/rules_swift/releases 1042 tf_http_archive( 1043 name = "build_bazel_rules_swift", 1044 sha256 = "d0833bc6dad817a367936a5f902a0c11318160b5e80a20ece35fb85a5675c886", 1045 strip_prefix = "rules_swift-3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8", 1046 urls = [ 1047 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_swift/archive/3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz", 1048 "https://github.com/bazelbuild/rules_swift/archive/3eeeb53cebda55b349d64c9fc144e18c5f7c0eb8.tar.gz", 1049 ], 1050 ) 1051 1052 # https://github.com/bazelbuild/apple_support/releases 1053 tf_http_archive( 1054 name = "build_bazel_apple_support", 1055 sha256 = "ad8ae80e93612b8151019367a3d1604d7a51c14480dae1254e10252007e8260c", 1056 strip_prefix = "apple_support-501b4afb27745c4813a88ffa28acd901408014e4", 1057 urls = [ 1058 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/apple_support/archive/501b4afb27745c4813a88ffa28acd901408014e4.tar.gz", 1059 "https://github.com/bazelbuild/apple_support/archive/501b4afb27745c4813a88ffa28acd901408014e4.tar.gz", 1060 ], 1061 ) 1062 1063 # https://github.com/bazelbuild/bazel-skylib/releases 1064 tf_http_archive( 1065 name = "bazel_skylib", 1066 sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", 1067 urls = [ 1068 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", 1069 "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", 1070 ], 1071 ) 1072 1073 # https://github.com/apple/swift-protobuf/releases 1074 tf_http_archive( 1075 name = "com_github_apple_swift_swift_protobuf", 1076 strip_prefix = "swift-protobuf-1.6.0/", 1077 sha256 = "4ccf6e5ea558e8287bf6331f9f6e52b3c321fca5f1d181d03680f415c32a6bba", 1078 urls = [ 1079 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/apple/swift-protobuf/archive/1.6.0.zip", 1080 "https://github.com/apple/swift-protobuf/archive/1.6.0.zip", 1081 ], 1082 ) 1083 1084 # https://github.com/google/xctestrunner/releases 1085 http_file( 1086 name = "xctestrunner", 1087 executable = 1, 1088 urls = [ 1089 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/xctestrunner/releases/download/0.2.9/ios_test_runner.par", 1090 "https://github.com/google/xctestrunner/releases/download/0.2.9/ios_test_runner.par", 1091 ], 1092 ) 1093 1094 tf_http_archive( 1095 name = "nlohmann_json_lib", 1096 build_file = clean_dep("//third_party:nlohmann_json.BUILD"), 1097 sha256 = "c377963a95989270c943d522bfefe7b889ef5ed0e1e15d535fd6f6f16ed70732", 1098 strip_prefix = "json-3.4.0", 1099 urls = [ 1100 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/nlohmann/json/archive/v3.4.0.tar.gz", 1101 "https://github.com/nlohmann/json/archive/v3.4.0.tar.gz", 1102 ], 1103 ) 1104 1105 tf_http_archive( 1106 name = "pybind11", 1107 urls = [ 1108 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/pybind/pybind11/archive/v2.6.0.tar.gz", 1109 "https://github.com/pybind/pybind11/archive/v2.6.0.tar.gz", 1110 ], 1111 sha256 = "90b705137b69ee3b5fc655eaca66d0dc9862ea1759226f7ccd3098425ae69571", 1112 strip_prefix = "pybind11-2.6.0", 1113 build_file = clean_dep("//third_party:pybind11.BUILD"), 1114 system_build_file = clean_dep("//third_party/systemlibs:pybind11.BUILD"), 1115 ) 1116 1117 tf_http_archive( 1118 name = "wrapt", 1119 build_file = clean_dep("//third_party:wrapt.BUILD"), 1120 sha256 = "8a6fb40e8f8b6a66b4ba81a4044c68e6a7b1782f21cfabc06fb765332b4c3e51", 1121 strip_prefix = "wrapt-1.11.1/src/wrapt", 1122 system_build_file = clean_dep("//third_party/systemlibs:wrapt.BUILD"), 1123 urls = [ 1124 "https://storage.googleapis.com/mirror.tensorflow.org/github.com/GrahamDumpleton/wrapt/archive/1.11.1.tar.gz", 1125 "https://github.com/GrahamDumpleton/wrapt/archive/1.11.1.tar.gz", 1126 ], 1127 ) 1128 tf_http_archive( 1129 name = "coremltools", 1130 sha256 = "0d594a714e8a5fd5bd740ad112ef59155c0482e25fdc8f8efa5758f90abdcf1e", 1131 strip_prefix = "coremltools-3.3", 1132 build_file = clean_dep("//third_party:coremltools.BUILD"), 1133 urls = [ 1134 "http://mirror.tensorflow.org/github.com/apple/coremltools/archive/3.3.zip", 1135 "https://github.com/apple/coremltools/archive/3.3.zip", 1136 ], 1137 ) 1138 1139def tf_bind(): 1140 """Bind targets for some external repositories""" 1141 ############################################################################## 1142 # BIND DEFINITIONS 1143 # 1144 # Please do not add bind() definitions unless we have no other choice. 1145 # If that ends up being the case, please leave a comment explaining 1146 # why we can't depend on the canonical build target. 1147 1148 # Needed by Protobuf 1149 native.bind( 1150 name = "grpc_cpp_plugin", 1151 actual = "@com_github_grpc_grpc//src/compiler:grpc_cpp_plugin", 1152 ) 1153 native.bind( 1154 name = "grpc_python_plugin", 1155 actual = "@com_github_grpc_grpc//src/compiler:grpc_python_plugin", 1156 ) 1157 1158 native.bind( 1159 name = "grpc_lib", 1160 actual = "@com_github_grpc_grpc//:grpc++", 1161 ) 1162 1163 native.bind( 1164 name = "grpc_lib_unsecure", 1165 actual = "@com_github_grpc_grpc//:grpc++_unsecure", 1166 ) 1167 1168 # Needed by Protobuf 1169 native.bind( 1170 name = "python_headers", 1171 actual = clean_dep("//third_party/python_runtime:headers"), 1172 ) 1173 1174 # Needed by Protobuf 1175 native.bind( 1176 name = "six", 1177 actual = "@six_archive//:six", 1178 ) 1179