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

component("geometry") {
  sources = [
    "../gfx_export.h",
    "box_f.cc",
    "box_f.h",
    "cubic_bezier.cc",
    "cubic_bezier.h",
    "dip_util.cc",
    "dip_util.h",
    "insets.cc",
    "insets.h",
    "insets_base.h",
    "insets_f.cc",
    "insets_f.h",
    "matrix3_f.cc",
    "matrix3_f.h",
    "point.cc",
    "point.h",
    "point3_f.cc",
    "point3_f.h",
    "point_conversions.cc",
    "point_conversions.h",
    "point_f.cc",
    "point_f.h",
    "quad_f.cc",
    "quad_f.h",
    "rect.cc",
    "rect.h",
    "rect_conversions.cc",
    "rect_conversions.h",
    "rect_f.cc",
    "rect_f.h",
    "safe_integer_conversions.h",
    "scroll_offset.cc",
    "scroll_offset.h",
    "size.cc",
    "size.h",
    "size_conversions.cc",
    "size_conversions.h",
    "size_f.cc",
    "size_f.h",
    "vector2d.cc",
    "vector2d.h",
    "vector2d_conversions.cc",
    "vector2d_conversions.h",
    "vector2d_f.cc",
    "vector2d_f.h",
    "vector3d_f.cc",
    "vector3d_f.h",
  ]

  defines = [ "GFX_IMPLEMENTATION" ]

  deps = [
    "//base",
    "//ui/gfx:gfx_export",
  ]

  if (is_android && !is_debug) {
    configs -= [ "//build/config/compiler:optimize" ]
    configs += [ "//build/config/compiler:optimize_max" ]
  }
}
