You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
4.1 KiB
167 lines
4.1 KiB
4 months ago
|
// We need to build this for both the device (as a shared library)
|
||
|
// and the host (as a static library for tools to use).
|
||
|
|
||
|
package {
|
||
|
default_applicable_licenses: ["external_libpng_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.
|
||
|
//
|
||
|
// large-scale-change filtered out the below license kinds as false-positives:
|
||
|
// SPDX-license-identifier-GPL
|
||
|
// SPDX-license-identifier-GPL-2.0
|
||
|
// SPDX-license-identifier-LGPL
|
||
|
// See: http://go/android-license-faq
|
||
|
license {
|
||
|
name: "external_libpng_license",
|
||
|
visibility: [":__subpackages__"],
|
||
|
license_kinds: [
|
||
|
"SPDX-license-identifier-Apache-2.0",
|
||
|
"SPDX-license-identifier-BSD",
|
||
|
"SPDX-license-identifier-CC0-1.0",
|
||
|
"SPDX-license-identifier-MIT",
|
||
|
"SPDX-license-identifier-W3C",
|
||
|
"SPDX-license-identifier-Zlib",
|
||
|
"legacy_notice",
|
||
|
"legacy_unencumbered",
|
||
|
],
|
||
|
license_text: [
|
||
|
"LICENSE",
|
||
|
],
|
||
|
}
|
||
|
|
||
|
cc_defaults {
|
||
|
name: "libpng-defaults",
|
||
|
exclude_srcs: [
|
||
|
"example.c",
|
||
|
"pngtest.c",
|
||
|
],
|
||
|
srcs: ["*.c"],
|
||
|
cflags: [
|
||
|
"-std=gnu89",
|
||
|
"-Wall",
|
||
|
"-Werror",
|
||
|
"-Wno-unused-parameter",
|
||
|
],
|
||
|
arch: {
|
||
|
arm: {
|
||
|
srcs: ["arm/*"],
|
||
|
cflags: ["-O3"],
|
||
|
},
|
||
|
arm64: {
|
||
|
srcs: ["arm/*",],
|
||
|
cflags: ["-O3"],
|
||
|
exclude_srcs: [
|
||
|
"arm/filter_neon.S"
|
||
|
],
|
||
|
},
|
||
|
x86: {
|
||
|
srcs: ["intel/*"],
|
||
|
// Disable optimizations because they crash on windows
|
||
|
// cflags: ["-DPNG_INTEL_SSE_OPT=1"],
|
||
|
},
|
||
|
x86_64: {
|
||
|
srcs: ["intel/*"],
|
||
|
// Disable optimizations because they crash on windows
|
||
|
// cflags: ["-DPNG_INTEL_SSE_OPT=1"],
|
||
|
},
|
||
|
},
|
||
|
shared_libs: ["libz"],
|
||
|
target: {
|
||
|
android_x86: {
|
||
|
cflags: ["-DPNG_INTEL_SSE_OPT=1"],
|
||
|
},
|
||
|
android_x86_64: {
|
||
|
cflags: ["-DPNG_INTEL_SSE_OPT=1"],
|
||
|
},
|
||
|
},
|
||
|
export_include_dirs: ["."],
|
||
|
}
|
||
|
|
||
|
// For the host and device platform
|
||
|
// =====================================================
|
||
|
|
||
|
cc_library {
|
||
|
name: "libpng",
|
||
|
vendor_available: true,
|
||
|
product_available: true,
|
||
|
// TODO(b/153609531): remove when no longer needed.
|
||
|
native_bridge_supported: true,
|
||
|
recovery_available: true,
|
||
|
vndk: {
|
||
|
enabled: true,
|
||
|
},
|
||
|
double_loadable: true,
|
||
|
host_supported: true,
|
||
|
defaults: ["libpng-defaults"],
|
||
|
target: {
|
||
|
windows: {
|
||
|
enabled: true,
|
||
|
},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
// For the device (static) for NDK
|
||
|
// =====================================================
|
||
|
|
||
|
cc_library_static {
|
||
|
name: "libpng_ndk",
|
||
|
defaults: ["libpng-defaults"],
|
||
|
cflags: ["-ftrapv"],
|
||
|
|
||
|
shared_libs: ["libz"],
|
||
|
sdk_version: "minimum",
|
||
|
}
|
||
|
|
||
|
// For testing
|
||
|
// =====================================================
|
||
|
|
||
|
cc_test {
|
||
|
host_supported: true,
|
||
|
gtest: false,
|
||
|
srcs: ["pngtest.c"],
|
||
|
name: "pngtest",
|
||
|
cflags: ["-Wall", "-Werror"],
|
||
|
shared_libs: [
|
||
|
"libpng",
|
||
|
"libz",
|
||
|
],
|
||
|
}
|
||
|
|
||
|
cc_fuzz {
|
||
|
name: "libpng_read_fuzzer",
|
||
|
host_supported:true,
|
||
|
|
||
|
static_libs: [
|
||
|
"libpng",
|
||
|
"libz",
|
||
|
],
|
||
|
|
||
|
srcs: [
|
||
|
"contrib/oss-fuzz/libpng_read_fuzzer.cc",
|
||
|
],
|
||
|
|
||
|
dictionary: "contrib/oss-fuzz/png.dict",
|
||
|
|
||
|
corpus: ["contrib/testpngs/*.png"],
|
||
|
|
||
|
fuzz_config: {
|
||
|
cc: [
|
||
|
"scroggo@google.com",
|
||
|
],
|
||
|
componentid: 87896,
|
||
|
},
|
||
|
}
|