1*3ac0a46fSAndroid Build Coastguard Worker// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE 2*3ac0a46fSAndroid Build Coastguard Worker// CONSULT THE OWNERS AND [email protected] BEFORE 3*3ac0a46fSAndroid Build Coastguard Worker// DEPENDING ON IT IN YOUR PROJECT. *** 4*3ac0a46fSAndroid Build Coastguard Workerpackage { 5*3ac0a46fSAndroid Build Coastguard Worker default_applicable_licenses: ["external_pdfium_license"], 6*3ac0a46fSAndroid Build Coastguard Worker} 7*3ac0a46fSAndroid Build Coastguard Worker 8*3ac0a46fSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 9*3ac0a46fSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 10*3ac0a46fSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 11*3ac0a46fSAndroid Build Coastguard Worker// 12*3ac0a46fSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 13*3ac0a46fSAndroid Build Coastguard Worker// 14*3ac0a46fSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 15*3ac0a46fSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 16*3ac0a46fSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 17*3ac0a46fSAndroid Build Coastguard Worker// 18*3ac0a46fSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 19*3ac0a46fSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 20*3ac0a46fSAndroid Build Coastguard Worker// used in the current project. 21*3ac0a46fSAndroid Build Coastguard Worker// See: http://go/android-license-faq 22*3ac0a46fSAndroid Build Coastguard Workerlicense { 23*3ac0a46fSAndroid Build Coastguard Worker name: "external_pdfium_license", 24*3ac0a46fSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 25*3ac0a46fSAndroid Build Coastguard Worker license_kinds: [ 26*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 27*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-Artistic", 28*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 29*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-FTL", 30*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 31*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-OFL", // by exception only 32*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-Zlib", 33*3ac0a46fSAndroid Build Coastguard Worker "SPDX-license-identifier-libtiff", 34*3ac0a46fSAndroid Build Coastguard Worker "legacy_unencumbered", 35*3ac0a46fSAndroid Build Coastguard Worker ], 36*3ac0a46fSAndroid Build Coastguard Worker license_text: [ 37*3ac0a46fSAndroid Build Coastguard Worker "LICENSE", 38*3ac0a46fSAndroid Build Coastguard Worker ], 39*3ac0a46fSAndroid Build Coastguard Worker} 40*3ac0a46fSAndroid Build Coastguard Worker 41*3ac0a46fSAndroid Build Coastguard Workercc_defaults { 42*3ac0a46fSAndroid Build Coastguard Worker name: "pdfium-common", 43*3ac0a46fSAndroid Build Coastguard Worker cflags: [ 44*3ac0a46fSAndroid Build Coastguard Worker "-O3", 45*3ac0a46fSAndroid Build Coastguard Worker "-fstrict-aliasing", 46*3ac0a46fSAndroid Build Coastguard Worker "-fprefetch-loop-arrays", 47*3ac0a46fSAndroid Build Coastguard Worker "-fexceptions", 48*3ac0a46fSAndroid Build Coastguard Worker 49*3ac0a46fSAndroid Build Coastguard Worker "-Wno-implicit-fallthrough", 50*3ac0a46fSAndroid Build Coastguard Worker "-Wno-missing-field-initializers", 51*3ac0a46fSAndroid Build Coastguard Worker "-Wno-non-virtual-dtor", 52*3ac0a46fSAndroid Build Coastguard Worker "-Wno-unused-parameter", 53*3ac0a46fSAndroid Build Coastguard Worker 54*3ac0a46fSAndroid Build Coastguard Worker // pdfium_common_config 55*3ac0a46fSAndroid Build Coastguard Worker "-DOPJ_STATIC", 56*3ac0a46fSAndroid Build Coastguard Worker "-DPNG_PREFIX", 57*3ac0a46fSAndroid Build Coastguard Worker "-DPNG_USE_READ_MACROS", 58*3ac0a46fSAndroid Build Coastguard Worker 59*3ac0a46fSAndroid Build Coastguard Worker // Do not export functions by default. Export only functions annotated 60*3ac0a46fSAndroid Build Coastguard Worker // with FPDF_EXPORT. 61*3ac0a46fSAndroid Build Coastguard Worker "-fvisibility=hidden", 62*3ac0a46fSAndroid Build Coastguard Worker 63*3ac0a46fSAndroid Build Coastguard Worker // Macro definitions to enable FPDF_EXPORT. 64*3ac0a46fSAndroid Build Coastguard Worker "-DCOMPONENT_BUILD", 65*3ac0a46fSAndroid Build Coastguard Worker "-DFPDF_IMPLEMENTATION", 66*3ac0a46fSAndroid Build Coastguard Worker ], 67*3ac0a46fSAndroid Build Coastguard Worker 68*3ac0a46fSAndroid Build Coastguard Worker arch: { 69*3ac0a46fSAndroid Build Coastguard Worker arm: { 70*3ac0a46fSAndroid Build Coastguard Worker instruction_set: "arm", 71*3ac0a46fSAndroid Build Coastguard Worker }, 72*3ac0a46fSAndroid Build Coastguard Worker }, 73*3ac0a46fSAndroid Build Coastguard Worker 74*3ac0a46fSAndroid Build Coastguard Worker include_dirs: [ 75*3ac0a46fSAndroid Build Coastguard Worker "external/freetype/include", 76*3ac0a46fSAndroid Build Coastguard Worker ], 77*3ac0a46fSAndroid Build Coastguard Worker 78*3ac0a46fSAndroid Build Coastguard Worker header_libs: [ 79*3ac0a46fSAndroid Build Coastguard Worker "pdfium-headers", 80*3ac0a46fSAndroid Build Coastguard Worker "pdfium-third-party-headers", 81*3ac0a46fSAndroid Build Coastguard Worker ], 82*3ac0a46fSAndroid Build Coastguard Worker} 83*3ac0a46fSAndroid Build Coastguard Worker 84*3ac0a46fSAndroid Build Coastguard Workercc_defaults { 85*3ac0a46fSAndroid Build Coastguard Worker name: "pdfium-core", 86*3ac0a46fSAndroid Build Coastguard Worker 87*3ac0a46fSAndroid Build Coastguard Worker defaults: [ 88*3ac0a46fSAndroid Build Coastguard Worker "pdfium-common", 89*3ac0a46fSAndroid Build Coastguard Worker ], 90*3ac0a46fSAndroid Build Coastguard Worker 91*3ac0a46fSAndroid Build Coastguard Worker exclude_srcs: [ 92*3ac0a46fSAndroid Build Coastguard Worker "**/*_unittest.cpp", 93*3ac0a46fSAndroid Build Coastguard Worker "**/*_embeddertest.cpp", 94*3ac0a46fSAndroid Build Coastguard Worker ], 95*3ac0a46fSAndroid Build Coastguard Worker sdk_version: "current", 96*3ac0a46fSAndroid Build Coastguard Worker min_sdk_version: "apex_inherit", 97*3ac0a46fSAndroid Build Coastguard Worker apex_available: [ 98*3ac0a46fSAndroid Build Coastguard Worker "com.android.mediaprovider", 99*3ac0a46fSAndroid Build Coastguard Worker "//apex_available:platform", 100*3ac0a46fSAndroid Build Coastguard Worker ], 101*3ac0a46fSAndroid Build Coastguard Worker stl: "c++_static", 102*3ac0a46fSAndroid Build Coastguard Worker} 103*3ac0a46fSAndroid Build Coastguard Worker 104*3ac0a46fSAndroid Build Coastguard Workercc_library_headers { 105*3ac0a46fSAndroid Build Coastguard Worker name: "pdfium-headers", 106*3ac0a46fSAndroid Build Coastguard Worker export_include_dirs: ["."], 107*3ac0a46fSAndroid Build Coastguard Worker sdk_version: "current", 108*3ac0a46fSAndroid Build Coastguard Worker min_sdk_version: "apex_inherit", 109*3ac0a46fSAndroid Build Coastguard Worker apex_available: [ 110*3ac0a46fSAndroid Build Coastguard Worker "com.android.mediaprovider", 111*3ac0a46fSAndroid Build Coastguard Worker "//apex_available:platform", 112*3ac0a46fSAndroid Build Coastguard Worker ], 113*3ac0a46fSAndroid Build Coastguard Worker} 114*3ac0a46fSAndroid Build Coastguard Worker 115*3ac0a46fSAndroid Build Coastguard Workercc_library_headers { 116*3ac0a46fSAndroid Build Coastguard Worker name: "pdfium-third-party-headers", 117*3ac0a46fSAndroid Build Coastguard Worker export_include_dirs: ["third_party"], 118*3ac0a46fSAndroid Build Coastguard Worker sdk_version: "current", 119*3ac0a46fSAndroid Build Coastguard Worker min_sdk_version: "apex_inherit", 120*3ac0a46fSAndroid Build Coastguard Worker apex_available: [ 121*3ac0a46fSAndroid Build Coastguard Worker "com.android.mediaprovider", 122*3ac0a46fSAndroid Build Coastguard Worker "//apex_available:platform", 123*3ac0a46fSAndroid Build Coastguard Worker ], 124*3ac0a46fSAndroid Build Coastguard Worker} 125*3ac0a46fSAndroid Build Coastguard Worker 126*3ac0a46fSAndroid Build Coastguard Workercc_library_shared { 127*3ac0a46fSAndroid Build Coastguard Worker name: "libpdfium", 128*3ac0a46fSAndroid Build Coastguard Worker defaults: ["pdfium-core"], 129*3ac0a46fSAndroid Build Coastguard Worker 130*3ac0a46fSAndroid Build Coastguard Worker whole_static_libs: [ 131*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fpdfsdk", 132*3ac0a46fSAndroid Build Coastguard Worker ], 133*3ac0a46fSAndroid Build Coastguard Worker 134*3ac0a46fSAndroid Build Coastguard Worker // Transitivity is not supported for static libraries (yet). 135*3ac0a46fSAndroid Build Coastguard Worker // Lists the whole transitivity closure here. 136*3ac0a46fSAndroid Build Coastguard Worker static_libs: [ 137*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-agg", 138*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-cmaps", 139*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-constants", 140*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-edit", 141*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fdrm", 142*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-font", 143*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-formfiller", 144*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fpdfdoc", 145*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fpdftext", 146*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxcodec", 147*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxcrt", 148*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxge", 149*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxjs", 150*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-libopenjpeg2", 151*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-page", 152*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-parser", 153*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-pwl", 154*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-render", 155*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-skia_shared", 156*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-third_party-base", 157*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-lcms2", 158*3ac0a46fSAndroid Build Coastguard Worker ], 159*3ac0a46fSAndroid Build Coastguard Worker 160*3ac0a46fSAndroid Build Coastguard Worker // TODO: figure out why turning on exceptions requires manually linking libdl 161*3ac0a46fSAndroid Build Coastguard Worker shared_libs: [ 162*3ac0a46fSAndroid Build Coastguard Worker "libdl", 163*3ac0a46fSAndroid Build Coastguard Worker "libft2", 164*3ac0a46fSAndroid Build Coastguard Worker "libicu", 165*3ac0a46fSAndroid Build Coastguard Worker "libjpeg", 166*3ac0a46fSAndroid Build Coastguard Worker "libz", 167*3ac0a46fSAndroid Build Coastguard Worker ], 168*3ac0a46fSAndroid Build Coastguard Worker 169*3ac0a46fSAndroid Build Coastguard Worker ldflags: [ 170*3ac0a46fSAndroid Build Coastguard Worker "-Wl,-icf=all", 171*3ac0a46fSAndroid Build Coastguard Worker ], 172*3ac0a46fSAndroid Build Coastguard Worker 173*3ac0a46fSAndroid Build Coastguard Worker export_include_dirs: ["public"], 174*3ac0a46fSAndroid Build Coastguard Worker} 175*3ac0a46fSAndroid Build Coastguard Worker 176*3ac0a46fSAndroid Build Coastguard Workercc_library_static { 177*3ac0a46fSAndroid Build Coastguard Worker name: "libpdfium_static", 178*3ac0a46fSAndroid Build Coastguard Worker defaults: ["pdfium-core"], 179*3ac0a46fSAndroid Build Coastguard Worker 180*3ac0a46fSAndroid Build Coastguard Worker whole_static_libs: [ 181*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fpdfsdk", 182*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-agg", 183*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-cmaps", 184*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-constants", 185*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-edit", 186*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fdrm", 187*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-font", 188*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-formfiller", 189*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fpdfdoc", 190*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fpdftext", 191*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxcodec", 192*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxcrt", 193*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxge", 194*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-fxjs", 195*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-libopenjpeg2", 196*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-page", 197*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-parser", 198*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-pwl", 199*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-render", 200*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-skia_shared", 201*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-third_party-base", 202*3ac0a46fSAndroid Build Coastguard Worker "libpdfium-lcms2", 203*3ac0a46fSAndroid Build Coastguard Worker ], 204*3ac0a46fSAndroid Build Coastguard Worker 205*3ac0a46fSAndroid Build Coastguard Worker export_include_dirs: ["public"], 206*3ac0a46fSAndroid Build Coastguard Worker} 207*3ac0a46fSAndroid Build Coastguard Worker 208*3ac0a46fSAndroid Build Coastguard Workersubdirs = ["third_party"] 209