# Copyright 2014 PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

group("third_party") {
  deps = [
    ":bigint",
    ":freetype",
    ":safemath",
  ]
}

static_library("bigint") {
  sources = [
    "bigint/BigInteger.hh",
    "bigint/BigIntegerLibrary.hh",
    "bigint/BigIntegerUtils.hh",
    "bigint/BigUnsigned.hh",
    "bigint/NumberlikeArray.hh",
    "bigint/BigUnsignedInABase.hh",
    "bigint/BigInteger.cc",
    "bigint/BigIntegerUtils.cc",
    "bigint/BigUnsigned.cc",
    "bigint/BigUnsignedInABase.cc",
  ]
}

static_library("freetype") {
  defines = [
    "FT2_BUILD_LIBRARY",
  ]
  include_dirs = [
    "freetype/include",
  ]
  sources = [
    "freetype/include/freetype.h",
    "freetype/include/ft2build.h",
    "freetype/include/ftmm.h",
    "freetype/include/ftotval.h",
    "freetype/include/ftoutln.h",
    "freetype/include/tttables.h",
    "freetype/include/internal/ftobjs.h",
    "freetype/include/internal/ftstream.h",
    "freetype/include/internal/tttypes.h",
    "freetype/src/cff/cffobjs.h",
    "freetype/src/cff/cfftypes.h",
    "freetype/src/cff/cff.c",
    "freetype/src/base/ftbase.c",
    "freetype/src/base/ftbitmap.c",
    "freetype/src/base/ftglyph.c",
    "freetype/src/base/ftinit.c",
    "freetype/src/base/ftlcdfil.c",
    "freetype/src/base/ftmm.c",
    "freetype/src/base/ftsystem.c",
    "freetype/src/psaux/psaux.c",
    "freetype/src/pshinter/pshinter.c",
    "freetype/src/psnames/psmodule.c",
    "freetype/src/raster/raster.c",
    "freetype/src/sfnt/sfnt.c",
    "freetype/src/smooth/smooth.c",
    "freetype/src/truetype/truetype.c",
    "freetype/src/type1/type1.c",
    "freetype/src/cid/type1cid.c",
  ]
}

component("safemath") {
  sources = [
    "logging.h",
    "macros.h",
    "template_util.h",
    "numerics/safe_conversions.h",
    "numerics/safe_conversions_impl.h",
    "numerics/safe_math.h",
    "numerics/safe_math_impl.h",
  ]
}

