blob: cf537cb33d66e6e07d5a7485e5da9ef127a892a7 [file] [log] [blame]
package {
default_applicable_licenses: ["external_freetype_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_freetype_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-BSD-3-Clause",
"SPDX-license-identifier-FSFAP",
"SPDX-license-identifier-FTL",
"SPDX-license-identifier-MIT",
// For src/autofit/ft-hb.{h|c}. This file is not used but included from source file.
// "SPDX-license-Identifier-MIT-Modern-Variant"
// TODO: Following licenses left from original. Check where these licenses are came from.
"SPDX-license-identifier-BSD",
"SPDX-license-identifier-ISC",
"SPDX-license-identifier-LGPL",
"legacy_unencumbered",
],
license_text: [
"LICENSE.TXT",
"LICENSE",
"NOTICE",
"docs/FTL.TXT",
"LICENSE_APACHE2.TXT",
"LICENSE_MIT.TXT",
"LICENSE_BSD_3_CLAUSE.TXT",
"LICENSE_MIT_MODERN_VARIANT.TXT",
],
}
cc_defaults {
name: "libft2_defaults",
host_supported: true,
// TODO(b/153609531): remove when no longer needed.
native_bridge_supported: true,
// compile in ARM mode, since the glyph loader/renderer is a hotspot
// when loading complex pages in the browser
arch: {
arm: {
instruction_set: "arm",
},
},
srcs: [
"src/autofit/autofit.c",
"src/base/ftbase.c",
"src/base/ftbbox.c",
"src/base/ftbitmap.c",
"src/base/ftdebug.c",
"src/base/ftfstype.c",
"src/base/ftgasp.c",
"src/base/ftglyph.c",
"src/base/ftinit.c",
"src/base/ftmm.c",
"src/base/ftstroke.c",
"src/base/fttype1.c",
"src/base/ftsystem.c",
"src/cid/type1cid.c",
"src/cff/cff.c",
"src/gzip/ftgzip.c",
"src/psaux/psaux.c",
"src/pshinter/pshinter.c",
"src/psnames/psnames.c",
"src/raster/raster.c",
"src/sdf/sdf.c",
"src/sfnt/sfnt.c",
"src/smooth/smooth.c",
"src/svg/svg.c",
"src/truetype/truetype.c",
"src/type1/type1.c",
],
export_include_dirs: ["include"],
cflags: [
"-W",
"-Wall",
"-Werror",
"-DDARWIN_NO_CARBON",
"-DFT2_BUILD_LIBRARY",
"-O2",
// Upstream ignores unused parameter warning
"-Wno-unused-parameter",
// Disabling some of modules results in warnings
"-Wno-unused-variable",
// Temporary disables unused function warning
"-Wno-unused-function",
],
}
cc_library {
name: "libft2",
defaults: ["libft2_defaults"],
cflags: [
// Usually these are defined in include/freetype/config/ftoption.h
// we have commented them and defined them here to allow for the
// no dependency variant libft2.nodep below.
"-DFT_CONFIG_OPTION_USE_PNG",
"-DFT_CONFIG_OPTION_USE_ZLIB",
"-DFT_CONFIG_OPTION_SYSTEM_ZLIB",
// the following is for testing only, and should not be used in final
// builds of the product
// "-DTT_CONFIG_OPTION_BYTECODE_INTERPRETER",
],
shared_libs: [
"libpng",
"libz",
],
target: {
android: {
cflags: [
"-fPIC",
"-DPIC",
],
},
not_windows: {
cflags: [
"-fPIC",
"-DPIC",
],
},
windows: {
enabled: true,
},
},
llndk: {
private: true,
symbol_file: "libft2.map.txt",
},
}
// variant of libft2 without any library dependencies.
cc_library_static {
name: "libft2.nodep",
vendor_available: true,
defaults: ["libft2_defaults"],
}
// Following defines unused files that is under licenses that are different
// from default licenses.
license {
name: "external_freetype_license.builds.unused.unix.GPLv2",
visibility: ["//visibility:private"],
license_kinds: [
"SPDX-license-identifier-GPL-2.0-with-autoconf-exception",
],
license_text: [
"builds/unix/LICENSE_GPLv2_WITH_AUTOCONF_EXCEPTION.TXT",
],
}
filegroup {
name: "freetype.builds.unix.GPLv2",
visibility: ["//visibility:private"],
licenses: ["external_freetype_license.builds.unused.unix.GPLv2"],
srcs: ["builds/unix/pkg.m4"],
}
license {
name: "external_freetype_license.builds.unused.unix.GPLv3",
visibility: ["//visibility:private"],
license_kinds: [
"SPDX-license-identifier-GPL-3.0-with-autoconf-exception",
],
license_text: [
// For builds/unix/ax_pthread.m4
"builds/unix/LICENSE_GPLv3_WITH_AUTOCONF_EXCEPTION.TXT",
],
}
filegroup {
name: "freetype.builds.unix.GPLv3",
visibility: ["//visibility:private"],
licenses: ["external_freetype_license.builds.unused.unix.GPLv3"],
srcs: ["builds/unix/ax_pthread.m4"],
}
license {
name: "external_freetype_license.builds.unused.zlib",
visibility: ["//visibility:private"],
license_kinds: [
"SPDX-license-identifier-Zlib",
],
license_text: [
"src/gzip/LICENSE_ZLIB.TXT"
],
}
filegroup {
name: "freetype.unused.zlib",
visibility: ["//visibility:private"],
licenses: ["external_freetype_license.builds.unused.zlib"],
srcs: [
"src/gzip/adler32.c",
"src/gzip/crc32.c",
"src/gzip/crc32.h", // No license header
"src/gzip/ftzconf.h",
"src/gzip/gzguts.h",
"src/gzip/inffast.c",
"src/gzip/inffast.h",
"src/gzip/inffixed.h", // No license header
"src/gzip/inflate.c",
"src/gzip/inflate.h",
"src/gzip/inftrees.c",
"src/gzip/inftrees.h",
"src/gzip/zlib.h",
"src/gzip/zutil.c",
"src/gzip/zutil.h",
],
}
license {
name: "external_freetype_license.unused.base.pcf",
visibility: ["//visibility:private"],
license_kinds: [
"SPDX-license-identifier-FTL",
"SPDX-license-identifier-MIT",
"legacy_notice", // For src/base/pcf/pcfutil.c
],
license_text: [
"docs/FTL.TXT",
"LICENSE_MIT.TXT",
],
}
filegroup {
name: "freetype.unused.base.pcf",
visibility: ["//visibility:private"],
licenses: ["external_freetype_license.unused.base.pcf"],
srcs: [
"src/pcf/module.mk",
"src/pcf/pcfdrivr.c",
"src/pcf/pcfdrivr.h",
"src/pcf/pcferror.h",
"src/pcf/pcf.h",
"src/pcf/pcfread.c",
"src/pcf/pcfread.h",
"src/pcf/pcfutil.c",
"src/pcf/pcfutil.h",
"src/pcf/README",
"src/pcf/rules.mk",
],
}