# 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-dtoa.cc",
    "bignum-dtoa.h",
    "bignum.cc",
    "bignum.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 = [ "." ]
}
