summaryrefslogtreecommitdiff
path: root/core/fxcodec/BUILD.gn
blob: 1c689567117e6405b09751b7dbe1883063d4b072 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# Copyright 2018 The 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.

import("//build/config/jumbo.gni")
import("../../pdfium.gni")
import("../../testing/test.gni")

jumbo_source_set("fxcodec") {
  sources = [
    "JBig2_DocumentContext.h",
    "codec/ccodec_basicmodule.h",
    "codec/ccodec_faxmodule.cpp",
    "codec/ccodec_faxmodule.h",
    "codec/ccodec_flatemodule.cpp",
    "codec/ccodec_flatemodule.h",
    "codec/ccodec_iccmodule.cpp",
    "codec/ccodec_iccmodule.h",
    "codec/ccodec_jbig2module.cpp",
    "codec/ccodec_jbig2module.h",
    "codec/ccodec_jpegmodule.cpp",
    "codec/ccodec_jpegmodule.h",
    "codec/ccodec_jpxmodule.cpp",
    "codec/ccodec_jpxmodule.h",
    "codec/ccodec_scanlinedecoder.cpp",
    "codec/ccodec_scanlinedecoder.h",
    "codec/cfx_codec_memory.cpp",
    "codec/cfx_codec_memory.h",
    "codec/cjpx_decoder.h",
    "codec/codec_int.h",
    "codec/codec_module_iface.h",
    "codec/fx_codec.cpp",
    "fx_codec.h",
    "fx_codec_def.h",
    "jbig2/JBig2_ArithDecoder.cpp",
    "jbig2/JBig2_ArithDecoder.h",
    "jbig2/JBig2_ArithIntDecoder.cpp",
    "jbig2/JBig2_ArithIntDecoder.h",
    "jbig2/JBig2_BitStream.cpp",
    "jbig2/JBig2_BitStream.h",
    "jbig2/JBig2_Context.cpp",
    "jbig2/JBig2_Context.h",
    "jbig2/JBig2_Define.h",
    "jbig2/JBig2_GrdProc.cpp",
    "jbig2/JBig2_GrdProc.h",
    "jbig2/JBig2_GrrdProc.cpp",
    "jbig2/JBig2_GrrdProc.h",
    "jbig2/JBig2_HtrdProc.cpp",
    "jbig2/JBig2_HtrdProc.h",
    "jbig2/JBig2_HuffmanDecoder.cpp",
    "jbig2/JBig2_HuffmanDecoder.h",
    "jbig2/JBig2_HuffmanTable.cpp",
    "jbig2/JBig2_HuffmanTable.h",
    "jbig2/JBig2_Image.cpp",
    "jbig2/JBig2_Image.h",
    "jbig2/JBig2_Page.h",
    "jbig2/JBig2_PatternDict.cpp",
    "jbig2/JBig2_PatternDict.h",
    "jbig2/JBig2_PddProc.cpp",
    "jbig2/JBig2_PddProc.h",
    "jbig2/JBig2_SddProc.cpp",
    "jbig2/JBig2_SddProc.h",
    "jbig2/JBig2_Segment.cpp",
    "jbig2/JBig2_Segment.h",
    "jbig2/JBig2_SymbolDict.cpp",
    "jbig2/JBig2_SymbolDict.h",
    "jbig2/JBig2_TrdProc.cpp",
    "jbig2/JBig2_TrdProc.h",
  ]
  configs += [ "../../:pdfium_core_config" ]
  include_dirs = []
  deps = [
    "../../third_party:fx_libopenjpeg",
    "../../third_party:lcms2",
    "../../third_party:zlib",
    "../fxcrt",
    "../fxge",
    "//third_party:jpeg",
  ]
  allow_circular_includes_from = [ "../fxge" ]

  if (pdf_enable_xfa) {
    sources += [
      "codec/ccodec_progressivedecoder.cpp",
      "codec/ccodec_progressivedecoder.h",
    ]
    if (pdf_enable_xfa_bmp) {
      sources += [
        "bmp/cfx_bmpcontext.cpp",
        "bmp/cfx_bmpcontext.h",
        "bmp/cfx_bmpdecompressor.cpp",
        "bmp/cfx_bmpdecompressor.h",
        "bmp/fx_bmp.cpp",
        "bmp/fx_bmp.h",
        "codec/ccodec_bmpmodule.cpp",
        "codec/ccodec_bmpmodule.h",
      ]
    }
    if (pdf_enable_xfa_gif) {
      sources += [
        "codec/ccodec_gifmodule.cpp",
        "codec/ccodec_gifmodule.h",
        "gif/cfx_gif.cpp",
        "gif/cfx_gif.h",
        "gif/cfx_gifcontext.cpp",
        "gif/cfx_gifcontext.h",
        "gif/cfx_lzwdecompressor.cpp",
        "gif/cfx_lzwdecompressor.h",
      ]
    }
    if (pdf_enable_xfa_png) {
      sources += [
        "codec/ccodec_pngmodule.cpp",
        "codec/ccodec_pngmodule.h",
      ]
      deps += [ "../../third_party:png" ]
    }
    if (pdf_enable_xfa_tiff) {
      sources += [
        "codec/ccodec_tiffmodule.cpp",
        "codec/ccodec_tiffmodule.h",
      ]
      deps += [ "../../third_party:fx_tiff" ]
    }
  }
  visibility = [ "../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "codec/fx_codec_a85_unittest.cpp",
    "codec/fx_codec_jpx_unittest.cpp",
    "codec/fx_codec_rle_unittest.cpp",
    "jbig2/JBig2_BitStream_unittest.cpp",
    "jbig2/JBig2_Image_unittest.cpp",
  ]
  deps = [
    ":fxcodec",
    "../fpdfapi/parser",
  ]
  pdfium_root_dir = "../../"

  if (pdf_enable_xfa && pdf_enable_xfa_gif) {
    sources += [
      "gif/cfx_gifcontext_unittest.cpp",
      "gif/cfx_lzwdecompressor_unittest.cpp",
    ]
  }
}