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

import("//third_party/abseil-cpp/absl.gni")

absl_source_set("bits") {
  public = [
    "bits.h",
    "internal/bits.h",
  ]
  deps = [
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
  ]
}

absl_source_set("int128") {
  sources = [
    "int128.cc",
    "int128_have_intrinsic.inc",
    "int128_no_intrinsic.inc",
  ]
  public = [ "int128.h" ]
  deps = [
    ":bits",
    "//third_party/abseil-cpp/absl/base:config",
    "//third_party/abseil-cpp/absl/base:core_headers",
    "//third_party/abseil-cpp/absl/types:compare",
  ]
}

absl_test("int128_test") {
  sources = [
    "int128_stream_test.cc",
    "int128_test.cc",
  ]
  deps = [
    ":int128",
    "//third_party/abseil-cpp/absl/base",
    "//third_party/abseil-cpp/absl/hash:hash_testing",
    "//third_party/abseil-cpp/absl/meta:type_traits",
    "//third_party/abseil-cpp/absl/strings",
    "//third_party/abseil-cpp/absl/types:compare",
  ]
}

absl_source_set("representation") {
  public = [ "internal/representation.h" ]
  deps = [ "//third_party/abseil-cpp/absl/base:config" ]
}
