summaryrefslogtreecommitdiff
path: root/poppler.gyp
blob: 027aea381a2e3d09c15aad9b25e302d9395f611d (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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
# GYP for libpoppler, a PDF rendering library.
#
# !!! WARNING !!! Poppler is GPL software, and should not be used in anything
# except testing code. Or the lawyercats won't be happy.
#
# libpoppler should be statically linked (doesn't have DLL exports),
# but libpopper-cpp can be dynamically linked.

{
  'variables': {
    'skia_warnings_as_errors': 0,
  },
  'targets': [
    {
      'target_name': 'libpoppler-gpl',
      'type': 'static_library',
      'include_dirs' : [
        '../third_party/externals/poppler',
        '../third_party/externals/poppler/goo',
      ],
      'sources': [
        '../third_party/externals/poppler/fofi/FoFiBase.cc',
        '../third_party/externals/poppler/fofi/FoFiEncodings.cc',
        '../third_party/externals/poppler/fofi/FoFiIdentifier.cc',
        '../third_party/externals/poppler/fofi/FoFiTrueType.cc',
        '../third_party/externals/poppler/fofi/FoFiType1.cc',
        '../third_party/externals/poppler/fofi/FoFiType1C.cc',
        '../third_party/externals/poppler/goo/FixedPoint.cc',
        '../third_party/externals/poppler/goo/gfile.cc',
        '../third_party/externals/poppler/goo/gmem.cc',
        '../third_party/externals/poppler/goo/gmempp.cc',
        '../third_party/externals/poppler/goo/GooHash.cc',
        '../third_party/externals/poppler/goo/GooList.cc',
        '../third_party/externals/poppler/goo/GooString.cc',
        '../third_party/externals/poppler/goo/GooTimer.cc',
        '../third_party/externals/poppler/goo/grandom.cc',
        '../third_party/externals/poppler/goo/gstrtod.cc',
        '../third_party/externals/poppler/goo/ImgWriter.cc',
        '../third_party/externals/poppler/goo/JpegWriter.cc',
        '../third_party/externals/poppler/goo/PNGWriter.cc',
        '../third_party/externals/poppler/goo/TiffWriter.cc',
        '../third_party/externals/poppler/poppler/Annot.cc',
        '../third_party/externals/poppler/poppler/Array.cc',
        '../third_party/externals/poppler/poppler/BuiltinFont.cc',
        '../third_party/externals/poppler/poppler/BuiltinFontTables.cc',
        '../third_party/externals/poppler/poppler/CachedFile.cc',
        '../third_party/externals/poppler/poppler/Catalog.cc',
        '../third_party/externals/poppler/poppler/CharCodeToUnicode.cc',
        '../third_party/externals/poppler/poppler/CMap.cc',
        '../third_party/externals/poppler/poppler/DateInfo.cc',
        '../third_party/externals/poppler/poppler/Decrypt.cc',
        '../third_party/externals/poppler/poppler/Dict.cc',
        '../third_party/externals/poppler/poppler/Error.cc',
        '../third_party/externals/poppler/poppler/FileSpec.cc',
        '../third_party/externals/poppler/poppler/FontEncodingTables.cc',
        '../third_party/externals/poppler/poppler/FontInfo.cc',
        '../third_party/externals/poppler/poppler/Form.cc',
        '../third_party/externals/poppler/poppler/Function.cc',
        '../third_party/externals/poppler/poppler/Gfx.cc',
        '../third_party/externals/poppler/poppler/GfxFont.cc',
        '../third_party/externals/poppler/poppler/GfxState.cc',
        '../third_party/externals/poppler/poppler/GlobalParams.cc',
        '../third_party/externals/poppler/poppler/Hints.cc',
        '../third_party/externals/poppler/poppler/JArithmeticDecoder.cc',
        '../third_party/externals/poppler/poppler/JBIG2Stream.cc',
        '../third_party/externals/poppler/poppler/JPXStream.cc',
        '../third_party/externals/poppler/poppler/Lexer.cc',
        '../third_party/externals/poppler/poppler/Linearization.cc',
        '../third_party/externals/poppler/poppler/Link.cc',
        '../third_party/externals/poppler/poppler/LocalPDFDocBuilder.cc',
        '../third_party/externals/poppler/poppler/Movie.cc',
        '../third_party/externals/poppler/poppler/NameToCharCode.cc',
        '../third_party/externals/poppler/poppler/Object.cc',
        '../third_party/externals/poppler/poppler/OptionalContent.cc',
        '../third_party/externals/poppler/poppler/Outline.cc',
        '../third_party/externals/poppler/poppler/OutputDev.cc',
        '../third_party/externals/poppler/poppler/Page.cc',
        '../third_party/externals/poppler/poppler/PageLabelInfo.cc',
        '../third_party/externals/poppler/poppler/PageTransition.cc',
        '../third_party/externals/poppler/poppler/Parser.cc',
        '../third_party/externals/poppler/poppler/PDFDoc.cc',
        '../third_party/externals/poppler/poppler/PDFDocEncoding.cc',
        '../third_party/externals/poppler/poppler/PDFDocFactory.cc',
        '../third_party/externals/poppler/poppler/PopplerCache.cc',
        '../third_party/externals/poppler/poppler/PreScanOutputDev.cc',
        '../third_party/externals/poppler/poppler/ProfileData.cc',
        '../third_party/externals/poppler/poppler/PSOutputDev.cc',
        '../third_party/externals/poppler/poppler/PSTokenizer.cc',
        '../third_party/externals/poppler/poppler/Rendition.cc',
        '../third_party/externals/poppler/poppler/SecurityHandler.cc',
        '../third_party/externals/poppler/poppler/Sound.cc',
        '../third_party/externals/poppler/poppler/SplashOutputDev.cc',
        '../third_party/externals/poppler/poppler/StdinCachedFile.cc',
        '../third_party/externals/poppler/poppler/StdinPDFDocBuilder.cc',
        '../third_party/externals/poppler/poppler/Stream.cc',
        '../third_party/externals/poppler/poppler/strtok_r.cpp',
        '../third_party/externals/poppler/poppler/TextOutputDev.cc',
        '../third_party/externals/poppler/poppler/UnicodeMap.cc',
        '../third_party/externals/poppler/poppler/UnicodeTypeTable.cc',
        '../third_party/externals/poppler/poppler/UTF.cc',
        '../third_party/externals/poppler/poppler/ViewerPreferences.cc',
        '../third_party/externals/poppler/poppler/XpdfPluginAPI.cc',
        '../third_party/externals/poppler/poppler/XRef.cc',
        '../third_party/externals/poppler/splash/Splash.cc',
        '../third_party/externals/poppler/splash/SplashBitmap.cc',
        '../third_party/externals/poppler/splash/SplashClip.cc',
        '../third_party/externals/poppler/splash/SplashFont.cc',
        '../third_party/externals/poppler/splash/SplashFontEngine.cc',
        '../third_party/externals/poppler/splash/SplashFontFile.cc',
        '../third_party/externals/poppler/splash/SplashFontFileID.cc',
        '../third_party/externals/poppler/splash/SplashFTFont.cc',
        '../third_party/externals/poppler/splash/SplashFTFontEngine.cc',
        '../third_party/externals/poppler/splash/SplashFTFontFile.cc',
        '../third_party/externals/poppler/splash/SplashPath.cc',
        '../third_party/externals/poppler/splash/SplashPattern.cc',
        '../third_party/externals/poppler/splash/SplashScreen.cc',
        '../third_party/externals/poppler/splash/SplashState.cc',
        '../third_party/externals/poppler/splash/SplashT1Font.cc',
        '../third_party/externals/poppler/splash/SplashT1FontEngine.cc',
        '../third_party/externals/poppler/splash/SplashT1FontFile.cc',
        '../third_party/externals/poppler/splash/SplashXPath.cc',
        '../third_party/externals/poppler/splash/SplashXPathScanner.cc',
      ],
      'direct_dependent_settings': {
        'include_dirs': [
          '../third_party/externals/poppler/poppler',
        ],
      },
      'cflags': [
        '-w'
      ],
      'cflags_cc!': [
        '-fno-rtti'
      ],
      'conditions': [
        ['skia_os == "linux"', {
          'include_dirs': [
            '../third_party/poppler/config/linux',
            '/usr/include/freetype2',
          ],
          'cflags': [
            '-fPIC',
          ],
        }],
        ['skia_os in ["mac", "win"]', {
          'dependencies': [
            'freetype.gyp:freetype_poppler',
            'fontconfig.gyp:fontconfig',
          ],
        }],
        ['skia_os == "mac"', {
          'include_dirs': [
            '../third_party/poppler/config/mac',
          ],
        }],
        ['skia_os == "win"', {
          'include_dirs': [
            '../third_party/poppler/config/windows',
          ],
        }],
      ],
    },

    {
      'target_name': 'libpoppler-cpp-gpl',
      'dependencies': [
        'libpoppler-gpl',
      ],
      'type': 'shared_library',
      'include_dirs' : [
        '../third_party/externals/poppler/cpp',
        '../third_party/externals/poppler',
        '../third_party/externals/poppler/poppler',
        '../third_party/externals/poppler/goo',

        '../third_party/poppler/config',
      ],
      'sources': [
        '../third_party/externals/poppler/cpp/PNMWriter.cc',
        '../third_party/externals/poppler/cpp/poppler-document.cpp',
        '../third_party/externals/poppler/cpp/poppler-embedded-file.cpp',
        '../third_party/externals/poppler/cpp/poppler-font.cpp',
        '../third_party/externals/poppler/cpp/poppler-global.cpp',
        '../third_party/externals/poppler/cpp/poppler-image.cpp',
        '../third_party/externals/poppler/cpp/poppler-page.cpp',
        '../third_party/externals/poppler/cpp/poppler-page-renderer.cpp',
        '../third_party/externals/poppler/cpp/poppler-page-transition.cpp',
        '../third_party/externals/poppler/cpp/poppler-private.cpp',
        '../third_party/externals/poppler/cpp/poppler-toc.cpp',
      ],
      'defines': [
        'poppler_cpp_EXPORTS',
      ],
      'direct_dependent_settings': {
        'include_dirs': [
          '../third_party/externals/poppler/cpp',
        ],
      },
      'conditions': [
        ['skia_os == "linux"', {
          'include_dirs': [
            '../third_party/poppler/config/linux',
          ],
          'cflags': [
            '-fPIC',
          ],
        }],
        ['skia_os == "mac"', {
          'include_dirs': [
            '../third_party/poppler/config/mac',
          ],
          'libraries':[
            '$(SDKROOT)/usr/lib/libiconv.dylib',
            '$(SDKROOT)/usr/lib/libexpat.dylib',
          ],
          'xcode_settings': {
            'DYLIB_INSTALL_NAME_BASE': '@executable_path',
            'OTHER_CPLUSPLUSFLAGS!': [
              # poppler doesn't do gcc-style exports
              '-fvisibility=hidden',
            ],
          },
        }],
        ['skia_os == "win"', {
          'dependencies': [
            'iconv.gyp:iconv',
          ],
          'include_dirs': [
            '../third_party/poppler/config/windows',
          ],
        }],
      ],
    },
  ],
}