# Copyright 2014 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.

source_set("murmurhash3") {
  sources = [
    "src/MurmurHash3.cpp",
    "src/MurmurHash3.h",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
}

source_set("pmurhash") {
  sources = [
    "src/PMurHash.c",
    "src/PMurHash.h",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
}

source_set("cityhash") {
  sources = [
    "src/City.cpp",
    "src/City.h",
  ]
  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  if (is_win) {
    # TODO(jschuh): http://code.google.com/p/smhasher/issues/detail?id=19
    cflags = [ "/wd4267" ]
  }
}
