1 // Copyright 2017 The Android Open Source Project 2 3 // Library used to export files from this directory to other programs in this 4 // project. 5 cc_library { 6 name: "libext2_misc", 7 host_supported: true, 8 recovery_available: true, 9 defaults: ["e2fsprogs-defaults"], 10 11 target: { 12 windows: { 13 include_dirs: [ "external/e2fsprogs/include/mingw" ], 14 enabled: true, 15 cflags: ["-Wno-unused-variable"], 16 }, 17 }, 18 19 srcs: [ 20 "create_inode.c", 21 ], 22 cflags: ["-Wno-error=format-extra-args"], 23 shared_libs: [ 24 "libext2fs", 25 "libext2_com_err", 26 "libext2_quota", 27 ], 28 system_shared_libs: ["libc", "libdl"], 29 export_include_dirs: ["."], 30 } 31 32 //######################################################################## 33 // Build mke2fs 34 35 cc_binary { 36 name: "mke2fs", 37 host_supported: true, 38 recovery_available: true, 39 defaults: ["e2fsprogs-defaults"], 40 41 srcs: [ 42 "mke2fs.c", 43 "util.c", 44 "mk_hugefiles.c", 45 "default_profile.c", 46 ], 47 cflags: [ 48 "-Wno-error=format", 49 "-Wno-error=type-limits", 50 "-Wno-format-extra-args", 51 ], 52 target: { 53 host: { 54 static_libs: [ 55 "libext2_blkid", 56 "libext2_misc", 57 "libext2_uuid", 58 "libext2_quota", 59 "libext2_com_err", 60 "libext2_e2p", 61 "libext2fs", 62 "libsparse", 63 "libbase", 64 "libz", 65 ], 66 }, 67 not_windows: { 68 required: [ 69 "mke2fs.conf", 70 ], 71 }, 72 windows: { 73 include_dirs: [ "external/e2fsprogs/include/mingw" ], 74 cflags: [ 75 "-D_POSIX", 76 "-D__USE_MINGW_ALARM", 77 // mke2fs.c has a warning from gcc which cannot be suppressed: 78 // passing argument 3 of 'ext2fs_get_device_size' from 79 // incompatible pointer type 80 "-Wno-error" 81 ], 82 ldflags: ["-static"], 83 host_ldlibs: ["-lws2_32"], 84 enabled: true 85 }, 86 android: { 87 required: [ 88 "mke2fs.conf", 89 ], 90 shared_libs: [ 91 "libext2fs", 92 "libext2_blkid", 93 "libext2_misc", 94 "libext2_uuid", 95 "libext2_quota", 96 "libext2_com_err", 97 "libext2_e2p", 98 ], 99 symlinks: ["mkfs.ext2", "mkfs.ext3", "mkfs.ext4"], 100 }, 101 }, 102 stl: "libc++_static", 103 include_dirs: ["external/e2fsprogs/e2fsck"], 104 } 105 106 //########################################################################## 107 // Build tune2fs 108 109 cc_defaults { 110 name: "tune2fs-defaults", 111 defaults: ["e2fsprogs-defaults"], 112 srcs: [ 113 "tune2fs.c", 114 "util.c", 115 ], 116 cflags: ["-DNO_RECOVERY"], 117 include_dirs: ["external/e2fsprogs/e2fsck"], 118 } 119 120 tune2fs_libs = [ 121 "libext2_blkid", 122 "libext2_com_err", 123 "libext2_quota", 124 "libext2_uuid", 125 "libext2_e2p", 126 "libext2fs", 127 ] 128 129 cc_binary { 130 name: "tune2fs", 131 host_supported: true, 132 defaults: ["tune2fs-defaults"], 133 134 shared_libs: tune2fs_libs, 135 system_shared_libs: ["libc", "libdl"], 136 } 137 138 cc_binary { 139 name: "tune2fs_static", 140 static_executable: true, 141 defaults: ["tune2fs-defaults"], 142 143 static_libs: tune2fs_libs, 144 } 145 146 cc_library_static { 147 name: "libtune2fs", 148 defaults: ["tune2fs-defaults"], 149 150 cflags: ["-DBUILD_AS_LIB"], 151 static_libs: tune2fs_libs, 152 } 153 154 //######################################################################## 155 // Build badblocks 156 157 cc_binary { 158 name: "badblocks", 159 host_supported: true, 160 defaults: ["e2fsprogs-defaults"], 161 162 srcs: ["badblocks.c"], 163 shared_libs: [ 164 "libext2fs", 165 "libext2_com_err", 166 "libext2_uuid", 167 "libext2_blkid", 168 "libext2_e2p", 169 ], 170 system_shared_libs: ["libc", "libdl"], 171 } 172 173 //######################################################################## 174 // Build chattr 175 176 cc_binary { 177 name: "chattr", 178 host_supported: true, 179 defaults: ["e2fsprogs-defaults"], 180 181 srcs: ["chattr.c"], 182 shared_libs: [ 183 "libext2_com_err", 184 "libext2_e2p", 185 ], 186 system_shared_libs: ["libc", "libdl"], 187 } 188 189 //######################################################################## 190 // Build lsattr 191 192 cc_defaults { 193 name: "lsattr-defaults", 194 srcs: ["lsattr.c"], 195 defaults: ["e2fsprogs-defaults"], 196 } 197 198 lsattr_libs = [ 199 "libext2_com_err", 200 "libext2_e2p", 201 ] 202 203 cc_binary { 204 name: "lsattr", 205 host_supported: true, 206 defaults: ["lsattr-defaults"], 207 208 shared_libs: lsattr_libs, 209 system_shared_libs: ["libc", "libdl"], 210 } 211 212 cc_binary { 213 name: "lsattr_static", 214 static_executable: true, 215 defaults: ["lsattr-defaults"], 216 217 static_libs: lsattr_libs, 218 } 219 220 //######################################################################## 221 // Build blkid 222 223 cc_binary { 224 name: "blkid", 225 defaults: ["e2fsprogs-defaults"], 226 227 srcs: ["blkid.c"], 228 shared_libs: [ 229 "libext2fs", 230 "libext2_blkid", 231 "libext2_com_err", 232 "libext2_e2p", 233 ], 234 system_shared_libs: ["libc", "libdl"], 235 } 236 237 //######################################################################## 238 // Build e4crypt 239 240 cc_binary { 241 name: "e4crypt", 242 host_supported: true, 243 defaults: ["e2fsprogs-defaults"], 244 245 srcs: ["e4crypt.c"], 246 shared_libs: [ 247 "libext2fs", 248 "libext2_uuid", 249 ], 250 system_shared_libs: ["libc", "libdl"], 251 252 target: { 253 darwin: { 254 enabled: false, 255 }, 256 }, 257 } 258 259 //########################################################################## 260 // Build e2image 261 262 cc_binary { 263 name: "e2image", 264 host_supported: true, 265 defaults: ["e2fsprogs-defaults"], 266 267 srcs: ["e2image.c"], 268 shared_libs: [ 269 "libext2fs", 270 "libext2_blkid", 271 "libext2_com_err", 272 "libext2_quota", 273 ], 274 system_shared_libs: ["libc", "libdl"], 275 } 276 277 //########################################################################## 278 // Build filefrag 279 280 cc_binary { 281 name: "filefrag", 282 host_supported: true, 283 defaults: ["e2fsprogs-defaults"], 284 285 srcs: ["filefrag.c"], 286 shared_libs: [ 287 "libext2fs", 288 ], 289 system_shared_libs: ["libc", "libdl"], 290 } 291