aboutsummaryrefslogtreecommitdiff
path: root/Android.bp
diff options
context:
space:
mode:
Diffstat (limited to 'Android.bp')
-rw-r--r--Android.bp119
1 files changed, 82 insertions, 37 deletions
diff --git a/Android.bp b/Android.bp
index 8daf08d37..d99c26845 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,25 +1,54 @@
// 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",
- srcs: [
- "png.c",
- "pngerror.c",
- "pngget.c",
- "pngmem.c",
- "pngpread.c",
- "pngread.c",
- "pngrio.c",
- "pngrtran.c",
- "pngrutil.c",
- "pngset.c",
- "pngtrans.c",
- "pngwio.c",
- "pngwrite.c",
- "pngwtran.c",
- "pngwutil.c",
+ exclude_srcs: [
+ "example.c",
+ "pngtest.c",
],
+ srcs: ["*.c"],
cflags: [
"-std=gnu89",
"-Wall",
@@ -28,32 +57,23 @@ cc_defaults {
],
arch: {
arm: {
- srcs: [
- "arm/arm_init.c",
- "arm/filter_neon.S",
- "arm/filter_neon_intrinsics.c",
- ],
+ srcs: ["arm/*"],
+ cflags: ["-O3"],
},
arm64: {
- srcs: [
- "arm/arm_init.c",
- "arm/filter_neon.S",
- "arm/filter_neon_intrinsics.c",
+ srcs: ["arm/*",],
+ cflags: ["-O3"],
+ exclude_srcs: [
+ "arm/filter_neon.S"
],
},
x86: {
- srcs: [
- "intel/intel_init.c",
- "intel/filter_sse2_intrinsics.c",
- ],
+ srcs: ["intel/*"],
// Disable optimizations because they crash on windows
// cflags: ["-DPNG_INTEL_SSE_OPT=1"],
},
x86_64: {
- srcs: [
- "intel/intel_init.c",
- "intel/filter_sse2_intrinsics.c",
- ],
+ srcs: ["intel/*"],
// Disable optimizations because they crash on windows
// cflags: ["-DPNG_INTEL_SSE_OPT=1"],
},
@@ -76,10 +96,10 @@ cc_defaults {
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"],
@@ -99,7 +119,7 @@ cc_library_static {
cflags: ["-ftrapv"],
shared_libs: ["libz"],
- sdk_version: "14",
+ sdk_version: "minimum",
}
// For testing
@@ -116,3 +136,28 @@ cc_test {
"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,
+ },
+}