blob: 9d1dde1b4d2c476687bff88c9d017082f414d86e [file] [log] [blame]
cc_defaults {
name: "zlib_defaults",
cflags: [
"-O3",
"-DUSE_MMAP",
],
stl: "none",
export_include_dirs: ["."],
srcs: [
"src/adler32.c",
"src/compress.c",
"src/crc32.c",
"src/deflate.c",
"src/gzclose.c",
"src/gzlib.c",
"src/gzread.c",
"src/gzwrite.c",
"src/infback.c",
"src/inflate.c",
"src/inftrees.c",
"src/inffast.c",
"src/trees.c",
"src/uncompr.c",
"src/zutil.c",
],
arch: {
arm: {
// measurements show that the ARM version of ZLib is about x1.17 faster
// than the thumb one...
instruction_set: "arm",
// TODO: This is to work around b/24465209. Remove after root cause is fixed
ldflags: ["-Wl,--hash-style=both"],
},
},
target: {
linux_bionic: {
enabled: true,
},
windows: {
enabled: true,
},
},
}
cc_library {
name: "libz",
defaults: ["zlib_defaults"],
host_supported: true,
target: {
host: {
shared: {
// The host shared library is built as libz-host
enabled: false,
},
},
},
}
// Separate host shared library definition, since we don't want to conflict
// with the host-supplied libz
cc_library_host_shared {
name: "libz-host",
defaults: ["zlib_defaults"],
}
cc_binary {
name: "gzip",
srcs: ["src/test/minigzip.c"],
shared_libs: ["libz"],
stl: "none",
}
cc_binary_host {
name: "minigzip",
srcs: ["src/test/minigzip.c"],
static_libs: ["libz"],
stl: "none",
}
cc_binary {
name: "zlib_example",
srcs: ["src/test/minigzip.c"],
shared_libs: ["libz"],
stl: "none",
}
cc_binary_host {
name: "zlib_example_host",
srcs: ["src/test/example.c"],
static_libs: ["libz"],
stl: "none",
}
// This module is defined in development/ndk/Android.bp. Updating these headers
// to be usable for any API level is going to be some work (at the very least,
// there's a ZLIB_VERNUM that will need to be handled since early versions of
// Android did not have all the APIs that calling code will use if this is set
// to the current value.
//
// The NDK never updated the zlib headers when the platform updated, so until we
// solve this the NDK will continue shipping the old headers.
//
// ndk_headers {
// name: "libz_headers",
// from: "src",
// to: "",
// srcs: [
// "src/zconf.h",
// "src/zlib.h",
// ],
// license: "NOTICE",
// }
ndk_library {
name: "libz.ndk",
symbol_file: "libz.map.txt",
first_version: "9",
unversioned_until: "current",
}