// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS. PLEASE // CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE // DEPENDING ON IT IN YOUR PROJECT. *** package { default_applicable_licenses: ["external_pdfium_license"], } // Added automatically by a large-scale-change that took the approach of // 'apply every license found to every target'. While this makes sure we respect // every license restriction, it may not be entirely correct. // // e.g. GPL in an MIT project might only apply to the contrib/ directory. // // Please consider splitting the single license below into multiple licenses, // taking care not to lose any license_kind information, and overriding the // default license using the 'licenses: [...]' property on targets as needed. // // For unused files, consider creating a 'fileGroup' with "//visibility:private" // to attach the license to, and including a comment whether the files may be // used in the current project. // See: http://go/android-license-faq license { name: "external_pdfium_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", "SPDX-license-identifier-Artistic", "SPDX-license-identifier-BSD", "SPDX-license-identifier-FTL", "SPDX-license-identifier-MIT", "SPDX-license-identifier-OFL", // by exception only "SPDX-license-identifier-Zlib", "SPDX-license-identifier-libtiff", "legacy_unencumbered", ], license_text: [ "LICENSE", ], } cc_defaults { name: "pdfium-common", cflags: [ "-O3", "-fstrict-aliasing", "-fprefetch-loop-arrays", "-fexceptions", "-Wno-implicit-fallthrough", "-Wno-missing-field-initializers", "-Wno-non-virtual-dtor", "-Wno-unused-parameter", // pdfium_common_config "-DOPJ_STATIC", "-DPNG_PREFIX", "-DPNG_USE_READ_MACROS", // Do not export functions by default. Export only functions annotated // with FPDF_EXPORT. "-fvisibility=hidden", // Macro definitions to enable FPDF_EXPORT. "-DCOMPONENT_BUILD", "-DFPDF_IMPLEMENTATION", ], arch: { arm: { instruction_set: "arm", }, }, include_dirs: [ "external/freetype/include", ], header_libs: [ "pdfium-headers", "pdfium-third-party-headers" ], } cc_defaults { name: "pdfium-core", defaults: [ "pdfium-common" ], exclude_srcs: [ "**/*_unittest.cpp", "**/*_embeddertest.cpp", ], } cc_library_headers { name: "pdfium-headers", export_include_dirs: ["."], } cc_library_headers { name: "pdfium-third-party-headers", export_include_dirs: ["third_party"], } cc_library_shared { name: "libpdfium", defaults: ["pdfium-core"], header_libs: [ "libpdfium-constants", ], whole_static_libs: [ "libpdfium-fpdfsdk", ], // Transitivity is not supported for static libraries (yet). // Lists the whole transitivity closure here. static_libs: [ "libpdfium-agg", "libpdfium-cmaps", "libpdfium-edit", "libpdfium-fdrm", "libpdfium-font", "libpdfium-formfiller", "libpdfium-fpdfdoc", "libpdfium-fpdftext", "libpdfium-fxcodec", "libpdfium-fxcrt", "libpdfium-fxge", "libpdfium-fxjs", "libpdfium-libopenjpeg2", "libpdfium-page", "libpdfium-parser", "libpdfium-pwl", "libpdfium-render", "libpdfium-skia_shared", "libpdfium-third_party-base", "libpdfium-lcms2", ], // TODO: figure out why turning on exceptions requires manually linking libdl shared_libs: [ "libdl", "libft2", "libicu", "libjpeg", "libz", ], ldflags: [ "-Wl,-icf=all", ], export_include_dirs: ["public"], } subdirs = ["third_party"]