# This file is licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Empty stub library. This doesn't include zlib and doesn't set the LLVM
# `#define`s to enable it.
cc_library(
    name = "zlib",
    visibility = ["//visibility:public"],
)
