diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 00000000000..543df92c16a --- /dev/null +++ b/.bazelrc @@ -0,0 +1,3 @@ +common --enable_bzlmod +build --cxxopt='-std=c++17' +build:windows --cxxopt='/std:c++17' diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 00000000000..e8be68404bc --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +7.6.1 diff --git a/.gitignore b/.gitignore index 950a145bad1..ccc37f787ff 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ build-*/ # Bazel artifacts **/bazel-* +MODULE.bazel.lock # Emacs autosaves *~ diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 0e03f4e7867..00000000000 --- a/.gitmodules +++ /dev/null @@ -1,6 +0,0 @@ -[submodule "googletest"] - path = third_party/googletest - url = https://github.com/google/googletest -[submodule "cpuinfo"] - path = third_party/cpuinfo - url = https://github.com/pytorch/cpuinfo diff --git a/BUILD b/BUILD index 342aad78198..3c3f92cf596 100644 --- a/BUILD +++ b/BUILD @@ -1,9 +1,9 @@ # Ruy is not BLAS -load("//tools/build_defs/license:license.bzl", "license") +load("@rules_license//rules:license.bzl", "license") package( - default_applicable_licenses = ["//third_party/ruy:license"], + default_applicable_licenses = ["@com_google_ruy//:license"], licenses = ["notice"], # Apache 2.0 ) diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 00000000000..dfdddcba71d --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,31 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +module( + name = "ruy", + version = "", + repo_name = "com_google_ruy", +) + +# -- bazel_dep definitions -- # +bazel_dep(name = "bazel_skylib", version = "1.8.1") +bazel_dep(name = "cpuinfo", version = "0.0.0-20240417-3c8b153") +bazel_dep(name = "googletest", version = "1.17.0", repo_name = "com_google_googletest") +bazel_dep(name = "platforms", version = "1.0.0") +bazel_dep(name = "rules_cc", version = "0.2.2") +bazel_dep(name = "rules_license", version = "1.0.0") + +# -- use_repo_rule statements -- # + +# -- repo definitions -- # diff --git a/WORKSPACE b/WORKSPACE index da4fe9f596d..103d4116d08 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -19,26 +19,56 @@ workspace(name = "com_google_ruy") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -maybe( - local_repository, - name = "com_google_googletest", - path = "third_party/googletest", +http_archive( + name = "bazel_features", + sha256 = "06a9691becc357c1e4af011b9fb3239097503ce00607d9eb6b11ea0fac304039", + strip_prefix = "bazel_features-1.35.0", + url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.35.0/bazel_features-v1.35.0.tar.gz", ) -maybe( - new_local_repository, - name = "cpuinfo", - path = "third_party/cpuinfo", - build_file = "@//third_party:cpuinfo.BUILD", -) +load("@bazel_features//:deps.bzl", "bazel_features_deps") + +bazel_features_deps() # skylib utility for additional bazel functionality. -skylib_version = "0.9.0" http_archive( name = "bazel_skylib", - type = "tar.gz", - url = "https://github.com/bazelbuild/bazel-skylib/releases/download/{}/bazel_skylib-{}.tar.gz".format (skylib_version, skylib_version), - sha256 = "1dde365491125a3db70731e25658dfdd3bc5dbdfd11b840b3e987ecf043c7ca0", + sha256 = "51b5105a760b353773f904d2bbc5e664d0987fbaf22265164de65d43e910d8ac", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.8.1/bazel-skylib-1.8.1.tar.gz", + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.8.1/bazel-skylib-1.8.1.tar.gz", + ], ) + +load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") + +bazel_skylib_workspace() + load("@bazel_skylib//lib:versions.bzl", "versions") + versions.check(minimum_bazel_version = "2.0.0") + +http_archive( + name = "rules_cc", + sha256 = "e50f24506011841e2ac83d9733a0c7e058eb3a10a6e3e10baa9c7942ff5f4767", + strip_prefix = "rules_cc-0.2.2", + url = "https://github.com/bazelbuild/rules_cc/releases/download/0.2.2/rules_cc-0.2.2.tar.gz", +) + +load("@rules_cc//cc:extensions.bzl", "compatibility_proxy_repo") + +compatibility_proxy_repo() + +http_archive( + name = "com_google_googletest", + sha256 = "65fab701d9829d38cb77c14acdc431d2108bfdbf8979e40eb8ae567edf10b27c", + strip_prefix = "googletest-1.17.0", + url = "https://github.com/google/googletest/releases/download/v1.17.0/googletest-1.17.0.tar.gz", +) + +http_archive( + name = "cpuinfo", + sha256 = "87fc79472eb30b734cbe700dfe3edc0bdb96c33e3ce44e48ab327bbd8783f07f", + strip_prefix = "cpuinfo-3c8b1533ac03dd6531ab6e7b9245d488f13a82a5", + url = "https://github.com/pytorch/cpuinfo/archive/3c8b1533ac03dd6531ab6e7b9245d488f13a82a5.tar.gz", +) diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod new file mode 100644 index 00000000000..8364d8047b1 --- /dev/null +++ b/WORKSPACE.bzlmod @@ -0,0 +1,17 @@ +# Copyright 2020 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Workspace file for the Ruy project. + +workspace(name = "com_google_ruy") diff --git a/example/BUILD b/example/BUILD index 44a1804fb85..24ff4b9f8f3 100644 --- a/example/BUILD +++ b/example/BUILD @@ -1,7 +1,7 @@ -load("//third_party/bazel_rules/rules_cc/cc:cc_binary.bzl", "cc_binary") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") package( - default_applicable_licenses = ["//third_party/ruy:license"], + default_applicable_licenses = ["@com_google_ruy//:license"], licenses = ["notice"], # Apache 2.0 ) diff --git a/ruy/BUILD b/ruy/BUILD index 75c01ee1918..ea5d1210a66 100644 --- a/ruy/BUILD +++ b/ruy/BUILD @@ -2,15 +2,15 @@ load("@bazel_skylib//:bzl_library.bzl", "bzl_library") load("@bazel_skylib//lib:selects.bzl", "selects") -load("//third_party/bazel_rules/rules_cc/cc:cc_library.bzl", "cc_library") -load("//third_party/bazel_rules/rules_cc/cc:cc_test.bzl", "cc_test") +load("@rules_cc//cc:cc_library.bzl", "cc_library") +load("@rules_cc//cc:cc_test.bzl", "cc_test") load(":build_defs.bzl", "ruy_copts", "ruy_copts_avx", "ruy_copts_avx2_fma", "ruy_copts_avx512") load(":build_defs.oss.bzl", "ruy_linkopts_thread_standard_library") load(":ruy_test.bzl", "ruy_benchmark", "ruy_test") load(":ruy_test_ext.oss.bzl", "ruy_test_ext_defines", "ruy_test_ext_deps") package( - default_applicable_licenses = ["//third_party/ruy:license"], + default_applicable_licenses = ["@com_google_ruy//:license"], licenses = ["notice"], # Apache 2.0 ) @@ -34,10 +34,8 @@ config_setting( name = "windows_msvc", constraint_values = [ "@platforms//os:windows", + "@bazel_tools//tools/cpp:msvc", ], - flag_values = { - "//tools/cpp:compiler": "msvc", - }, ) config_setting( diff --git a/ruy/build_defs.bzl b/ruy/build_defs.bzl index 28600a7cc3a..9dbefdf794d 100644 --- a/ruy/build_defs.bzl +++ b/ruy/build_defs.bzl @@ -4,7 +4,7 @@ # Returns warnings flags to use for all ruy code. def ruy_copts_warnings(): return select({ - "//tools/cc_target_os:windows": [ + "@platforms//os:windows": [ # We run into trouble on Windows toolchains with warning flags, # as mentioned in the comments below on each flag. # We could be more aggressive in enabling supported warnings on each diff --git a/ruy/build_defs.oss.bzl b/ruy/build_defs.oss.bzl index 6d34ba61f1b..a1481cd3dcb 100644 --- a/ruy/build_defs.oss.bzl +++ b/ruy/build_defs.oss.bzl @@ -10,6 +10,6 @@ def ruy_linkopts_thread_standard_library(): # with Bazel. Instead we do the following, which is copied from # https://github.com/abseil/abseil-cpp/blob/1112609635037a32435de7aa70a9188dcb591458/absl/base/BUILD.bazel#L155 return select({ - "//tools/cc_target_os:windows": [], + "@platforms//os:windows": [], "//conditions:default": ["-pthread"], }) diff --git a/ruy/pack_arm.h b/ruy/pack_arm.h index ba8964d6ac3..b72aa783838 100644 --- a/ruy/pack_arm.h +++ b/ruy/pack_arm.h @@ -489,8 +489,7 @@ struct PackImpl, float, } }; #endif // (RUY_PLATFORM_NEON_32) -#endif // (RUY_PLATFORM_NEON_64 || RUY_PLATFORM_NEON_32) && \ - // RUY_OPT(ASM) +#endif // (RUY_PLATFORM_NEON_64 || RUY_PLATFORM_NEON_32) && RUY_OPT(ASM) #if RUY_PLATFORM_NEON_64 && RUY_OPT(ASM) diff --git a/ruy/profiler/BUILD b/ruy/profiler/BUILD index 63a4cfa3dc6..73ecee98642 100644 --- a/ruy/profiler/BUILD +++ b/ruy/profiler/BUILD @@ -1,11 +1,11 @@ # A minimalistic profiler sampling pseudo-stacks +load("@rules_cc//cc:cc_library.bzl", "cc_library") +load("@rules_cc//cc:cc_test.bzl", "cc_test") load("//ruy:build_defs.oss.bzl", "ruy_linkopts_thread_standard_library") -load("//third_party/bazel_rules/rules_cc/cc:cc_library.bzl", "cc_library") -load("//third_party/bazel_rules/rules_cc/cc:cc_test.bzl", "cc_test") package( - default_applicable_licenses = ["//third_party/ruy:license"], + default_applicable_licenses = ["@com_google_ruy//:license"], licenses = ["notice"], # Apache 2.0 ) diff --git a/ruy/ruy_test.bzl b/ruy/ruy_test.bzl index 8044985f000..1fd54f97bcb 100644 --- a/ruy/ruy_test.bzl +++ b/ruy/ruy_test.bzl @@ -1,8 +1,8 @@ # Provides the ruy_test macro for type-parametrized tests. """ruy_test is a macro for building a test with multiple paths corresponding to tuples of types for LHS, RHS, accumulator and destination.""" -load("//third_party/bazel_rules/rules_cc/cc:cc_binary.bzl", "cc_binary") -load("//third_party/bazel_rules/rules_cc/cc:cc_test.bzl", "cc_test") +load("@rules_cc//cc:cc_binary.bzl", "cc_binary") +load("@rules_cc//cc:cc_test.bzl", "cc_test") def ruy_test(name, srcs, lhs_rhs_accum_dst, copts, tags = [], deps = None): for (lhs, rhs, accum, dst) in lhs_rhs_accum_dst: diff --git a/third_party/BUILD b/third_party/BUILD deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt deleted file mode 100644 index 4c82d834e4b..00000000000 --- a/third_party/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# This file is generated (whence no license header). Do not edit! -# To regenerate, run: -# cmake/bazel_to_cmake.sh - -ruy_add_all_subdirs() diff --git a/third_party/cpuinfo b/third_party/cpuinfo deleted file mode 160000 index 082deffc80c..00000000000 --- a/third_party/cpuinfo +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 082deffc80ce517f81dc2f3aebe6ba671fcd09c9 diff --git a/third_party/cpuinfo.BUILD b/third_party/cpuinfo.BUILD deleted file mode 100644 index 6d68cd5b53d..00000000000 --- a/third_party/cpuinfo.BUILD +++ /dev/null @@ -1,386 +0,0 @@ -# cpuinfo, a library to detect information about the host CPU -package(default_visibility = ["//visibility:public"]) - -licenses(["notice"]) - -exports_files(["LICENSE"]) - -C99OPTS = [ - "-std=gnu99", # gnu99, not c99, because dprintf is used - "-Wno-vla", - "-D_GNU_SOURCE=1", # to use CPU_SETSIZE - "-DCPUINFO_INTERNAL=", - "-DCPUINFO_PRIVATE=", -] - -# Source code common to all platforms. -COMMON_SRCS = [ - "src/api.c", - "src/init.c", - "src/cache.c", -] - -# Architecture-specific sources and headers. -X86_SRCS = [ - "src/x86/cache/descriptor.c", - "src/x86/cache/deterministic.c", - "src/x86/cache/init.c", - "src/x86/info.c", - "src/x86/init.c", - "src/x86/isa.c", - "src/x86/name.c", - "src/x86/topology.c", - "src/x86/uarch.c", - "src/x86/vendor.c", -] - -ARM_SRCS = [ - "src/arm/cache.c", - "src/arm/uarch.c", -] - -# Platform-specific sources and headers -LINUX_SRCS = [ - "src/linux/cpulist.c", - "src/linux/multiline.c", - "src/linux/processors.c", - "src/linux/smallfile.c", -] - -MOCK_LINUX_SRCS = [ - "src/linux/mockfile.c", -] - -MACH_SRCS = [ - "src/mach/topology.c", -] - -EMSCRIPTEN_SRCS = [ - "src/emscripten/init.c", -] - -LINUX_X86_SRCS = [ - "src/x86/linux/cpuinfo.c", - "src/x86/linux/init.c", -] - -LINUX_ARM_SRCS = [ - "src/arm/linux/chipset.c", - "src/arm/linux/clusters.c", - "src/arm/linux/cpuinfo.c", - "src/arm/linux/hwcap.c", - "src/arm/linux/init.c", - "src/arm/linux/midr.c", -] - -LINUX_ARM32_SRCS = LINUX_ARM_SRCS + ["src/arm/linux/aarch32-isa.c"] - -LINUX_ARM64_SRCS = LINUX_ARM_SRCS + ["src/arm/linux/aarch64-isa.c"] - -ANDROID_ARM_SRCS = [ - "src/arm/android/properties.c", -] - -WINDOWS_X86_SRCS = [ - "src/x86/windows/init.c", -] - -MACH_X86_SRCS = [ - "src/x86/mach/init.c", -] - -MACH_ARM_SRCS = [ - "src/arm/mach/init.c", -] - -cc_library( - name = "clog", - srcs = [ - "deps/clog/src/clog.c", - ], - hdrs = [ - "deps/clog/include/clog.h", - ], - copts = select({ - ":windows_x86_64": [], - "//conditions:default": ["-Wno-unused-result"], - }), - linkopts = select({ - ":android": ["-llog"], - "//conditions:default": [], - }), - linkstatic = select({ - # https://github.com/bazelbuild/bazel/issues/11552 - ":macos_x86_64": False, - "//conditions:default": True, - }), - defines = select({ - # When linkstatic=False, we need default visibility - ":macos_x86_64": ["CLOG_VISIBILITY="], - "//conditions:default": [], - }), - strip_include_prefix = "deps/clog/include", -) - -cc_library( - name = "cpuinfo_impl", - srcs = select({ - ":linux_x86_64": COMMON_SRCS + X86_SRCS + LINUX_SRCS + LINUX_X86_SRCS, - ":linux_arm": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS, - ":linux_armhf": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS, - ":linux_armv7a": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS, - ":linux_armeabi": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS, - ":linux_aarch64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS, - ":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, - ":windows_x86_64": COMMON_SRCS + X86_SRCS + WINDOWS_X86_SRCS, - ":android_armv7": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS + ANDROID_ARM_SRCS, - ":android_arm64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS + ANDROID_ARM_SRCS, - ":android_x86": COMMON_SRCS + X86_SRCS + LINUX_SRCS + LINUX_X86_SRCS, - ":android_x86_64": COMMON_SRCS + X86_SRCS + LINUX_SRCS + LINUX_X86_SRCS, - ":ios_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, - ":ios_x86": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, - ":ios_armv7": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":ios_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":ios_arm64e": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":watchos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, - ":watchos_x86": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, - ":watchos_armv7k": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":watchos_arm64_32": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":tvos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS, - ":tvos_arm64": COMMON_SRCS + MACH_SRCS + MACH_ARM_SRCS, - ":emscripten": COMMON_SRCS + EMSCRIPTEN_SRCS, - }), - copts = select({ - ":windows_x86_64": [], - "//conditions:default": C99OPTS, - }) + [ - "-Iexternal/cpuinfo/include", - "-Iexternal/cpuinfo/src", - ], - linkstatic = select({ - # https://github.com/bazelbuild/bazel/issues/11552 - ":macos_x86_64": False, - "//conditions:default": True, - }), - # Headers must be in textual_hdrs to allow us to set the standard to C99 - textual_hdrs = [ - "include/cpuinfo.h", - "src/linux/api.h", - "src/mach/api.h", - "src/cpuinfo/common.h", - "src/cpuinfo/internal-api.h", - "src/cpuinfo/log.h", - "src/cpuinfo/utils.h", - "src/x86/api.h", - "src/x86/cpuid.h", - "src/x86/linux/api.h", - "src/arm/android/api.h", - "src/arm/linux/api.h", - "src/arm/linux/cp.h", - "src/arm/api.h", - "src/arm/midr.h", - ], - deps = [ - ":clog", - ], -) - -cc_library( - name = "cpuinfo", - hdrs = [ - "include/cpuinfo.h", - ], - strip_include_prefix = "include", - deps = [ - ":cpuinfo_impl", - ], -) - -cc_library( - name = "cpuinfo_with_unstripped_include_path", - hdrs = [ - "include/cpuinfo.h", - ], - deps = [ - ":cpuinfo_impl", - ], -) - -############################# Build configurations ############################# - -config_setting( - name = "linux_x86_64", - values = {"cpu": "k8"}, -) - -config_setting( - name = "linux_arm", - values = {"cpu": "arm"}, -) - -config_setting( - name = "linux_armhf", - values = {"cpu": "armhf"}, -) - -config_setting( - name = "linux_armv7a", - values = {"cpu": "armv7a"}, -) - -config_setting( - name = "linux_armeabi", - values = {"cpu": "armeabi"}, -) - -config_setting( - name = "linux_aarch64", - values = {"cpu": "aarch64"}, -) - -config_setting( - name = "macos_x86_64", - values = { - "apple_platform_type": "macos", - "cpu": "darwin", - }, -) - -config_setting( - name = "android", - values = {"crosstool_top": "//external:android/crosstool"}, -) - -config_setting( - name = "windows_x86_64", - values = {"cpu": "x64_windows"}, -) - -config_setting( - name = "android_armv7", - values = { - "crosstool_top": "//external:android/crosstool", - "cpu": "armeabi-v7a", - }, - visibility = ["//visibility:public"], -) - -config_setting( - name = "android_arm64", - values = { - "crosstool_top": "//external:android/crosstool", - "cpu": "arm64-v8a", - }, - visibility = ["//visibility:public"], -) - -config_setting( - name = "android_x86", - values = { - "crosstool_top": "//external:android/crosstool", - "cpu": "x86", - }, - visibility = ["//visibility:public"], -) - -config_setting( - name = "android_x86_64", - values = { - "crosstool_top": "//external:android/crosstool", - "cpu": "x86_64", - }, - visibility = ["//visibility:public"], -) - -config_setting( - name = "ios_armv7", - values = { - "apple_platform_type": "ios", - "cpu": "ios_armv7", - }, -) - -config_setting( - name = "ios_arm64", - values = { - "apple_platform_type": "ios", - "cpu": "ios_arm64", - }, -) - -config_setting( - name = "ios_arm64e", - values = { - "apple_platform_type": "ios", - "cpu": "ios_arm64e", - }, -) - -config_setting( - name = "ios_x86", - values = { - "apple_platform_type": "ios", - "cpu": "ios_i386", - }, -) - -config_setting( - name = "ios_x86_64", - values = { - "apple_platform_type": "ios", - "cpu": "ios_x86_64", - }, -) - -config_setting( - name = "watchos_armv7k", - values = { - "apple_platform_type": "watchos", - "cpu": "watchos_armv7k", - }, -) - -config_setting( - name = "watchos_arm64_32", - values = { - "apple_platform_type": "watchos", - "cpu": "watchos_arm64_32", - }, -) - -config_setting( - name = "watchos_x86", - values = { - "apple_platform_type": "watchos", - "cpu": "watchos_i386", - }, -) - -config_setting( - name = "watchos_x86_64", - values = { - "apple_platform_type": "watchos", - "cpu": "watchos_x86_64", - }, -) - -config_setting( - name = "tvos_arm64", - values = { - "apple_platform_type": "tvos", - "cpu": "tvos_arm64", - }, -) - -config_setting( - name = "tvos_x86_64", - values = { - "apple_platform_type": "tvos", - "cpu": "tvos_x86_64", - }, -) - -config_setting( - name = "emscripten", - values = {"crosstool_top": "//toolchain:emscripten"}, -) diff --git a/third_party/googletest b/third_party/googletest deleted file mode 160000 index 6c58c11d549..00000000000 --- a/third_party/googletest +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6c58c11d5497b6ee1df3cb400ce30deb72fc28c0