1// Copyright 2017 The Android Open Source Project
2
3//########################
4// Build the e2fsck binary
5
6package {
7    // See: http://go/android-license-faq
8    // A large-scale-change added 'default_applicable_licenses' to import
9    // all of the 'license_kinds' from "external_e2fsprogs_license"
10    // to get the below license kinds:
11    //   SPDX-license-identifier-GPL
12    //   SPDX-license-identifier-GPL-2.0
13    //   SPDX-license-identifier-LGPL
14    default_applicable_licenses: ["external_e2fsprogs_license"],
15}
16
17cc_defaults {
18    name: "e2fsck-defaults",
19    defaults: ["e2fsprogs-defaults"],
20    srcs: [
21        "e2fsck.c",
22        "super.c",
23        "pass1.c",
24        "pass1b.c",
25        "pass2.c",
26        "pass3.c",
27        "pass4.c",
28        "pass5.c",
29        "logfile.c",
30        "journal.c",
31        "recovery.c",
32        "revoke.c",
33        "badblocks.c",
34        "util.c",
35        "unix.c",
36        "dirinfo.c",
37        "dx_dirinfo.c",
38        "ehandler.c",
39        "problem.c",
40        "message.c",
41        "ea_refcount.c",
42        "quota.c",
43        "rehash.c",
44        "region.c",
45        "sigcatcher.c",
46        "readahead.c",
47        "extents.c",
48        "encrypted_files.c",
49    ],
50    cflags: [
51        "-Wno-sign-compare",
52        "-fno-strict-aliasing",
53    ],
54}
55
56e2fsck_libs = [
57    "libext2fs",
58    "libext2_blkid",
59    "libext2_com_err",
60    "libext2_uuid",
61    "libext2_quota",
62    "libext2_e2p",
63]
64
65cc_binary {
66    name: "e2fsck",
67    host_supported: true,
68    vendor_ramdisk_available: true,
69    defaults: ["e2fsck-defaults"],
70
71    shared_libs: e2fsck_libs,
72    required: ["badblocks"],
73}
74
75cc_binary {
76    name: "e2fsck_static",
77    static_executable: true,
78    defaults: ["e2fsck-defaults"],
79
80    static_libs: e2fsck_libs,
81}
82
83cc_binary {
84    name: "e2fsck_ramdisk",
85    stem: "e2fsck",
86    static_executable: true,
87    ramdisk: true,
88    defaults: ["e2fsck-defaults"],
89    static_libs: e2fsck_libs,
90}
91