• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import("//build/ohos.gni")
2import("//build/ohos_var.gni")
3import("e2fsprogs.gni")
4
5action("e2fsprogs_action") {
6  script = "//third_party/e2fsprogs/install.sh"
7  inputs = [
8    "//third_party/e2fsprogs/e2fsprogs.tar.xz",
9    "//third_party/e2fsprogs/1001-image-make.patch",
10    "//third_party/e2fsprogs/1002-add-header-file-to-musl-compile-mk2efs.patch",
11    "//third_party/e2fsprogs/1003-add-dac-config.patch",
12    "//third_party/e2fsprogs/1004-modify-code-to-compile.patch",
13    "//third_party/e2fsprogs/1005-read-vfat-chinese-label.patch",
14    "//third_party/e2fsprogs/1006-add-hmfs-for-blkid.patch",
15    "//third_party/e2fsprogs/1007-blkid-support-skip-specified-filesystem.patch"
16  ]
17  outputs = [
18    "${target_gen_dir}/e2fsprogs",
19    "${target_gen_dir}/e2fsprogs/contrib/android/dac_config.cpp",
20    "${target_gen_dir}/e2fsprogs/contrib/android/base_fs.c",
21    "${target_gen_dir}/e2fsprogs/contrib/android/basefs_allocator.c",
22    "${target_gen_dir}/e2fsprogs/contrib/android/block_list.c",
23    "${target_gen_dir}/e2fsprogs/contrib/android/block_range.c",
24    "${target_gen_dir}/e2fsprogs/contrib/android/e2fsdroid.c",
25    "${target_gen_dir}/e2fsprogs/contrib/android/fsmap.c",
26    "${target_gen_dir}/e2fsprogs/contrib/android/perms.c",
27    "${target_gen_dir}/e2fsprogs/e2fsck/badblocks.c",
28    "${target_gen_dir}/e2fsprogs/e2fsck/dirinfo.c",
29    "${target_gen_dir}/e2fsprogs/e2fsck/dx_dirinfo.c",
30    "${target_gen_dir}/e2fsprogs/e2fsck/e2fsck.c",
31    "${target_gen_dir}/e2fsprogs/e2fsck/ea_refcount.c",
32    "${target_gen_dir}/e2fsprogs/e2fsck/ehandler.c",
33    "${target_gen_dir}/e2fsprogs/e2fsck/encrypted_files.c",
34    "${target_gen_dir}/e2fsprogs/e2fsck/extents.c",
35    "${target_gen_dir}/e2fsprogs/e2fsck/journal.c",
36    "${target_gen_dir}/e2fsprogs/e2fsck/logfile.c",
37    "${target_gen_dir}/e2fsprogs/e2fsck/message.c",
38    "${target_gen_dir}/e2fsprogs/e2fsck/pass1.c",
39    "${target_gen_dir}/e2fsprogs/e2fsck/pass1b.c",
40    "${target_gen_dir}/e2fsprogs/e2fsck/pass2.c",
41    "${target_gen_dir}/e2fsprogs/e2fsck/pass3.c",
42    "${target_gen_dir}/e2fsprogs/e2fsck/pass4.c",
43    "${target_gen_dir}/e2fsprogs/e2fsck/pass5.c",
44    "${target_gen_dir}/e2fsprogs/e2fsck/problem.c",
45    "${target_gen_dir}/e2fsprogs/e2fsck/quota.c",
46    "${target_gen_dir}/e2fsprogs/e2fsck/readahead.c",
47    "${target_gen_dir}/e2fsprogs/e2fsck/recovery.c",
48    "${target_gen_dir}/e2fsprogs/e2fsck/region.c",
49    "${target_gen_dir}/e2fsprogs/e2fsck/rehash.c",
50    "${target_gen_dir}/e2fsprogs/e2fsck/revoke.c",
51    "${target_gen_dir}/e2fsprogs/e2fsck/sigcatcher.c",
52    "${target_gen_dir}/e2fsprogs/e2fsck/super.c",
53    "${target_gen_dir}/e2fsprogs/e2fsck/unix.c",
54    "${target_gen_dir}/e2fsprogs/e2fsck/util.c",
55    "${target_gen_dir}/e2fsprogs/lib/blkid/cache.c",
56    "${target_gen_dir}/e2fsprogs/lib/blkid/dev.c",
57    "${target_gen_dir}/e2fsprogs/lib/blkid/devname.c",
58    "${target_gen_dir}/e2fsprogs/lib/blkid/devno.c",
59    "${target_gen_dir}/e2fsprogs/lib/blkid/getsize.c",
60    "${target_gen_dir}/e2fsprogs/lib/blkid/llseek.c",
61    "${target_gen_dir}/e2fsprogs/lib/blkid/probe.c",
62    "${target_gen_dir}/e2fsprogs/lib/blkid/read.c",
63    "${target_gen_dir}/e2fsprogs/lib/blkid/resolve.c",
64    "${target_gen_dir}/e2fsprogs/lib/blkid/save.c",
65    "${target_gen_dir}/e2fsprogs/lib/blkid/tag.c",
66    "${target_gen_dir}/e2fsprogs/lib/blkid/version.c",
67    "${target_gen_dir}/e2fsprogs/lib/e2p/encoding.c",
68    "${target_gen_dir}/e2fsprogs/lib/e2p/errcode.c",
69    "${target_gen_dir}/e2fsprogs/lib/e2p/feature.c",
70    "${target_gen_dir}/e2fsprogs/lib/e2p/fgetflags.c",
71    "${target_gen_dir}/e2fsprogs/lib/e2p/fgetproject.c",
72    "${target_gen_dir}/e2fsprogs/lib/e2p/fgetversion.c",
73    "${target_gen_dir}/e2fsprogs/lib/e2p/fsetflags.c",
74    "${target_gen_dir}/e2fsprogs/lib/e2p/fsetproject.c",
75    "${target_gen_dir}/e2fsprogs/lib/e2p/fsetversion.c",
76    "${target_gen_dir}/e2fsprogs/lib/e2p/getflags.c",
77    "${target_gen_dir}/e2fsprogs/lib/e2p/getversion.c",
78    "${target_gen_dir}/e2fsprogs/lib/e2p/hashstr.c",
79    "${target_gen_dir}/e2fsprogs/lib/e2p/iod.c",
80    "${target_gen_dir}/e2fsprogs/lib/e2p/ljs.c",
81    "${target_gen_dir}/e2fsprogs/lib/e2p/ls.c",
82    "${target_gen_dir}/e2fsprogs/lib/e2p/mntopts.c",
83    "${target_gen_dir}/e2fsprogs/lib/e2p/ostype.c",
84    "${target_gen_dir}/e2fsprogs/lib/e2p/parse_num.c",
85    "${target_gen_dir}/e2fsprogs/lib/e2p/pe.c",
86    "${target_gen_dir}/e2fsprogs/lib/e2p/percent.c",
87    "${target_gen_dir}/e2fsprogs/lib/e2p/pf.c",
88    "${target_gen_dir}/e2fsprogs/lib/e2p/ps.c",
89    "${target_gen_dir}/e2fsprogs/lib/e2p/setflags.c",
90    "${target_gen_dir}/e2fsprogs/lib/e2p/setversion.c",
91    "${target_gen_dir}/e2fsprogs/lib/e2p/uuid.c",
92    "${target_gen_dir}/e2fsprogs/lib/et/com_err.c",
93    "${target_gen_dir}/e2fsprogs/lib/et/com_right.c",
94    "${target_gen_dir}/e2fsprogs/lib/et/error_message.c",
95    "${target_gen_dir}/e2fsprogs/lib/et/et_name.c",
96    "${target_gen_dir}/e2fsprogs/lib/et/init_et.c",
97    "${target_gen_dir}/e2fsprogs/lib/ext2fs/alloc.c",
98    "${target_gen_dir}/e2fsprogs/lib/ext2fs/alloc_sb.c",
99    "${target_gen_dir}/e2fsprogs/lib/ext2fs/alloc_stats.c",
100    "${target_gen_dir}/e2fsprogs/lib/ext2fs/alloc_tables.c",
101    "${target_gen_dir}/e2fsprogs/lib/ext2fs/atexit.c",
102    "${target_gen_dir}/e2fsprogs/lib/ext2fs/badblocks.c",
103    "${target_gen_dir}/e2fsprogs/lib/ext2fs/bb_inode.c",
104    "${target_gen_dir}/e2fsprogs/lib/ext2fs/bitmaps.c",
105    "${target_gen_dir}/e2fsprogs/lib/ext2fs/bitops.c",
106    "${target_gen_dir}/e2fsprogs/lib/ext2fs/blkmap64_ba.c",
107    "${target_gen_dir}/e2fsprogs/lib/ext2fs/blkmap64_rb.c",
108    "${target_gen_dir}/e2fsprogs/lib/ext2fs/blknum.c",
109    "${target_gen_dir}/e2fsprogs/lib/ext2fs/block.c",
110    "${target_gen_dir}/e2fsprogs/lib/ext2fs/bmap.c",
111    "${target_gen_dir}/e2fsprogs/lib/ext2fs/check_desc.c",
112    "${target_gen_dir}/e2fsprogs/lib/ext2fs/closefs.c",
113    "${target_gen_dir}/e2fsprogs/lib/ext2fs/crc16.c",
114    "${target_gen_dir}/e2fsprogs/lib/ext2fs/crc32c.c",
115    "${target_gen_dir}/e2fsprogs/lib/ext2fs/csum.c",
116    "${target_gen_dir}/e2fsprogs/lib/ext2fs/dblist.c",
117    "${target_gen_dir}/e2fsprogs/lib/ext2fs/dblist_dir.c",
118    "${target_gen_dir}/e2fsprogs/lib/ext2fs/digest_encode.c",
119    "${target_gen_dir}/e2fsprogs/lib/ext2fs/dir_iterate.c",
120    "${target_gen_dir}/e2fsprogs/lib/ext2fs/dirblock.c",
121    "${target_gen_dir}/e2fsprogs/lib/ext2fs/dirhash.c",
122    "${target_gen_dir}/e2fsprogs/lib/ext2fs/dupfs.c",
123    "${target_gen_dir}/e2fsprogs/lib/ext2fs/expanddir.c",
124    "${target_gen_dir}/e2fsprogs/lib/ext2fs/ext2_err.c",
125    "${target_gen_dir}/e2fsprogs/lib/ext2fs/ext_attr.c",
126    "${target_gen_dir}/e2fsprogs/lib/ext2fs/extent.c",
127    "${target_gen_dir}/e2fsprogs/lib/ext2fs/fallocate.c",
128    "${target_gen_dir}/e2fsprogs/lib/ext2fs/fileio.c",
129    "${target_gen_dir}/e2fsprogs/lib/ext2fs/finddev.c",
130    "${target_gen_dir}/e2fsprogs/lib/ext2fs/flushb.c",
131    "${target_gen_dir}/e2fsprogs/lib/ext2fs/freefs.c",
132    "${target_gen_dir}/e2fsprogs/lib/ext2fs/gen_bitmap.c",
133    "${target_gen_dir}/e2fsprogs/lib/ext2fs/gen_bitmap64.c",
134    "${target_gen_dir}/e2fsprogs/lib/ext2fs/get_num_dirs.c",
135    "${target_gen_dir}/e2fsprogs/lib/ext2fs/get_pathname.c",
136    "${target_gen_dir}/e2fsprogs/lib/ext2fs/getenv.c",
137    "${target_gen_dir}/e2fsprogs/lib/ext2fs/getsectsize.c",
138    "${target_gen_dir}/e2fsprogs/lib/ext2fs/getsize.c",
139    "${target_gen_dir}/e2fsprogs/lib/ext2fs/hashmap.c",
140    "${target_gen_dir}/e2fsprogs/lib/ext2fs/i_block.c",
141    "${target_gen_dir}/e2fsprogs/lib/ext2fs/icount.c",
142    "${target_gen_dir}/e2fsprogs/lib/ext2fs/imager.c",
143    "${target_gen_dir}/e2fsprogs/lib/ext2fs/ind_block.c",
144    "${target_gen_dir}/e2fsprogs/lib/ext2fs/initialize.c",
145    "${target_gen_dir}/e2fsprogs/lib/ext2fs/inline.c",
146    "${target_gen_dir}/e2fsprogs/lib/ext2fs/inline_data.c",
147    "${target_gen_dir}/e2fsprogs/lib/ext2fs/inode.c",
148    "${target_gen_dir}/e2fsprogs/lib/ext2fs/io_manager.c",
149    "${target_gen_dir}/e2fsprogs/lib/ext2fs/ismounted.c",
150    "${target_gen_dir}/e2fsprogs/lib/ext2fs/link.c",
151    "${target_gen_dir}/e2fsprogs/lib/ext2fs/llseek.c",
152    "${target_gen_dir}/e2fsprogs/lib/ext2fs/lookup.c",
153    "${target_gen_dir}/e2fsprogs/lib/ext2fs/mkdir.c",
154    "${target_gen_dir}/e2fsprogs/lib/ext2fs/mkjournal.c",
155    "${target_gen_dir}/e2fsprogs/lib/ext2fs/mmp.c",
156    "${target_gen_dir}/e2fsprogs/lib/ext2fs/namei.c",
157    "${target_gen_dir}/e2fsprogs/lib/ext2fs/native.c",
158    "${target_gen_dir}/e2fsprogs/lib/ext2fs/newdir.c",
159    "${target_gen_dir}/e2fsprogs/lib/ext2fs/nls_utf8.c",
160    "${target_gen_dir}/e2fsprogs/lib/ext2fs/openfs.c",
161    "${target_gen_dir}/e2fsprogs/lib/ext2fs/orphan.c",
162    "${target_gen_dir}/e2fsprogs/lib/ext2fs/progress.c",
163    "${target_gen_dir}/e2fsprogs/lib/ext2fs/punch.c",
164    "${target_gen_dir}/e2fsprogs/lib/ext2fs/qcow2.c",
165    "${target_gen_dir}/e2fsprogs/lib/ext2fs/rbtree.c",
166    "${target_gen_dir}/e2fsprogs/lib/ext2fs/read_bb.c",
167    "${target_gen_dir}/e2fsprogs/lib/ext2fs/read_bb_file.c",
168    "${target_gen_dir}/e2fsprogs/lib/ext2fs/res_gdt.c",
169    "${target_gen_dir}/e2fsprogs/lib/ext2fs/rw_bitmaps.c",
170    "${target_gen_dir}/e2fsprogs/lib/ext2fs/sha256.c",
171    "${target_gen_dir}/e2fsprogs/lib/ext2fs/sha512.c",
172    "${target_gen_dir}/e2fsprogs/lib/ext2fs/sparse_io.c",
173    "${target_gen_dir}/e2fsprogs/lib/ext2fs/swapfs.c",
174    "${target_gen_dir}/e2fsprogs/lib/ext2fs/symlink.c",
175    "${target_gen_dir}/e2fsprogs/lib/ext2fs/test_io.c",
176    "${target_gen_dir}/e2fsprogs/lib/ext2fs/undo_io.c",
177    "${target_gen_dir}/e2fsprogs/lib/ext2fs/unix_io.c",
178    "${target_gen_dir}/e2fsprogs/lib/ext2fs/unlink.c",
179    "${target_gen_dir}/e2fsprogs/lib/ext2fs/valid_blk.c",
180    "${target_gen_dir}/e2fsprogs/lib/ext2fs/version.c",
181    "${target_gen_dir}/e2fsprogs/lib/ss/data.c",
182    "${target_gen_dir}/e2fsprogs/lib/ss/error.c",
183    "${target_gen_dir}/e2fsprogs/lib/ss/execute_cmd.c",
184    "${target_gen_dir}/e2fsprogs/lib/ss/get_readline.c",
185    "${target_gen_dir}/e2fsprogs/lib/ss/help.c",
186    "${target_gen_dir}/e2fsprogs/lib/ss/invocation.c",
187    "${target_gen_dir}/e2fsprogs/lib/ss/list_rqs.c",
188    "${target_gen_dir}/e2fsprogs/lib/ss/listen.c",
189    "${target_gen_dir}/e2fsprogs/lib/ss/pager.c",
190    "${target_gen_dir}/e2fsprogs/lib/ss/parse.c",
191    "${target_gen_dir}/e2fsprogs/lib/ss/prompt.c",
192    "${target_gen_dir}/e2fsprogs/lib/ss/request_tbl.c",
193    "${target_gen_dir}/e2fsprogs/lib/ss/requests.c",
194    "${target_gen_dir}/e2fsprogs/lib/ss/ss_err.c",
195    "${target_gen_dir}/e2fsprogs/lib/ss/std_rqs.c",
196    "${target_gen_dir}/e2fsprogs/lib/support/devname.c",
197    "${target_gen_dir}/e2fsprogs/lib/support/dict.c",
198    "${target_gen_dir}/e2fsprogs/lib/support/mkquota.c",
199    "${target_gen_dir}/e2fsprogs/lib/support/parse_qtype.c",
200    "${target_gen_dir}/e2fsprogs/lib/support/plausible.c",
201    "${target_gen_dir}/e2fsprogs/lib/support/prof_err.c",
202    "${target_gen_dir}/e2fsprogs/lib/support/profile_helpers.c",
203    "${target_gen_dir}/e2fsprogs/lib/support/quotaio.c",
204    "${target_gen_dir}/e2fsprogs/lib/support/quotaio_tree.c",
205    "${target_gen_dir}/e2fsprogs/lib/support/quotaio_v2.c",
206    "${target_gen_dir}/e2fsprogs/lib/support/profile.c",
207    "${target_gen_dir}/e2fsprogs/lib/support/cstring.c",
208    "${target_gen_dir}/e2fsprogs/lib/uuid/clear.c",
209    "${target_gen_dir}/e2fsprogs/lib/uuid/compare.c",
210    "${target_gen_dir}/e2fsprogs/lib/uuid/copy.c",
211    "${target_gen_dir}/e2fsprogs/lib/uuid/gen_uuid.c",
212    "${target_gen_dir}/e2fsprogs/lib/uuid/isnull.c",
213    "${target_gen_dir}/e2fsprogs/lib/uuid/pack.c",
214    "${target_gen_dir}/e2fsprogs/lib/uuid/parse.c",
215    "${target_gen_dir}/e2fsprogs/lib/uuid/unpack.c",
216    "${target_gen_dir}/e2fsprogs/lib/uuid/unparse.c",
217    "${target_gen_dir}/e2fsprogs/lib/uuid/uuid_time.c",
218    "${target_gen_dir}/e2fsprogs/misc/create_inode.c",
219    "${target_gen_dir}/e2fsprogs/misc/create_inode_libarchive.c",
220    "${target_gen_dir}/e2fsprogs/misc/default_profile.c",
221    "${target_gen_dir}/e2fsprogs/misc/mk_hugefiles.c",
222    "${target_gen_dir}/e2fsprogs/misc/mke2fs.c",
223    "${target_gen_dir}/e2fsprogs/misc/util.c",
224    "${target_gen_dir}/e2fsprogs/misc/blkid.c",
225    "${target_gen_dir}/e2fsprogs/resize/extent.c",
226    "${target_gen_dir}/e2fsprogs/resize/main.c",
227    "${target_gen_dir}/e2fsprogs/resize/online.c",
228    "${target_gen_dir}/e2fsprogs/resize/resize2fs.c",
229    "${target_gen_dir}/e2fsprogs/resize/resource_track.c",
230    "${target_gen_dir}/e2fsprogs/resize/sim_progress.c",
231  ]
232  e2fsprogs_src_path = rebase_path("//third_party/e2fsprogs")
233  e2fsprogs_gen_path = rebase_path("${target_gen_dir}", root_build_dir)
234  args = ["$e2fsprogs_gen_path", "$e2fsprogs_src_path"]
235}
236
237E2FSPROGS_DIR = rebase_path("${target_gen_dir}/e2fsprogs")
238print("E2FSPROGS_DIR is ${E2FSPROGS_DIR}")
239
240group("e2fsprogs") {
241  deps = [
242    ":blkid",
243    ":e2fsck",
244    ":libext2_blkid",
245    ":libext2_com_err",
246    ":libext2_e2p",
247    ":libext2_misc",
248    ":libext2_quota",
249    ":libext2_uuid",
250    ":libext2fs",
251    ":mke2fs",
252    ":resize2fs",
253  ]
254  deps += [ ":e2fsdroid" ]
255}
256
257group("e2fsprogs_host_toolchain") {
258  deps = [
259    ":e2fsck($host_toolchain)",
260    ":mke2fs($host_toolchain)",
261  ]
262  deps += [ ":e2fsdroid($host_toolchain)" ]
263}
264
265ohos_static_library("libdacconfig") {
266  output_name = "libdacconfig"
267
268  sources = [ "${E2FSPROGS_DIR}/contrib/android/dac_config.cpp" ]
269  deps = [":e2fsprogs_action",]
270  part_name = "e2fsprogs"
271  subsystem_name = "thirdparty"
272}
273config("e2fsdroid-defaults") {
274  cflags = [
275    "-Wno-incompatible-pointer-types",
276    "-Wno-tautological-constant-out-of-range-compare",
277  ]
278}
279
280config("e2fsdroid_libext2_uuid") {
281  include_dirs = [ "${E2FSPROGS_DIR}/lib/uuid/",  "${E2FSPROGS_DIR}/lib/"]
282}
283
284######################################################
285##Build e2fsdroid
286ohos_executable("e2fsdroid") {
287  configs = [ ":e2fsdroid-defaults" ]
288
289  defines = [ "HAVE_SYS_TYPES_H" ]
290  sources = [
291    "${E2FSPROGS_DIR}/contrib/android/base_fs.c",
292    "${E2FSPROGS_DIR}/contrib/android/basefs_allocator.c",
293    "${E2FSPROGS_DIR}/contrib/android/block_list.c",
294    "${E2FSPROGS_DIR}/contrib/android/block_range.c",
295    "${E2FSPROGS_DIR}/contrib/android/e2fsdroid.c",
296    "${E2FSPROGS_DIR}/contrib/android/fsmap.c",
297    "${E2FSPROGS_DIR}/contrib/android/perms.c",
298  ]
299
300  include_dirs = [
301    "${E2FSPROGS_DIR}/contrib/android/",
302    "${E2FSPROGS_DIR}/lib",
303    "${E2FSPROGS_DIR}/lib/ext2fs",
304    "${E2FSPROGS_DIR}/misc",
305  ]
306
307  deps = [
308    ":libdacconfig",
309    ":libext2_com_err",
310    ":libext2_misc",
311    ":libext2fs",
312    ":e2fsprogs_action"
313  ]
314
315  external_deps = [ "selinux:libselinux" ]
316
317  install_enable = true
318  subsystem_name = "thirdparty"
319  part_name = "e2fsprogs"
320  install_images = [
321    "system",
322    "updater",
323  ]
324}
325
326###################################################
327###Build e2fsck
328config("e2fsck-defaults") {
329  cflags = [
330    "-Wno-pointer-sign",
331    "-Wno-unused-variable",
332    "-Wno-error=format",
333  ]
334}
335
336ohos_executable("e2fsck") {
337  configs = [ ":e2fsck-defaults" ]
338  sources = [
339    "${E2FSPROGS_DIR}/e2fsck/badblocks.c",
340    "${E2FSPROGS_DIR}/e2fsck/dirinfo.c",
341    "${E2FSPROGS_DIR}/e2fsck/dx_dirinfo.c",
342    "${E2FSPROGS_DIR}/e2fsck/e2fsck.c",
343    "${E2FSPROGS_DIR}/e2fsck/ea_refcount.c",
344    "${E2FSPROGS_DIR}/e2fsck/ehandler.c",
345    "${E2FSPROGS_DIR}/e2fsck/encrypted_files.c",
346    "${E2FSPROGS_DIR}/e2fsck/extents.c",
347    "${E2FSPROGS_DIR}/e2fsck/journal.c",
348    "${E2FSPROGS_DIR}/e2fsck/logfile.c",
349    "${E2FSPROGS_DIR}/e2fsck/message.c",
350    "${E2FSPROGS_DIR}/e2fsck/pass1.c",
351    "${E2FSPROGS_DIR}/e2fsck/pass1b.c",
352    "${E2FSPROGS_DIR}/e2fsck/pass2.c",
353    "${E2FSPROGS_DIR}/e2fsck/pass3.c",
354    "${E2FSPROGS_DIR}/e2fsck/pass4.c",
355    "${E2FSPROGS_DIR}/e2fsck/pass5.c",
356    "${E2FSPROGS_DIR}/e2fsck/problem.c",
357    "${E2FSPROGS_DIR}/e2fsck/quota.c",
358    "${E2FSPROGS_DIR}/e2fsck/readahead.c",
359    "${E2FSPROGS_DIR}/e2fsck/recovery.c",
360    "${E2FSPROGS_DIR}/e2fsck/region.c",
361    "${E2FSPROGS_DIR}/e2fsck/rehash.c",
362    "${E2FSPROGS_DIR}/e2fsck/revoke.c",
363    "${E2FSPROGS_DIR}/e2fsck/sigcatcher.c",
364    "${E2FSPROGS_DIR}/e2fsck/super.c",
365    "${E2FSPROGS_DIR}/e2fsck/unix.c",
366    "${E2FSPROGS_DIR}/e2fsck/util.c",
367  ]
368
369  include_dirs = [
370    "${E2FSPROGS_DIR}/e2fsck",
371    "${E2FSPROGS_DIR}/lib",
372    "${E2FSPROGS_DIR}/lib/ext2fs",
373  ]
374
375  deps = [
376    ":libext2_blkid",
377    ":libext2_com_err",
378    ":libext2_e2p",
379    ":libext2_quota",
380    ":libext2_uuid",
381    ":libext2fs",
382    ":e2fsprogs_action"
383  ]
384
385  install_enable = true
386  subsystem_name = "thirdparty"
387  part_name = "e2fsprogs"
388  install_images = [
389    "system",
390    "updater",
391  ]
392}
393
394###################################################
395###Build libext2_blkid
396config("libext2-headers") {
397  include_dirs = [ "${E2FSPROGS_DIR}/lib" ]
398}
399
400config("libext2_blkid-defaults") {
401  cflags = [
402    "-Wno-implicit-function-declaration",
403    "-Wno-int-conversion",
404  ]
405  defines = [ "secure_getenv=getenv" ]
406}
407
408config("libext2_blkid_public_config") {
409  include_dirs = [ "${E2FSPROGS_DIR}/lib" ]
410}
411
412ohos_shared_library("libext2_blkid") {
413  configs = [
414    ":libext2_blkid-defaults",
415    ":libext2-headers",
416  ]
417  public_configs = [ ":libext2_blkid_public_config" ]
418  sources = [
419    "${E2FSPROGS_DIR}/lib/blkid/cache.c",
420    "${E2FSPROGS_DIR}/lib/blkid/dev.c",
421    "${E2FSPROGS_DIR}/lib/blkid/devname.c",
422    "${E2FSPROGS_DIR}/lib/blkid/devno.c",
423    "${E2FSPROGS_DIR}/lib/blkid/getsize.c",
424    "${E2FSPROGS_DIR}/lib/blkid/llseek.c",
425    "${E2FSPROGS_DIR}/lib/blkid/probe.c",
426    "${E2FSPROGS_DIR}/lib/blkid/read.c",
427    "${E2FSPROGS_DIR}/lib/blkid/resolve.c",
428    "${E2FSPROGS_DIR}/lib/blkid/save.c",
429    "${E2FSPROGS_DIR}/lib/blkid/tag.c",
430    "${E2FSPROGS_DIR}/lib/blkid/version.c",
431  ]
432
433  include_dirs = [ "${E2FSPROGS_DIR}/lib/blkid" ]
434  deps = [ ":libext2_uuid", ":e2fsprogs_action" ]
435  cflags = [
436    "-Wno-error=attributes",
437    "-Wno-error=pointer-sign",
438    "-Wno-unused-parameter",
439    "-fno-strict-aliasing",
440  ]
441  install_enable = true
442  subsystem_name = "thirdparty"
443  part_name = "e2fsprogs"
444  install_images = [
445    "system",
446    "updater",
447  ]
448}
449
450###################################################
451###Build libext2_e2p
452config("libext2_e2p-defaults") {
453  cflags = [
454    "-Wall",
455    "-Werror",
456  ]
457}
458
459ohos_shared_library("libext2_e2p") {
460  sources = [
461    "${E2FSPROGS_DIR}/lib/e2p/encoding.c",
462    "${E2FSPROGS_DIR}/lib/e2p/errcode.c",
463    "${E2FSPROGS_DIR}/lib/e2p/feature.c",
464    "${E2FSPROGS_DIR}/lib/e2p/fgetflags.c",
465    "${E2FSPROGS_DIR}/lib/e2p/fgetproject.c",
466    "${E2FSPROGS_DIR}/lib/e2p/fgetversion.c",
467    "${E2FSPROGS_DIR}/lib/e2p/fsetflags.c",
468    "${E2FSPROGS_DIR}/lib/e2p/fsetproject.c",
469    "${E2FSPROGS_DIR}/lib/e2p/fsetversion.c",
470    "${E2FSPROGS_DIR}/lib/e2p/getflags.c",
471    "${E2FSPROGS_DIR}/lib/e2p/getversion.c",
472    "${E2FSPROGS_DIR}/lib/e2p/hashstr.c",
473    "${E2FSPROGS_DIR}/lib/e2p/iod.c",
474    "${E2FSPROGS_DIR}/lib/e2p/ljs.c",
475    "${E2FSPROGS_DIR}/lib/e2p/ls.c",
476    "${E2FSPROGS_DIR}/lib/e2p/mntopts.c",
477    "${E2FSPROGS_DIR}/lib/e2p/ostype.c",
478    "${E2FSPROGS_DIR}/lib/e2p/parse_num.c",
479    "${E2FSPROGS_DIR}/lib/e2p/pe.c",
480    "${E2FSPROGS_DIR}/lib/e2p/percent.c",
481    "${E2FSPROGS_DIR}/lib/e2p/pf.c",
482    "${E2FSPROGS_DIR}/lib/e2p/ps.c",
483    "${E2FSPROGS_DIR}/lib/e2p/setflags.c",
484    "${E2FSPROGS_DIR}/lib/e2p/setversion.c",
485    "${E2FSPROGS_DIR}/lib/e2p/uuid.c",
486  ]
487  include_dirs = [ "${E2FSPROGS_DIR}/lib/e2p" ]
488
489  configs = [
490    ":libext2_e2p-defaults",
491    ":libext2-headers",
492  ]
493  cflags = [
494    "-Wno-error=attributes",
495    "-Wno-unused-parameter",
496  ]
497  deps = [":e2fsprogs_action"]
498  install_enable = true
499  subsystem_name = "thirdparty"
500  part_name = "e2fsprogs"
501  install_images = [
502    "system",
503    "updater",
504  ]
505}
506
507###################################################
508###Build libext2_com_err
509config("libext2_com_err-defaults") {
510  cflags = [
511    "-Wno-int-conversion",
512    "-Wno-implicit-function-declaration",
513  ]
514  defines = [ "secure_getenv=getenv" ]
515}
516
517ohos_shared_library("libext2_com_err") {
518  sources = [
519    "${E2FSPROGS_DIR}/lib/et/com_err.c",
520    "${E2FSPROGS_DIR}/lib/et/com_right.c",
521    "${E2FSPROGS_DIR}/lib/et/error_message.c",
522    "${E2FSPROGS_DIR}/lib/et/et_name.c",
523    "${E2FSPROGS_DIR}/lib/et/init_et.c",
524  ]
525
526  include_dirs = [ "${E2FSPROGS_DIR}/lib/et" ]
527  configs = [
528    ":libext2_com_err-defaults",
529    ":libext2-headers",
530  ]
531  deps = [":e2fsprogs_action"]
532  install_enable = true
533  subsystem_name = "thirdparty"
534  part_name = "e2fsprogs"
535  install_images = [
536    "system",
537    "updater",
538  ]
539}
540
541###################################################
542###Build libext2_com_err
543config("libext2fs-defaults") {
544  cflags = [
545    "-Wno-sign-compare",
546    "-Wno-pointer-sign",
547    "-Wno-implicit-function-declaration",
548    "-Wno-int-conversion",
549  ]
550  defines = [ "secure_getenv=getenv" ]
551}
552
553ohos_shared_library("libext2fs") {
554  sources = [
555    "${E2FSPROGS_DIR}/lib/ext2fs/alloc.c",
556    "${E2FSPROGS_DIR}/lib/ext2fs/alloc_sb.c",
557    "${E2FSPROGS_DIR}/lib/ext2fs/alloc_stats.c",
558    "${E2FSPROGS_DIR}/lib/ext2fs/alloc_tables.c",
559    "${E2FSPROGS_DIR}/lib/ext2fs/atexit.c",
560    "${E2FSPROGS_DIR}/lib/ext2fs/badblocks.c",
561    "${E2FSPROGS_DIR}/lib/ext2fs/bb_inode.c",
562    "${E2FSPROGS_DIR}/lib/ext2fs/bitmaps.c",
563    "${E2FSPROGS_DIR}/lib/ext2fs/bitops.c",
564    "${E2FSPROGS_DIR}/lib/ext2fs/blkmap64_ba.c",
565    "${E2FSPROGS_DIR}/lib/ext2fs/blkmap64_rb.c",
566    "${E2FSPROGS_DIR}/lib/ext2fs/blknum.c",
567    "${E2FSPROGS_DIR}/lib/ext2fs/block.c",
568    "${E2FSPROGS_DIR}/lib/ext2fs/bmap.c",
569    "${E2FSPROGS_DIR}/lib/ext2fs/check_desc.c",
570    "${E2FSPROGS_DIR}/lib/ext2fs/closefs.c",
571    "${E2FSPROGS_DIR}/lib/ext2fs/crc16.c",
572    "${E2FSPROGS_DIR}/lib/ext2fs/crc32c.c",
573    "${E2FSPROGS_DIR}/lib/ext2fs/csum.c",
574    "${E2FSPROGS_DIR}/lib/ext2fs/dblist.c",
575    "${E2FSPROGS_DIR}/lib/ext2fs/dblist_dir.c",
576    "${E2FSPROGS_DIR}/lib/ext2fs/digest_encode.c",
577    "${E2FSPROGS_DIR}/lib/ext2fs/dir_iterate.c",
578    "${E2FSPROGS_DIR}/lib/ext2fs/dirblock.c",
579    "${E2FSPROGS_DIR}/lib/ext2fs/dirhash.c",
580    "${E2FSPROGS_DIR}/lib/ext2fs/dupfs.c",
581    "${E2FSPROGS_DIR}/lib/ext2fs/expanddir.c",
582    "${E2FSPROGS_DIR}/lib/ext2fs/ext2_err.c",
583    "${E2FSPROGS_DIR}/lib/ext2fs/ext_attr.c",
584    "${E2FSPROGS_DIR}/lib/ext2fs/extent.c",
585    "${E2FSPROGS_DIR}/lib/ext2fs/fallocate.c",
586    "${E2FSPROGS_DIR}/lib/ext2fs/fileio.c",
587    "${E2FSPROGS_DIR}/lib/ext2fs/finddev.c",
588    "${E2FSPROGS_DIR}/lib/ext2fs/flushb.c",
589    "${E2FSPROGS_DIR}/lib/ext2fs/freefs.c",
590    "${E2FSPROGS_DIR}/lib/ext2fs/gen_bitmap.c",
591    "${E2FSPROGS_DIR}/lib/ext2fs/gen_bitmap64.c",
592    "${E2FSPROGS_DIR}/lib/ext2fs/get_num_dirs.c",
593    "${E2FSPROGS_DIR}/lib/ext2fs/get_pathname.c",
594    "${E2FSPROGS_DIR}/lib/ext2fs/getenv.c",
595    "${E2FSPROGS_DIR}/lib/ext2fs/getsectsize.c",
596    "${E2FSPROGS_DIR}/lib/ext2fs/getsize.c",
597    "${E2FSPROGS_DIR}/lib/ext2fs/hashmap.c",
598    "${E2FSPROGS_DIR}/lib/ext2fs/i_block.c",
599    "${E2FSPROGS_DIR}/lib/ext2fs/icount.c",
600    "${E2FSPROGS_DIR}/lib/ext2fs/imager.c",
601    "${E2FSPROGS_DIR}/lib/ext2fs/ind_block.c",
602    "${E2FSPROGS_DIR}/lib/ext2fs/initialize.c",
603    "${E2FSPROGS_DIR}/lib/ext2fs/inline.c",
604    "${E2FSPROGS_DIR}/lib/ext2fs/inline_data.c",
605    "${E2FSPROGS_DIR}/lib/ext2fs/inode.c",
606    "${E2FSPROGS_DIR}/lib/ext2fs/io_manager.c",
607    "${E2FSPROGS_DIR}/lib/ext2fs/ismounted.c",
608    "${E2FSPROGS_DIR}/lib/ext2fs/link.c",
609    "${E2FSPROGS_DIR}/lib/ext2fs/llseek.c",
610    "${E2FSPROGS_DIR}/lib/ext2fs/lookup.c",
611    "${E2FSPROGS_DIR}/lib/ext2fs/mkdir.c",
612    "${E2FSPROGS_DIR}/lib/ext2fs/mkjournal.c",
613    "${E2FSPROGS_DIR}/lib/ext2fs/mmp.c",
614    "${E2FSPROGS_DIR}/lib/ext2fs/namei.c",
615    "${E2FSPROGS_DIR}/lib/ext2fs/native.c",
616    "${E2FSPROGS_DIR}/lib/ext2fs/newdir.c",
617    "${E2FSPROGS_DIR}/lib/ext2fs/nls_utf8.c",
618    "${E2FSPROGS_DIR}/lib/ext2fs/openfs.c",
619    "${E2FSPROGS_DIR}/lib/ext2fs/orphan.c",
620    "${E2FSPROGS_DIR}/lib/ext2fs/progress.c",
621    "${E2FSPROGS_DIR}/lib/ext2fs/punch.c",
622    "${E2FSPROGS_DIR}/lib/ext2fs/qcow2.c",
623    "${E2FSPROGS_DIR}/lib/ext2fs/rbtree.c",
624    "${E2FSPROGS_DIR}/lib/ext2fs/read_bb.c",
625    "${E2FSPROGS_DIR}/lib/ext2fs/read_bb_file.c",
626    "${E2FSPROGS_DIR}/lib/ext2fs/res_gdt.c",
627    "${E2FSPROGS_DIR}/lib/ext2fs/rw_bitmaps.c",
628    "${E2FSPROGS_DIR}/lib/ext2fs/sha256.c",
629    "${E2FSPROGS_DIR}/lib/ext2fs/sha512.c",
630    "${E2FSPROGS_DIR}/lib/ext2fs/sparse_io.c",
631    "${E2FSPROGS_DIR}/lib/ext2fs/swapfs.c",
632    "${E2FSPROGS_DIR}/lib/ext2fs/symlink.c",
633    "${E2FSPROGS_DIR}/lib/ext2fs/test_io.c",
634    "${E2FSPROGS_DIR}/lib/ext2fs/undo_io.c",
635    "${E2FSPROGS_DIR}/lib/ext2fs/unix_io.c",
636    "${E2FSPROGS_DIR}/lib/ext2fs/unlink.c",
637    "${E2FSPROGS_DIR}/lib/ext2fs/valid_blk.c",
638    "${E2FSPROGS_DIR}/lib/ext2fs/version.c",
639  ]
640  configs = [ ":libext2fs-defaults" ]
641
642  deps = [ ":libext2_com_err", ":e2fsprogs_action" ]
643
644  cflags = [ "-Wno-unused-parameter" ]
645  include_dirs = [
646    "${E2FSPROGS_DIR}/lib/ext2fs",
647    "${E2FSPROGS_DIR}/lib",
648  ]
649  install_enable = true
650  subsystem_name = "thirdparty"
651  part_name = "e2fsprogs"
652  install_images = [
653    "system",
654    "updater",
655  ]
656}
657
658###################################################
659###Build libext2_ss
660config("libext2_ss-headers") {
661  include_dirs = [ "${E2FSPROGS_DIR}/lib" ]
662  defines = [ "secure_getenv=getenv" ]
663}
664
665ohos_static_library("libext2_ss") {
666  sources = [
667    "${E2FSPROGS_DIR}/lib/ss/data.c",
668    "${E2FSPROGS_DIR}/lib/ss/error.c",
669    "${E2FSPROGS_DIR}/lib/ss/execute_cmd.c",
670    "${E2FSPROGS_DIR}/lib/ss/get_readline.c",
671    "${E2FSPROGS_DIR}/lib/ss/help.c",
672    "${E2FSPROGS_DIR}/lib/ss/invocation.c",
673    "${E2FSPROGS_DIR}/lib/ss/list_rqs.c",
674    "${E2FSPROGS_DIR}/lib/ss/listen.c",
675    "${E2FSPROGS_DIR}/lib/ss/pager.c",
676    "${E2FSPROGS_DIR}/lib/ss/parse.c",
677    "${E2FSPROGS_DIR}/lib/ss/prompt.c",
678    "${E2FSPROGS_DIR}/lib/ss/request_tbl.c",
679    "${E2FSPROGS_DIR}/lib/ss/requests.c",
680    "${E2FSPROGS_DIR}/lib/ss/ss_err.c",
681    "${E2FSPROGS_DIR}/lib/ss/std_rqs.c",
682  ]
683
684  include_dirs = [ "${E2FSPROGS_DIR}/lib/ss" ]
685  configs = [ ":libext2_ss-headers" ]
686
687  deps = [ ":libext2_com_err", ":e2fsprogs_action" ]
688}
689
690###################################################
691###Build libext2_quota
692config("libext2_support-defaults") {
693  cflags = [
694    "-Wall",
695    "-Werror",
696  ]
697}
698
699ohos_shared_library("libext2_quota") {
700  sources = [
701    "${E2FSPROGS_DIR}/lib/support/devname.c",
702    "${E2FSPROGS_DIR}/lib/support/dict.c",
703    "${E2FSPROGS_DIR}/lib/support/mkquota.c",
704    "${E2FSPROGS_DIR}/lib/support/parse_qtype.c",
705    "${E2FSPROGS_DIR}/lib/support/plausible.c",
706    "${E2FSPROGS_DIR}/lib/support/prof_err.c",
707    "${E2FSPROGS_DIR}/lib/support/profile.c",
708    "${E2FSPROGS_DIR}/lib/support/profile_helpers.c",
709    "${E2FSPROGS_DIR}/lib/support/quotaio.c",
710    "${E2FSPROGS_DIR}/lib/support/quotaio_tree.c",
711    "${E2FSPROGS_DIR}/lib/support/quotaio_v2.c",
712  ]
713  include_dirs = [ "${E2FSPROGS_DIR}/lib/support" ]
714  configs = [
715    ":libext2_support-defaults",
716    ":libext2-headers",
717  ]
718  deps = [
719    ":libext2_blkid",
720    ":libext2_com_err",
721    ":libext2fs",
722    ":e2fsprogs_action"
723  ]
724  install_enable = true
725  subsystem_name = "thirdparty"
726  part_name = "e2fsprogs"
727  install_images = [
728    "system",
729    "updater",
730  ]
731}
732
733###################################################
734###Build libext2_profile
735ohos_static_library("libext2_profile") {
736  sources = [
737    "${E2FSPROGS_DIR}/lib/support/prof_err.c",
738    "${E2FSPROGS_DIR}/lib/support/profile.c",
739  ]
740  include_dirs = [ "${E2FSPROGS_DIR}/lib/support" ]
741  configs = [
742    ":libext2-headers",
743    ":libext2_support-defaults",
744  ]
745
746  deps = [ ":libext2_com_err", ":e2fsprogs_action" ]
747}
748
749###################################################
750###Build libext2_support
751ohos_static_library("libext2_support") {
752  sources = [ "${E2FSPROGS_DIR}/lib/support/cstring.c" ]
753  include_dirs = [ "${E2FSPROGS_DIR}/lib/support" ]
754  configs = [
755    ":libext2_support-defaults",
756    ":libext2-headers",
757  ]
758  deps = [":e2fsprogs_action"]
759}
760
761###################################################
762###Build libext2_uuid
763config("libext2_uuid-defaults") {
764  cflags = [
765    "-Wall",
766    "-Werror",
767  ]
768}
769
770ohos_shared_library("libext2_uuid") {
771  sources = [
772    "${E2FSPROGS_DIR}/lib/uuid/clear.c",
773    "${E2FSPROGS_DIR}/lib/uuid/compare.c",
774    "${E2FSPROGS_DIR}/lib/uuid/copy.c",
775    "${E2FSPROGS_DIR}/lib/uuid/gen_uuid.c",
776    "${E2FSPROGS_DIR}/lib/uuid/isnull.c",
777    "${E2FSPROGS_DIR}/lib/uuid/pack.c",
778    "${E2FSPROGS_DIR}/lib/uuid/parse.c",
779    "${E2FSPROGS_DIR}/lib/uuid/unpack.c",
780    "${E2FSPROGS_DIR}/lib/uuid/unparse.c",
781    "${E2FSPROGS_DIR}/lib/uuid/uuid_time.c",
782  ]
783  deps = [":e2fsprogs_action"]
784  include_dirs = [ "${E2FSPROGS_DIR}/lib/uuid" ]
785  cflags = [
786    "-Wno-unused-function",
787    "-Wno-unused-parameter",
788  ]
789  public_configs = [ ":e2fsdroid_libext2_uuid" ]
790  configs = [
791    ":libext2_uuid-defaults",
792    ":libext2-headers",
793  ]
794  install_enable = true
795  innerapi_tags = [ "platformsdk" ]
796  subsystem_name = "thirdparty"
797  part_name = "e2fsprogs"
798  install_images = [
799    "system",
800    "updater",
801  ]
802}
803
804###################################################
805###Build libext2_misc
806config("libext2_misc-defaults") {
807  cflags = [ "-Wno-pointer-sign" ]
808}
809
810ohos_shared_library("libext2_misc") {
811  configs = [ ":libext2_misc-defaults" ]
812  sources = [
813    "${E2FSPROGS_DIR}/misc/create_inode.c",
814    "${E2FSPROGS_DIR}/misc/create_inode_libarchive.c"
815  ]
816  include_dirs = [
817    "${E2FSPROGS_DIR}/misc",
818    "${E2FSPROGS_DIR}/lib",
819  ]
820  cflags = [
821    "-Wno-error=format-extra-args",
822    "-Wno-c2x-extensions"
823  ]
824
825  deps = [
826    ":libext2_com_err",
827    ":libext2fs",
828    ":e2fsprogs_action"
829  ]
830  install_enable = true
831  subsystem_name = "thirdparty"
832  part_name = "e2fsprogs"
833  install_images = [
834    "system",
835    "updater",
836  ]
837}
838
839###################################################
840###Build mke2fs
841ohos_executable("mke2fs") {
842  configs = [ ":libext2_misc-defaults" ]
843  sources = [
844    "${E2FSPROGS_DIR}/misc/default_profile.c",
845    "${E2FSPROGS_DIR}/misc/mk_hugefiles.c",
846    "${E2FSPROGS_DIR}/misc/mke2fs.c",
847    "${E2FSPROGS_DIR}/misc/util.c",
848  ]
849
850  include_dirs = [
851    "${E2FSPROGS_DIR}/misc",
852    "${E2FSPROGS_DIR}/e2fsck",
853    "${E2FSPROGS_DIR}/lib",
854    "${E2FSPROGS_DIR}/lib/ext2fs",
855  ]
856  cflags = [
857    "-Wno-error=format",
858    "-Wno-error=type-limits",
859    "-Wno-format-extra-args",
860  ]
861
862  deps = [
863    ":libext2_blkid",
864    ":libext2_com_err",
865    ":libext2_e2p",
866    ":libext2_misc",
867    ":libext2_quota",
868    ":libext2_uuid",
869    ":libext2fs",
870    ":e2fsprogs_action"
871  ]
872
873  install_enable = true
874  subsystem_name = "thirdparty"
875  part_name = "e2fsprogs"
876  install_images = [
877    "system",
878    "updater",
879  ]
880}
881
882###################################################
883###Build blkid
884ohos_executable("blkid") {
885  configs = [ ":libext2_misc-defaults" ]
886  sources = [ "${E2FSPROGS_DIR}/misc/blkid.c" ]
887
888  include_dirs = [
889    "${E2FSPROGS_DIR}/misc",
890    "${E2FSPROGS_DIR}/lib",
891    "${E2FSPROGS_DIR}/lib/blkid",
892  ]
893  cflags = [
894    "-Wno-error=format",
895    "-Wno-error=type-limits",
896    "-Wno-format-extra-args",
897  ]
898
899  deps = [
900    ":libext2_blkid",
901    ":libext2fs",
902    ":e2fsprogs_action"
903  ]
904
905  install_enable = true
906  subsystem_name = "filemanagement"
907  part_name = "storage_service"
908  install_images = [
909    "system",
910    "updater",
911  ]
912  external_deps = [ "c_utils:utils" ]
913}
914
915###################################################
916###Build resize2fs
917config("resize2fs-defaults") {
918  cflags = [ "-Wno-pointer-sign" ]
919}
920
921ohos_executable("resize2fs") {
922  configs = [ ":resize2fs-defaults" ]
923  sources = [
924    "${E2FSPROGS_DIR}/resize/extent.c",
925    "${E2FSPROGS_DIR}/resize/main.c",
926    "${E2FSPROGS_DIR}/resize/online.c",
927    "${E2FSPROGS_DIR}/resize/resize2fs.c",
928    "${E2FSPROGS_DIR}/resize/resource_track.c",
929    "${E2FSPROGS_DIR}/resize/sim_progress.c",
930  ]
931
932  include_dirs = [
933    "${E2FSPROGS_DIR}/resize",
934    "${E2FSPROGS_DIR}/e2fsck",
935    "${E2FSPROGS_DIR}/lib",
936    "${E2FSPROGS_DIR}/lib/ext2fs",
937  ]
938  cflags = [
939    "-Wno-error=format",
940    "-Wno-error=type-limits",
941    "-Wno-format-extra-args",
942  ]
943
944  deps = [
945    ":libext2_com_err",
946    ":libext2_e2p",
947    ":libext2fs",
948    ":e2fsprogs_action"
949  ]
950
951  if (is_ohos) {
952    ldflags = [ "-stdlib=libc++_static" ]
953  }
954  install_enable = true
955  subsystem_name = "thirdparty"
956  part_name = "e2fsprogs"
957  install_images = [
958    "system",
959    "updater",
960  ]
961}
962