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

import("../pdfium.gni")
import("../testing/test.gni")

assert(pdf_enable_xfa)

source_set("fxbarcode") {
  sources = [
    "BC_Library.cpp",
    "BC_Library.h",
    "BC_TwoDimWriter.cpp",
    "BC_TwoDimWriter.h",
    "BC_Writer.cpp",
    "BC_Writer.h",
    "cbc_codabar.cpp",
    "cbc_codabar.h",
    "cbc_code128.cpp",
    "cbc_code128.h",
    "cbc_code39.cpp",
    "cbc_code39.h",
    "cbc_codebase.cpp",
    "cbc_codebase.h",
    "cbc_datamatrix.cpp",
    "cbc_datamatrix.h",
    "cbc_ean13.cpp",
    "cbc_ean13.h",
    "cbc_ean8.cpp",
    "cbc_ean8.h",
    "cbc_eancode.cpp",
    "cbc_eancode.h",
    "cbc_onecode.cpp",
    "cbc_onecode.h",
    "cbc_pdf417i.cpp",
    "cbc_pdf417i.h",
    "cbc_qrcode.cpp",
    "cbc_qrcode.h",
    "cbc_upca.cpp",
    "cbc_upca.h",
    "cfx_barcode.cpp",
    "cfx_barcode.h",
    "common/BC_CommonBitMatrix.cpp",
    "common/BC_CommonBitMatrix.h",
    "common/BC_CommonByteMatrix.cpp",
    "common/BC_CommonByteMatrix.h",
    "common/reedsolomon/BC_ReedSolomon.cpp",
    "common/reedsolomon/BC_ReedSolomon.h",
    "common/reedsolomon/BC_ReedSolomonGF256.cpp",
    "common/reedsolomon/BC_ReedSolomonGF256.h",
    "common/reedsolomon/BC_ReedSolomonGF256Poly.cpp",
    "common/reedsolomon/BC_ReedSolomonGF256Poly.h",
    "datamatrix/BC_ASCIIEncoder.cpp",
    "datamatrix/BC_ASCIIEncoder.h",
    "datamatrix/BC_Base256Encoder.cpp",
    "datamatrix/BC_Base256Encoder.h",
    "datamatrix/BC_C40Encoder.cpp",
    "datamatrix/BC_C40Encoder.h",
    "datamatrix/BC_DataMatrixSymbolInfo144.cpp",
    "datamatrix/BC_DataMatrixSymbolInfo144.h",
    "datamatrix/BC_DataMatrixWriter.cpp",
    "datamatrix/BC_DataMatrixWriter.h",
    "datamatrix/BC_DefaultPlacement.cpp",
    "datamatrix/BC_DefaultPlacement.h",
    "datamatrix/BC_EdifactEncoder.cpp",
    "datamatrix/BC_EdifactEncoder.h",
    "datamatrix/BC_Encoder.cpp",
    "datamatrix/BC_Encoder.h",
    "datamatrix/BC_EncoderContext.cpp",
    "datamatrix/BC_EncoderContext.h",
    "datamatrix/BC_ErrorCorrection.cpp",
    "datamatrix/BC_ErrorCorrection.h",
    "datamatrix/BC_HighLevelEncoder.cpp",
    "datamatrix/BC_HighLevelEncoder.h",
    "datamatrix/BC_SymbolInfo.cpp",
    "datamatrix/BC_SymbolInfo.h",
    "datamatrix/BC_TextEncoder.cpp",
    "datamatrix/BC_TextEncoder.h",
    "datamatrix/BC_X12Encoder.cpp",
    "datamatrix/BC_X12Encoder.h",
    "oned/BC_OneDimWriter.cpp",
    "oned/BC_OneDimWriter.h",
    "oned/BC_OnedCodaBarWriter.cpp",
    "oned/BC_OnedCodaBarWriter.h",
    "oned/BC_OnedCode128Writer.cpp",
    "oned/BC_OnedCode128Writer.h",
    "oned/BC_OnedCode39Writer.cpp",
    "oned/BC_OnedCode39Writer.h",
    "oned/BC_OnedEAN13Writer.cpp",
    "oned/BC_OnedEAN13Writer.h",
    "oned/BC_OnedEAN8Writer.cpp",
    "oned/BC_OnedEAN8Writer.h",
    "oned/BC_OnedEANChecksum.cpp",
    "oned/BC_OnedEANChecksum.h",
    "oned/BC_OnedEANWriter.cpp",
    "oned/BC_OnedEANWriter.h",
    "oned/BC_OnedUPCAWriter.cpp",
    "oned/BC_OnedUPCAWriter.h",
    "pdf417/BC_PDF417.cpp",
    "pdf417/BC_PDF417.h",
    "pdf417/BC_PDF417BarcodeMatrix.cpp",
    "pdf417/BC_PDF417BarcodeMatrix.h",
    "pdf417/BC_PDF417BarcodeRow.cpp",
    "pdf417/BC_PDF417BarcodeRow.h",
    "pdf417/BC_PDF417ErrorCorrection.cpp",
    "pdf417/BC_PDF417ErrorCorrection.h",
    "pdf417/BC_PDF417HighLevelEncoder.cpp",
    "pdf417/BC_PDF417HighLevelEncoder.h",
    "pdf417/BC_PDF417Writer.cpp",
    "pdf417/BC_PDF417Writer.h",
    "qrcode/BC_QRCodeWriter.cpp",
    "qrcode/BC_QRCodeWriter.h",
    "qrcode/BC_QRCoder.cpp",
    "qrcode/BC_QRCoder.h",
    "qrcode/BC_QRCoderBitVector.cpp",
    "qrcode/BC_QRCoderBitVector.h",
    "qrcode/BC_QRCoderECBlockData.cpp",
    "qrcode/BC_QRCoderECBlockData.h",
    "qrcode/BC_QRCoderEncoder.cpp",
    "qrcode/BC_QRCoderEncoder.h",
    "qrcode/BC_QRCoderErrorCorrectionLevel.cpp",
    "qrcode/BC_QRCoderErrorCorrectionLevel.h",
    "qrcode/BC_QRCoderMaskUtil.cpp",
    "qrcode/BC_QRCoderMaskUtil.h",
    "qrcode/BC_QRCoderMatrixUtil.cpp",
    "qrcode/BC_QRCoderMatrixUtil.h",
    "qrcode/BC_QRCoderMode.cpp",
    "qrcode/BC_QRCoderMode.h",
    "qrcode/BC_QRCoderVersion.cpp",
    "qrcode/BC_QRCoderVersion.h",
  ]
  deps = [
    "../core/fxcrt",
    "../core/fxge",
    "../third_party:bigint",
  ]
  configs += [ "../:pdfium_strict_config" ]
  visibility = [ "../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cbc_pdf417i_unittest.cpp",
    "cfx_barcode_unittest.cpp",
    "datamatrix/BC_DataMatrixWriter_unittest.cpp",
    "oned/BC_OnedCodaBarWriter_unittest.cpp",
    "oned/BC_OnedCode128Writer_unittest.cpp",
    "oned/BC_OnedCode39Writer_unittest.cpp",
    "oned/BC_OnedEAN13Writer_unittest.cpp",
    "oned/BC_OnedEAN8Writer_unittest.cpp",
    "oned/BC_OnedUPCAWriter_unittest.cpp",
    "pdf417/BC_PDF417HighLevelEncoder_unittest.cpp",
    "pdf417/BC_PDF417Writer_unittest.cpp",
    "qrcode/BC_QRCodeWriter_unittest.cpp",
  ]
  deps = [
    ":fxbarcode",
    "../core/fxge",
  ]
  pdfium_root_dir = "../"
}
