diff options
Diffstat (limited to 'Android.bp')
-rw-r--r-- | Android.bp | 119 |
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, + }, +} |