1 # GYP for libpoppler, a PDF rendering library. 2 # 3 # !!! WARNING !!! Poppler is GPL software, and should not be used in anything 4 # except testing code. Or the lawyercats won't be happy. 5 # 6 # libpoppler should be statically linked (doesn't have DLL exports), 7 # but libpopper-cpp can be dynamically linked. 8 9 { 10 'variables': { 11 'skia_warnings_as_errors': 0, 12 }, 13 'targets': [ 14 { 15 'target_name': 'libpoppler-gpl', 16 'type': 'static_library', 17 'include_dirs' : [ 18 '../third_party/externals/poppler', 19 '../third_party/externals/poppler/goo', 20 ], 21 'sources': [ 22 '../third_party/externals/poppler/fofi/FoFiBase.cc', 23 '../third_party/externals/poppler/fofi/FoFiEncodings.cc', 24 '../third_party/externals/poppler/fofi/FoFiIdentifier.cc', 25 '../third_party/externals/poppler/fofi/FoFiTrueType.cc', 26 '../third_party/externals/poppler/fofi/FoFiType1.cc', 27 '../third_party/externals/poppler/fofi/FoFiType1C.cc', 28 '../third_party/externals/poppler/goo/FixedPoint.cc', 29 '../third_party/externals/poppler/goo/gfile.cc', 30 '../third_party/externals/poppler/goo/gmem.cc', 31 '../third_party/externals/poppler/goo/gmempp.cc', 32 '../third_party/externals/poppler/goo/GooHash.cc', 33 '../third_party/externals/poppler/goo/GooList.cc', 34 '../third_party/externals/poppler/goo/GooString.cc', 35 '../third_party/externals/poppler/goo/GooTimer.cc', 36 '../third_party/externals/poppler/goo/grandom.cc', 37 '../third_party/externals/poppler/goo/gstrtod.cc', 38 '../third_party/externals/poppler/goo/ImgWriter.cc', 39 '../third_party/externals/poppler/goo/JpegWriter.cc', 40 '../third_party/externals/poppler/goo/PNGWriter.cc', 41 '../third_party/externals/poppler/goo/TiffWriter.cc', 42 '../third_party/externals/poppler/poppler/Annot.cc', 43 '../third_party/externals/poppler/poppler/Array.cc', 44 '../third_party/externals/poppler/poppler/BuiltinFont.cc', 45 '../third_party/externals/poppler/poppler/BuiltinFontTables.cc', 46 '../third_party/externals/poppler/poppler/CachedFile.cc', 47 '../third_party/externals/poppler/poppler/Catalog.cc', 48 '../third_party/externals/poppler/poppler/CharCodeToUnicode.cc', 49 '../third_party/externals/poppler/poppler/CMap.cc', 50 '../third_party/externals/poppler/poppler/DateInfo.cc', 51 '../third_party/externals/poppler/poppler/Decrypt.cc', 52 '../third_party/externals/poppler/poppler/Dict.cc', 53 '../third_party/externals/poppler/poppler/Error.cc', 54 '../third_party/externals/poppler/poppler/FileSpec.cc', 55 '../third_party/externals/poppler/poppler/FontEncodingTables.cc', 56 '../third_party/externals/poppler/poppler/FontInfo.cc', 57 '../third_party/externals/poppler/poppler/Form.cc', 58 '../third_party/externals/poppler/poppler/Function.cc', 59 '../third_party/externals/poppler/poppler/Gfx.cc', 60 '../third_party/externals/poppler/poppler/GfxFont.cc', 61 '../third_party/externals/poppler/poppler/GfxState.cc', 62 '../third_party/externals/poppler/poppler/GlobalParams.cc', 63 '../third_party/externals/poppler/poppler/Hints.cc', 64 '../third_party/externals/poppler/poppler/JArithmeticDecoder.cc', 65 '../third_party/externals/poppler/poppler/JBIG2Stream.cc', 66 '../third_party/externals/poppler/poppler/JPXStream.cc', 67 '../third_party/externals/poppler/poppler/Lexer.cc', 68 '../third_party/externals/poppler/poppler/Linearization.cc', 69 '../third_party/externals/poppler/poppler/Link.cc', 70 '../third_party/externals/poppler/poppler/LocalPDFDocBuilder.cc', 71 '../third_party/externals/poppler/poppler/Movie.cc', 72 '../third_party/externals/poppler/poppler/NameToCharCode.cc', 73 '../third_party/externals/poppler/poppler/Object.cc', 74 '../third_party/externals/poppler/poppler/OptionalContent.cc', 75 '../third_party/externals/poppler/poppler/Outline.cc', 76 '../third_party/externals/poppler/poppler/OutputDev.cc', 77 '../third_party/externals/poppler/poppler/Page.cc', 78 '../third_party/externals/poppler/poppler/PageLabelInfo.cc', 79 '../third_party/externals/poppler/poppler/PageTransition.cc', 80 '../third_party/externals/poppler/poppler/Parser.cc', 81 '../third_party/externals/poppler/poppler/PDFDoc.cc', 82 '../third_party/externals/poppler/poppler/PDFDocEncoding.cc', 83 '../third_party/externals/poppler/poppler/PDFDocFactory.cc', 84 '../third_party/externals/poppler/poppler/PopplerCache.cc', 85 '../third_party/externals/poppler/poppler/PreScanOutputDev.cc', 86 '../third_party/externals/poppler/poppler/ProfileData.cc', 87 '../third_party/externals/poppler/poppler/PSOutputDev.cc', 88 '../third_party/externals/poppler/poppler/PSTokenizer.cc', 89 '../third_party/externals/poppler/poppler/Rendition.cc', 90 '../third_party/externals/poppler/poppler/SecurityHandler.cc', 91 '../third_party/externals/poppler/poppler/Sound.cc', 92 '../third_party/externals/poppler/poppler/SplashOutputDev.cc', 93 '../third_party/externals/poppler/poppler/StdinCachedFile.cc', 94 '../third_party/externals/poppler/poppler/StdinPDFDocBuilder.cc', 95 '../third_party/externals/poppler/poppler/Stream.cc', 96 '../third_party/externals/poppler/poppler/strtok_r.cpp', 97 '../third_party/externals/poppler/poppler/TextOutputDev.cc', 98 '../third_party/externals/poppler/poppler/UnicodeMap.cc', 99 '../third_party/externals/poppler/poppler/UnicodeTypeTable.cc', 100 '../third_party/externals/poppler/poppler/UTF.cc', 101 '../third_party/externals/poppler/poppler/ViewerPreferences.cc', 102 '../third_party/externals/poppler/poppler/XpdfPluginAPI.cc', 103 '../third_party/externals/poppler/poppler/XRef.cc', 104 '../third_party/externals/poppler/splash/Splash.cc', 105 '../third_party/externals/poppler/splash/SplashBitmap.cc', 106 '../third_party/externals/poppler/splash/SplashClip.cc', 107 '../third_party/externals/poppler/splash/SplashFont.cc', 108 '../third_party/externals/poppler/splash/SplashFontEngine.cc', 109 '../third_party/externals/poppler/splash/SplashFontFile.cc', 110 '../third_party/externals/poppler/splash/SplashFontFileID.cc', 111 '../third_party/externals/poppler/splash/SplashFTFont.cc', 112 '../third_party/externals/poppler/splash/SplashFTFontEngine.cc', 113 '../third_party/externals/poppler/splash/SplashFTFontFile.cc', 114 '../third_party/externals/poppler/splash/SplashPath.cc', 115 '../third_party/externals/poppler/splash/SplashPattern.cc', 116 '../third_party/externals/poppler/splash/SplashScreen.cc', 117 '../third_party/externals/poppler/splash/SplashState.cc', 118 '../third_party/externals/poppler/splash/SplashT1Font.cc', 119 '../third_party/externals/poppler/splash/SplashT1FontEngine.cc', 120 '../third_party/externals/poppler/splash/SplashT1FontFile.cc', 121 '../third_party/externals/poppler/splash/SplashXPath.cc', 122 '../third_party/externals/poppler/splash/SplashXPathScanner.cc', 123 ], 124 'direct_dependent_settings': { 125 'include_dirs': [ 126 '../third_party/externals/poppler/poppler', 127 ], 128 }, 129 'cflags': [ 130 '-w' 131 ], 132 'cflags_cc!': [ 133 '-fno-rtti' 134 ], 135 'conditions': [ 136 ['skia_os == "linux"', { 137 'include_dirs': [ 138 '../third_party/poppler/config/linux', 139 '/usr/include/freetype2', 140 ], 141 'cflags': [ 142 '-fPIC', 143 ], 144 }], 145 ['skia_os in ["mac", "win"]', { 146 'dependencies': [ 147 'freetype.gyp:freetype_poppler', 148 'fontconfig.gyp:fontconfig', 149 ], 150 }], 151 ['skia_os == "mac"', { 152 'include_dirs': [ 153 '../third_party/poppler/config/mac', 154 ], 155 }], 156 ['skia_os == "win"', { 157 'include_dirs': [ 158 '../third_party/poppler/config/windows', 159 ], 160 }], 161 ], 162 }, 163 164 { 165 'target_name': 'libpoppler-cpp-gpl', 166 'dependencies': [ 167 'libpoppler-gpl', 168 ], 169 'type': 'shared_library', 170 'include_dirs' : [ 171 '../third_party/externals/poppler/cpp', 172 '../third_party/externals/poppler', 173 '../third_party/externals/poppler/poppler', 174 '../third_party/externals/poppler/goo', 175 176 '../third_party/poppler/config', 177 ], 178 'sources': [ 179 '../third_party/externals/poppler/cpp/PNMWriter.cc', 180 '../third_party/externals/poppler/cpp/poppler-document.cpp', 181 '../third_party/externals/poppler/cpp/poppler-embedded-file.cpp', 182 '../third_party/externals/poppler/cpp/poppler-font.cpp', 183 '../third_party/externals/poppler/cpp/poppler-global.cpp', 184 '../third_party/externals/poppler/cpp/poppler-image.cpp', 185 '../third_party/externals/poppler/cpp/poppler-page.cpp', 186 '../third_party/externals/poppler/cpp/poppler-page-renderer.cpp', 187 '../third_party/externals/poppler/cpp/poppler-page-transition.cpp', 188 '../third_party/externals/poppler/cpp/poppler-private.cpp', 189 '../third_party/externals/poppler/cpp/poppler-toc.cpp', 190 ], 191 'defines': [ 192 'poppler_cpp_EXPORTS', 193 ], 194 'direct_dependent_settings': { 195 'include_dirs': [ 196 '../third_party/externals/poppler/cpp', 197 ], 198 }, 199 'conditions': [ 200 ['skia_os == "linux"', { 201 'include_dirs': [ 202 '../third_party/poppler/config/linux', 203 ], 204 'cflags': [ 205 '-fPIC', 206 ], 207 }], 208 ['skia_os == "mac"', { 209 'include_dirs': [ 210 '../third_party/poppler/config/mac', 211 ], 212 'libraries':[ 213 '$(SDKROOT)/usr/lib/libiconv.dylib', 214 '$(SDKROOT)/usr/lib/libexpat.dylib', 215 ], 216 'xcode_settings': { 217 'DYLIB_INSTALL_NAME_BASE': '@executable_path', 218 'OTHER_CPLUSPLUSFLAGS!': [ 219 # poppler doesn't do gcc-style exports 220 '-fvisibility=hidden', 221 ], 222 }, 223 }], 224 ['skia_os == "win"', { 225 'dependencies': [ 226 'iconv.gyp:iconv', 227 ], 228 'include_dirs': [ 229 '../third_party/poppler/config/windows', 230 ], 231 }], 232 ], 233 }, 234 ], 235 } 236