xref: /aosp_15_r20/external/xz-embedded/Android.bp (revision d2c16535d139cb185e89120452531bba6b36d3c6)
1*d2c16535SElliott Hughespackage {
2*d2c16535SElliott Hughes    default_applicable_licenses: ["external_xz-embedded_license"],
3*d2c16535SElliott Hughes}
4*d2c16535SElliott Hughes
5*d2c16535SElliott Hughes// Added automatically by a large-scale-change
6*d2c16535SElliott Hughes// See: http://go/android-license-faq
7*d2c16535SElliott Hugheslicense {
8*d2c16535SElliott Hughes    name: "external_xz-embedded_license",
9*d2c16535SElliott Hughes    visibility: [":__subpackages__"],
10*d2c16535SElliott Hughes    license_kinds: [
11*d2c16535SElliott Hughes        "legacy_unencumbered",
12*d2c16535SElliott Hughes    ],
13*d2c16535SElliott Hughes    license_text: [
14*d2c16535SElliott Hughes        "COPYING",
15*d2c16535SElliott Hughes    ],
16*d2c16535SElliott Hughes}
17*d2c16535SElliott Hughes
18*d2c16535SElliott Hughescc_library_static {
19*d2c16535SElliott Hughes    name: "libxz",
20*d2c16535SElliott Hughes    host_supported: true,
21*d2c16535SElliott Hughes    ramdisk_available: true,
22*d2c16535SElliott Hughes    vendor_ramdisk_available: true,
23*d2c16535SElliott Hughes    recovery_available: true,
24*d2c16535SElliott Hughes    visibility: [
25*d2c16535SElliott Hughes        "//system/update_engine:__subpackages__",
26*d2c16535SElliott Hughes        "//tools/security/fuzzing/llm/xz_fuzzer:__subpackages__",
27*d2c16535SElliott Hughes    ],
28*d2c16535SElliott Hughes    srcs: [
29*d2c16535SElliott Hughes        "linux/lib/xz/xz_crc32.c",
30*d2c16535SElliott Hughes        "linux/lib/xz/xz_dec_bcj.c",
31*d2c16535SElliott Hughes        "linux/lib/xz/xz_dec_lzma2.c",
32*d2c16535SElliott Hughes        "linux/lib/xz/xz_dec_stream.c",
33*d2c16535SElliott Hughes    ],
34*d2c16535SElliott Hughes    local_include_dirs: ["userspace"],
35*d2c16535SElliott Hughes
36*d2c16535SElliott Hughes    // We shouldn't enable branch/call/jump filters because they have no impact
37*d2c16535SElliott Hughes    // on Android OTA sizes (measured in http://b/329112384) --- the frequent
38*d2c16535SElliott Hughes    // function calls that this optimization is supposed to apply to will all go
39*d2c16535SElliott Hughes    // via the PLT, so the actual branch/call/jump instructions in the ELF file
40*d2c16535SElliott Hughes    // will be zeroed out anyway.
41*d2c16535SElliott Hughes    // Unfortunately, as long as we need to support decompressing _existing_
42*d2c16535SElliott Hughes    // OTA packages, we need to keep these in (but it's not worth adding new
43*d2c16535SElliott Hughes    // ones).
44*d2c16535SElliott Hughes    cflags: [
45*d2c16535SElliott Hughes        "-DXZ_DEC_X86",
46*d2c16535SElliott Hughes        "-DXZ_DEC_ARM",
47*d2c16535SElliott Hughes        "-DXZ_DEC_ARMTHUMB",
48*d2c16535SElliott Hughes        "-Wall",
49*d2c16535SElliott Hughes        "-Werror",
50*d2c16535SElliott Hughes    ],
51*d2c16535SElliott Hughes
52*d2c16535SElliott Hughes    export_include_dirs: ["linux/include/linux/"],
53*d2c16535SElliott Hughes}
54