# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Please do not add more entries to this list. We plan to remove
# abseil-cpp from the Fuchsia platform source tree once cobalt
# moves out-of-tree.
visibility = [
  "$cobalt_root/*",
  "//third_party/abseil-cpp/*",
  "//third_party/grpc:*",
  "//third_party/tink/*",
]

group("abseil-cpp") {
  public_deps = [ "absl" ]
}

group("absl") {
  public_deps = [ "absl" ]
}

config("abseil_config") {
  include_dirs = [ "//third_party/abseil-cpp" ]

  cflags = [
    # Google style does not use unsigned integers, though STL containers
    # have unsigned types.
    "-Wno-sign-compare",
    "-Wno-missing-field-initializers",

    "-Wno-conversion",

    # TODO(fxbug.dev/42055162): This can be removed once all warning options
    # bellow are supported by the current Fuchsia Clang toolchain.
    "-Wno-unknown-warning-option",

    # TODO: disable -Wimplicit-int-float-conversion which has been introduced
    # in https://reviews.llvm.org/D64666 and is failing in duration.cc:190:12
    "-Wno-implicit-int-float-conversion",

    # TODO(fxbug.dev/42055286): -Warray-parameter is failing in wyhash.cc:31.
    "-Wno-array-parameter",

    # TODO(fxbug.dev/42055484): -Wdeprecated-builtins is failing in type_traits.h:293.
    "-Wno-deprecated-builtins",
  ]
}
