# Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.


static_library("libdouble_conversion") {
  configs += [ "../../..:dart_config", ]
  sources = [
    "bignum.cc",
    "bignum.h",
    "bignum-dtoa.cc",
    "bignum-dtoa.h",
    "cached-powers.cc",
    "cached-powers.h",
    "diy-fp.cc",
    "diy-fp.h",
    "double-conversion.cc",
    "double-conversion.h",
    "fast-dtoa.cc",
    "fast-dtoa.h",
    "fixed-dtoa.cc",
    "fixed-dtoa.h",
    "ieee.h",
    "strtod.cc",
    "strtod.h",
    "utils.h",
  ]
  include_dirs = [
    ".",
  ]
}

