xref: /aosp_15_r20/build/make/tools/zipalign/Android.bp (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker//
2*9e94795aSAndroid Build Coastguard Worker// Copyright 2008 The Android Open Source Project
3*9e94795aSAndroid Build Coastguard Worker//
4*9e94795aSAndroid Build Coastguard Worker// Zip alignment tool
5*9e94795aSAndroid Build Coastguard Worker//
6*9e94795aSAndroid Build Coastguard Worker
7*9e94795aSAndroid Build Coastguard Workerpackage {
8*9e94795aSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
9*9e94795aSAndroid Build Coastguard Worker}
10*9e94795aSAndroid Build Coastguard Worker
11*9e94795aSAndroid Build Coastguard Workercc_defaults {
12*9e94795aSAndroid Build Coastguard Worker    name: "zipalign_defaults",
13*9e94795aSAndroid Build Coastguard Worker    target: {
14*9e94795aSAndroid Build Coastguard Worker        windows: {
15*9e94795aSAndroid Build Coastguard Worker            host_ldlibs: ["-lpthread"],
16*9e94795aSAndroid Build Coastguard Worker            enabled: true,
17*9e94795aSAndroid Build Coastguard Worker        },
18*9e94795aSAndroid Build Coastguard Worker    },
19*9e94795aSAndroid Build Coastguard Worker}
20*9e94795aSAndroid Build Coastguard Worker
21*9e94795aSAndroid Build Coastguard Workercc_library_host_static {
22*9e94795aSAndroid Build Coastguard Worker    name: "libzipalign",
23*9e94795aSAndroid Build Coastguard Worker    srcs: [
24*9e94795aSAndroid Build Coastguard Worker        "ZipAlign.cpp",
25*9e94795aSAndroid Build Coastguard Worker        "ZipEntry.cpp",
26*9e94795aSAndroid Build Coastguard Worker        "ZipFile.cpp",
27*9e94795aSAndroid Build Coastguard Worker    ],
28*9e94795aSAndroid Build Coastguard Worker    export_include_dirs: [
29*9e94795aSAndroid Build Coastguard Worker        "include",
30*9e94795aSAndroid Build Coastguard Worker    ],
31*9e94795aSAndroid Build Coastguard Worker    cflags: ["-Wall", "-Werror"],
32*9e94795aSAndroid Build Coastguard Worker
33*9e94795aSAndroid Build Coastguard Worker    // NOTE: Do not add any shared_libs dependencies because they will break the
34*9e94795aSAndroid Build Coastguard Worker    // static_sdk_tools target.
35*9e94795aSAndroid Build Coastguard Worker    whole_static_libs: [
36*9e94795aSAndroid Build Coastguard Worker        "libutils",
37*9e94795aSAndroid Build Coastguard Worker        "libcutils",
38*9e94795aSAndroid Build Coastguard Worker        "liblog",
39*9e94795aSAndroid Build Coastguard Worker        "libziparchive",
40*9e94795aSAndroid Build Coastguard Worker        "libz",
41*9e94795aSAndroid Build Coastguard Worker        "libbase",
42*9e94795aSAndroid Build Coastguard Worker        "libzopfli",
43*9e94795aSAndroid Build Coastguard Worker    ],
44*9e94795aSAndroid Build Coastguard Worker    defaults: ["zipalign_defaults"],
45*9e94795aSAndroid Build Coastguard Worker}
46*9e94795aSAndroid Build Coastguard Worker
47*9e94795aSAndroid Build Coastguard Workercc_binary_host {
48*9e94795aSAndroid Build Coastguard Worker    name: "zipalign",
49*9e94795aSAndroid Build Coastguard Worker    srcs: [
50*9e94795aSAndroid Build Coastguard Worker        "ZipAlignMain.cpp",
51*9e94795aSAndroid Build Coastguard Worker    ],
52*9e94795aSAndroid Build Coastguard Worker    cflags: ["-Wall", "-Werror"],
53*9e94795aSAndroid Build Coastguard Worker    static_libs: [
54*9e94795aSAndroid Build Coastguard Worker        "libzipalign",
55*9e94795aSAndroid Build Coastguard Worker    ],
56*9e94795aSAndroid Build Coastguard Worker    defaults: ["zipalign_defaults"],
57*9e94795aSAndroid Build Coastguard Worker}
58*9e94795aSAndroid Build Coastguard Worker
59*9e94795aSAndroid Build Coastguard Workercc_test_host {
60*9e94795aSAndroid Build Coastguard Worker    name: "zipalign_tests",
61*9e94795aSAndroid Build Coastguard Worker    srcs: [
62*9e94795aSAndroid Build Coastguard Worker        "tests/src/*_test.cpp",
63*9e94795aSAndroid Build Coastguard Worker    ],
64*9e94795aSAndroid Build Coastguard Worker    test_options: {
65*9e94795aSAndroid Build Coastguard Worker        unit_test: true,
66*9e94795aSAndroid Build Coastguard Worker    },
67*9e94795aSAndroid Build Coastguard Worker    static_libs: [
68*9e94795aSAndroid Build Coastguard Worker        "libbase",
69*9e94795aSAndroid Build Coastguard Worker        "libzipalign",
70*9e94795aSAndroid Build Coastguard Worker        "libgmock",
71*9e94795aSAndroid Build Coastguard Worker    ],
72*9e94795aSAndroid Build Coastguard Worker    data: [
73*9e94795aSAndroid Build Coastguard Worker         "tests/data/apkWithUncompressedSharedLibs.zip",
74*9e94795aSAndroid Build Coastguard Worker         "tests/data/archiveWithOneDirectoryEntry.zip",
75*9e94795aSAndroid Build Coastguard Worker         "tests/data/diffOrders.zip",
76*9e94795aSAndroid Build Coastguard Worker         "tests/data/holes.zip",
77*9e94795aSAndroid Build Coastguard Worker         "tests/data/unaligned.zip",
78*9e94795aSAndroid Build Coastguard Worker    ],
79*9e94795aSAndroid Build Coastguard Worker    defaults: ["zipalign_defaults"],
80*9e94795aSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
81*9e94795aSAndroid Build Coastguard Worker}
82