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

config("snappy_config") {
  include_dirs = [ "src" ]

  # These OS-specific generated headers were made by running the configure
  # script offline.
  if (is_win) {
    include_dirs += [ "win32" ]
  } else if (is_mac) {
    include_dirs += [ "mac" ]
  } else {
    include_dirs += [ "linux" ]
  }
}

static_library("snappy") {
  sources = [
    "src/snappy-internal.h",
    "src/snappy-sinksource.cc",
    "src/snappy-sinksource.h",
    "src/snappy-stubs-internal.cc",
    "src/snappy-stubs-internal.h",
    "src/snappy.cc",
    "src/snappy.h",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
  public_configs = [ ":snappy_config" ]

  if (is_clang) {
    # snappy-stubs-internal.h unapologetically has: using namespace std
    # https://code.google.com/p/snappy/issues/detail?id=70
    configs -= [ "//build/config/clang:extra_warnings" ]
  }
}
