• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1import("//build/ohos.gni")
2import("//build/ohos_var.gni")
3import("e2fsprogs.gni")
4
5group("e2fsprogs") {
6  deps = [
7    ":blkid",
8    ":e2fsck",
9    ":libext2_blkid",
10    ":libext2_com_err",
11    ":libext2_e2p",
12    ":libext2_misc",
13    ":libext2_quota",
14    ":libext2_uuid",
15    ":libext2fs",
16    ":mke2fs",
17    ":resize2fs",
18  ]
19  deps += [ ":e2fsdroid" ]
20}
21
22group("e2fsprogs_host_toolchain") {
23  deps = [
24    ":e2fsck($host_toolchain)",
25    ":mke2fs($host_toolchain)",
26  ]
27  deps += [ ":e2fsdroid($host_toolchain)" ]
28}
29
30ohos_static_library("libdacconfig") {
31  output_name = "libdacconfig"
32
33  sources = [ "e2fsprogs/contrib/android/dac_config.cpp" ]
34
35  part_name = "e2fsprogs"
36  subsystem_name = "thirdparty"
37}
38config("e2fsdroid-defaults") {
39  cflags = [
40    "-Wno-incompatible-pointer-types",
41    "-Wno-tautological-constant-out-of-range-compare",
42  ]
43}
44
45config("e2fsdroid_libext2_uuid") {
46  include_dirs = [ "e2fsprogs/lib/uuid/" ]
47}
48
49######################################################
50##Build e2fsdroid
51ohos_executable("e2fsdroid") {
52  configs = [ ":e2fsdroid-defaults" ]
53
54  defines = [ "HAVE_SYS_TYPES_H" ]
55  sources = [
56    "e2fsprogs/contrib/android/base_fs.c",
57    "e2fsprogs/contrib/android/basefs_allocator.c",
58    "e2fsprogs/contrib/android/block_list.c",
59    "e2fsprogs/contrib/android/block_range.c",
60    "e2fsprogs/contrib/android/e2fsdroid.c",
61    "e2fsprogs/contrib/android/fsmap.c",
62    "e2fsprogs/contrib/android/perms.c",
63  ]
64
65  include_dirs = [
66    "//third_party/e2fsprogs/e2fsprogs/contrib/android/",
67    "//third_party/e2fsprogs/e2fsprogs/lib",
68    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
69    "//third_party/e2fsprogs/e2fsprogs/misc",
70  ]
71
72  deps = [
73    ":libdacconfig",
74    ":libext2_com_err",
75    ":libext2_misc",
76    ":libext2fs",
77  ]
78
79  external_deps = [ "selinux:libselinux" ]
80
81  install_enable = true
82  subsystem_name = "thirdparty"
83  part_name = "e2fsprogs"
84  install_images = [
85    "system",
86    "updater",
87  ]
88}
89
90###################################################
91###Build e2fsck
92config("e2fsck-defaults") {
93  cflags = [
94    "-Wno-pointer-sign",
95    "-Wno-unused-variable",
96    "-Wno-error=format",
97  ]
98}
99
100ohos_executable("e2fsck") {
101  configs = [ ":e2fsck-defaults" ]
102  sources = [
103    "e2fsprogs/e2fsck/badblocks.c",
104    "e2fsprogs/e2fsck/dirinfo.c",
105    "e2fsprogs/e2fsck/dx_dirinfo.c",
106    "e2fsprogs/e2fsck/e2fsck.c",
107    "e2fsprogs/e2fsck/ea_refcount.c",
108    "e2fsprogs/e2fsck/ehandler.c",
109    "e2fsprogs/e2fsck/encrypted_files.c",
110    "e2fsprogs/e2fsck/extents.c",
111    "e2fsprogs/e2fsck/journal.c",
112    "e2fsprogs/e2fsck/logfile.c",
113    "e2fsprogs/e2fsck/message.c",
114    "e2fsprogs/e2fsck/pass1.c",
115    "e2fsprogs/e2fsck/pass1b.c",
116    "e2fsprogs/e2fsck/pass2.c",
117    "e2fsprogs/e2fsck/pass3.c",
118    "e2fsprogs/e2fsck/pass4.c",
119    "e2fsprogs/e2fsck/pass5.c",
120    "e2fsprogs/e2fsck/problem.c",
121    "e2fsprogs/e2fsck/quota.c",
122    "e2fsprogs/e2fsck/readahead.c",
123    "e2fsprogs/e2fsck/recovery.c",
124    "e2fsprogs/e2fsck/region.c",
125    "e2fsprogs/e2fsck/rehash.c",
126    "e2fsprogs/e2fsck/revoke.c",
127    "e2fsprogs/e2fsck/sigcatcher.c",
128    "e2fsprogs/e2fsck/super.c",
129    "e2fsprogs/e2fsck/unix.c",
130    "e2fsprogs/e2fsck/util.c",
131  ]
132
133  include_dirs = [
134    "//third_party/e2fsprogs/e2fsprogs/e2fsck",
135    "//third_party/e2fsprogs/e2fsprogs/lib",
136    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
137  ]
138
139  deps = [
140    ":libext2_blkid",
141    ":libext2_com_err",
142    ":libext2_e2p",
143    ":libext2_quota",
144    ":libext2_uuid",
145    ":libext2fs",
146  ]
147
148  install_enable = true
149  subsystem_name = "thirdparty"
150  part_name = "e2fsprogs"
151  install_images = [
152    "system",
153    "updater",
154  ]
155}
156
157###################################################
158###Build libext2_blkid
159config("libext2-headers") {
160  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib" ]
161}
162
163config("libext2_blkid-defaults") {
164  cflags = [
165    "-Wno-implicit-function-declaration",
166    "-Wno-int-conversion",
167  ]
168  defines = [ "secure_getenv=getenv" ]
169}
170
171ohos_shared_library("libext2_blkid") {
172  configs = [
173    ":libext2_blkid-defaults",
174    ":libext2-headers",
175  ]
176  sources = [
177    "e2fsprogs/lib/blkid/cache.c",
178    "e2fsprogs/lib/blkid/dev.c",
179    "e2fsprogs/lib/blkid/devname.c",
180    "e2fsprogs/lib/blkid/devno.c",
181    "e2fsprogs/lib/blkid/getsize.c",
182    "e2fsprogs/lib/blkid/llseek.c",
183    "e2fsprogs/lib/blkid/probe.c",
184    "e2fsprogs/lib/blkid/read.c",
185    "e2fsprogs/lib/blkid/resolve.c",
186    "e2fsprogs/lib/blkid/save.c",
187    "e2fsprogs/lib/blkid/tag.c",
188    "e2fsprogs/lib/blkid/version.c",
189  ]
190
191  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/blkid" ]
192  deps = [ ":libext2_uuid" ]
193  cflags = [
194    "-Wno-error=attributes",
195    "-Wno-error=pointer-sign",
196    "-Wno-unused-parameter",
197    "-fno-strict-aliasing",
198  ]
199  install_enable = true
200  subsystem_name = "thirdparty"
201  part_name = "e2fsprogs"
202  install_images = [
203    "system",
204    "updater",
205  ]
206}
207
208###################################################
209###Build libext2_e2p
210config("libext2_e2p-defaults") {
211  cflags = [
212    "-Wall",
213    "-Werror",
214  ]
215}
216
217ohos_shared_library("libext2_e2p") {
218  sources = [
219    "e2fsprogs/lib/e2p/encoding.c",
220    "e2fsprogs/lib/e2p/errcode.c",
221    "e2fsprogs/lib/e2p/feature.c",
222    "e2fsprogs/lib/e2p/fgetflags.c",
223    "e2fsprogs/lib/e2p/fgetproject.c",
224    "e2fsprogs/lib/e2p/fgetversion.c",
225    "e2fsprogs/lib/e2p/fsetflags.c",
226    "e2fsprogs/lib/e2p/fsetproject.c",
227    "e2fsprogs/lib/e2p/fsetversion.c",
228    "e2fsprogs/lib/e2p/getflags.c",
229    "e2fsprogs/lib/e2p/getversion.c",
230    "e2fsprogs/lib/e2p/hashstr.c",
231    "e2fsprogs/lib/e2p/iod.c",
232    "e2fsprogs/lib/e2p/ljs.c",
233    "e2fsprogs/lib/e2p/ls.c",
234    "e2fsprogs/lib/e2p/mntopts.c",
235    "e2fsprogs/lib/e2p/ostype.c",
236    "e2fsprogs/lib/e2p/parse_num.c",
237    "e2fsprogs/lib/e2p/pe.c",
238    "e2fsprogs/lib/e2p/percent.c",
239    "e2fsprogs/lib/e2p/pf.c",
240    "e2fsprogs/lib/e2p/ps.c",
241    "e2fsprogs/lib/e2p/setflags.c",
242    "e2fsprogs/lib/e2p/setversion.c",
243    "e2fsprogs/lib/e2p/uuid.c",
244  ]
245  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/e2p" ]
246
247  configs = [
248    ":libext2_e2p-defaults",
249    ":libext2-headers",
250  ]
251  cflags = [
252    "-Wno-error=attributes",
253    "-Wno-unused-parameter",
254  ]
255  install_enable = true
256  subsystem_name = "thirdparty"
257  part_name = "e2fsprogs"
258  install_images = [
259    "system",
260    "updater",
261  ]
262}
263
264###################################################
265###Build libext2_com_err
266config("libext2_com_err-defaults") {
267  cflags = [
268    "-Wno-int-conversion",
269    "-Wno-implicit-function-declaration",
270  ]
271  defines = [ "secure_getenv=getenv" ]
272}
273
274ohos_shared_library("libext2_com_err") {
275  sources = [
276    "e2fsprogs/lib/et/com_err.c",
277    "e2fsprogs/lib/et/com_right.c",
278    "e2fsprogs/lib/et/error_message.c",
279    "e2fsprogs/lib/et/et_name.c",
280    "e2fsprogs/lib/et/init_et.c",
281  ]
282
283  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/et" ]
284  configs = [
285    ":libext2_com_err-defaults",
286    ":libext2-headers",
287  ]
288  install_enable = true
289  subsystem_name = "thirdparty"
290  part_name = "e2fsprogs"
291  install_images = [
292    "system",
293    "updater",
294  ]
295}
296
297###################################################
298###Build libext2_com_err
299config("libext2fs-defaults") {
300  cflags = [
301    "-Wno-sign-compare",
302    "-Wno-pointer-sign",
303    "-Wno-implicit-function-declaration",
304    "-Wno-int-conversion",
305  ]
306  defines = [ "secure_getenv=getenv" ]
307}
308
309ohos_shared_library("libext2fs") {
310  sources = [
311    "e2fsprogs/lib/ext2fs/alloc.c",
312    "e2fsprogs/lib/ext2fs/alloc_sb.c",
313    "e2fsprogs/lib/ext2fs/alloc_stats.c",
314    "e2fsprogs/lib/ext2fs/alloc_tables.c",
315    "e2fsprogs/lib/ext2fs/atexit.c",
316    "e2fsprogs/lib/ext2fs/badblocks.c",
317    "e2fsprogs/lib/ext2fs/bb_inode.c",
318    "e2fsprogs/lib/ext2fs/bitmaps.c",
319    "e2fsprogs/lib/ext2fs/bitops.c",
320    "e2fsprogs/lib/ext2fs/blkmap64_ba.c",
321    "e2fsprogs/lib/ext2fs/blkmap64_rb.c",
322    "e2fsprogs/lib/ext2fs/blknum.c",
323    "e2fsprogs/lib/ext2fs/block.c",
324    "e2fsprogs/lib/ext2fs/bmap.c",
325    "e2fsprogs/lib/ext2fs/check_desc.c",
326    "e2fsprogs/lib/ext2fs/closefs.c",
327    "e2fsprogs/lib/ext2fs/crc16.c",
328    "e2fsprogs/lib/ext2fs/crc32c.c",
329    "e2fsprogs/lib/ext2fs/csum.c",
330    "e2fsprogs/lib/ext2fs/dblist.c",
331    "e2fsprogs/lib/ext2fs/dblist_dir.c",
332    "e2fsprogs/lib/ext2fs/digest_encode.c",
333    "e2fsprogs/lib/ext2fs/dir_iterate.c",
334    "e2fsprogs/lib/ext2fs/dirblock.c",
335    "e2fsprogs/lib/ext2fs/dirhash.c",
336    "e2fsprogs/lib/ext2fs/dupfs.c",
337    "e2fsprogs/lib/ext2fs/expanddir.c",
338    "e2fsprogs/lib/ext2fs/ext2_err.c",
339    "e2fsprogs/lib/ext2fs/ext_attr.c",
340    "e2fsprogs/lib/ext2fs/extent.c",
341    "e2fsprogs/lib/ext2fs/fallocate.c",
342    "e2fsprogs/lib/ext2fs/fileio.c",
343    "e2fsprogs/lib/ext2fs/finddev.c",
344    "e2fsprogs/lib/ext2fs/flushb.c",
345    "e2fsprogs/lib/ext2fs/freefs.c",
346    "e2fsprogs/lib/ext2fs/gen_bitmap.c",
347    "e2fsprogs/lib/ext2fs/gen_bitmap64.c",
348    "e2fsprogs/lib/ext2fs/get_num_dirs.c",
349    "e2fsprogs/lib/ext2fs/get_pathname.c",
350    "e2fsprogs/lib/ext2fs/getsectsize.c",
351    "e2fsprogs/lib/ext2fs/getsize.c",
352    "e2fsprogs/lib/ext2fs/hashmap.c",
353    "e2fsprogs/lib/ext2fs/i_block.c",
354    "e2fsprogs/lib/ext2fs/icount.c",
355    "e2fsprogs/lib/ext2fs/imager.c",
356    "e2fsprogs/lib/ext2fs/ind_block.c",
357    "e2fsprogs/lib/ext2fs/initialize.c",
358    "e2fsprogs/lib/ext2fs/inline.c",
359    "e2fsprogs/lib/ext2fs/inline_data.c",
360    "e2fsprogs/lib/ext2fs/inode.c",
361    "e2fsprogs/lib/ext2fs/io_manager.c",
362    "e2fsprogs/lib/ext2fs/ismounted.c",
363    "e2fsprogs/lib/ext2fs/link.c",
364    "e2fsprogs/lib/ext2fs/llseek.c",
365    "e2fsprogs/lib/ext2fs/lookup.c",
366    "e2fsprogs/lib/ext2fs/mkdir.c",
367    "e2fsprogs/lib/ext2fs/mkjournal.c",
368    "e2fsprogs/lib/ext2fs/mmp.c",
369    "e2fsprogs/lib/ext2fs/namei.c",
370    "e2fsprogs/lib/ext2fs/native.c",
371    "e2fsprogs/lib/ext2fs/newdir.c",
372    "e2fsprogs/lib/ext2fs/nls_utf8.c",
373    "e2fsprogs/lib/ext2fs/openfs.c",
374    "e2fsprogs/lib/ext2fs/progress.c",
375    "e2fsprogs/lib/ext2fs/punch.c",
376    "e2fsprogs/lib/ext2fs/qcow2.c",
377    "e2fsprogs/lib/ext2fs/rbtree.c",
378    "e2fsprogs/lib/ext2fs/read_bb.c",
379    "e2fsprogs/lib/ext2fs/read_bb_file.c",
380    "e2fsprogs/lib/ext2fs/res_gdt.c",
381    "e2fsprogs/lib/ext2fs/rw_bitmaps.c",
382    "e2fsprogs/lib/ext2fs/sha256.c",
383    "e2fsprogs/lib/ext2fs/sha512.c",
384    "e2fsprogs/lib/ext2fs/sparse_io.c",
385    "e2fsprogs/lib/ext2fs/swapfs.c",
386    "e2fsprogs/lib/ext2fs/symlink.c",
387    "e2fsprogs/lib/ext2fs/test_io.c",
388    "e2fsprogs/lib/ext2fs/undo_io.c",
389    "e2fsprogs/lib/ext2fs/unix_io.c",
390    "e2fsprogs/lib/ext2fs/unlink.c",
391    "e2fsprogs/lib/ext2fs/valid_blk.c",
392    "e2fsprogs/lib/ext2fs/version.c",
393  ]
394  configs = [ ":libext2fs-defaults" ]
395
396  deps = [ ":libext2_com_err" ]
397
398  cflags = [ "-Wno-unused-parameter" ]
399  include_dirs = [
400    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
401    "//third_party/e2fsprogs/e2fsprogs/lib",
402  ]
403  install_enable = true
404  subsystem_name = "thirdparty"
405  part_name = "e2fsprogs"
406  install_images = [
407    "system",
408    "updater",
409  ]
410}
411
412###################################################
413###Build libext2_ss
414config("libext2_ss-headers") {
415  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib" ]
416  defines = [ "secure_getenv=getenv" ]
417}
418
419ohos_static_library("libext2_ss") {
420  sources = [
421    "e2fsprogs/lib/ss/data.c",
422    "e2fsprogs/lib/ss/error.c",
423    "e2fsprogs/lib/ss/execute_cmd.c",
424    "e2fsprogs/lib/ss/get_readline.c",
425    "e2fsprogs/lib/ss/help.c",
426    "e2fsprogs/lib/ss/invocation.c",
427    "e2fsprogs/lib/ss/list_rqs.c",
428    "e2fsprogs/lib/ss/listen.c",
429    "e2fsprogs/lib/ss/pager.c",
430    "e2fsprogs/lib/ss/parse.c",
431    "e2fsprogs/lib/ss/prompt.c",
432    "e2fsprogs/lib/ss/request_tbl.c",
433    "e2fsprogs/lib/ss/requests.c",
434    "e2fsprogs/lib/ss/ss_err.c",
435    "e2fsprogs/lib/ss/std_rqs.c",
436  ]
437
438  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/ss" ]
439  configs = [ ":libext2_ss-headers" ]
440
441  deps = [ ":libext2_com_err" ]
442}
443
444###################################################
445###Build libext2_quota
446config("libext2_support-defaults") {
447  cflags = [
448    "-Wall",
449    "-Werror",
450  ]
451}
452
453ohos_shared_library("libext2_quota") {
454  sources = [
455    "e2fsprogs/lib/support/dict.c",
456    "e2fsprogs/lib/support/mkquota.c",
457    "e2fsprogs/lib/support/parse_qtype.c",
458    "e2fsprogs/lib/support/plausible.c",
459    "e2fsprogs/lib/support/prof_err.c",
460    "e2fsprogs/lib/support/profile.c",
461    "e2fsprogs/lib/support/profile_helpers.c",
462    "e2fsprogs/lib/support/quotaio.c",
463    "e2fsprogs/lib/support/quotaio_tree.c",
464    "e2fsprogs/lib/support/quotaio_v2.c",
465  ]
466  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/support" ]
467  configs = [
468    ":libext2_support-defaults",
469    ":libext2-headers",
470  ]
471  deps = [
472    ":libext2_blkid",
473    ":libext2_com_err",
474    ":libext2fs",
475  ]
476  install_enable = true
477  subsystem_name = "thirdparty"
478  part_name = "e2fsprogs"
479  install_images = [
480    "system",
481    "updater",
482  ]
483}
484
485###################################################
486###Build libext2_profile
487ohos_static_library("libext2_profile") {
488  sources = [
489    "e2fsprogs/lib/support/prof_err.c",
490    "e2fsprogs/lib/support/profile.c",
491  ]
492  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/support" ]
493  configs = [
494    ":libext2-headers",
495    ":libext2_support-defaults",
496  ]
497
498  deps = [ ":libext2_com_err" ]
499}
500
501###################################################
502###Build libext2_support
503ohos_static_library("libext2_support") {
504  sources = [ "e2fsprogs/lib/support/cstring.c" ]
505  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/support" ]
506  configs = [
507    ":libext2_support-defaults",
508    ":libext2-headers",
509  ]
510}
511
512###################################################
513###Build libext2_uuid
514config("libext2_uuid-defaults") {
515  cflags = [
516    "-Wall",
517    "-Werror",
518  ]
519}
520
521ohos_shared_library("libext2_uuid") {
522  sources = [
523    "e2fsprogs/lib/uuid/clear.c",
524    "e2fsprogs/lib/uuid/compare.c",
525    "e2fsprogs/lib/uuid/copy.c",
526    "e2fsprogs/lib/uuid/gen_uuid.c",
527    "e2fsprogs/lib/uuid/isnull.c",
528    "e2fsprogs/lib/uuid/pack.c",
529    "e2fsprogs/lib/uuid/parse.c",
530    "e2fsprogs/lib/uuid/unpack.c",
531    "e2fsprogs/lib/uuid/unparse.c",
532    "e2fsprogs/lib/uuid/uuid_time.c",
533  ]
534  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/uuid" ]
535  cflags = [
536    "-Wno-unused-function",
537    "-Wno-unused-parameter",
538  ]
539  public_configs = [ ":e2fsdroid_libext2_uuid" ]
540  configs = [
541    ":libext2_uuid-defaults",
542    ":libext2-headers",
543  ]
544  install_enable = true
545  innerapi_tags = [ "platformsdk" ]
546  subsystem_name = "thirdparty"
547  part_name = "e2fsprogs"
548  install_images = [
549    "system",
550    "updater",
551  ]
552}
553
554###################################################
555###Build libext2_misc
556config("libext2_misc-defaults") {
557  cflags = [ "-Wno-pointer-sign" ]
558}
559
560ohos_shared_library("libext2_misc") {
561  configs = [ ":libext2_misc-defaults" ]
562  sources = [ "e2fsprogs/misc/create_inode.c" ]
563  include_dirs = [
564    "//third_party/e2fsprogs/e2fsprogs/misc",
565    "//third_party/e2fsprogs/e2fsprogs/lib",
566  ]
567  cflags = [ "-Wno-error=format-extra-args" ]
568
569  deps = [
570    ":libext2_com_err",
571    ":libext2fs",
572  ]
573  install_enable = true
574  subsystem_name = "thirdparty"
575  part_name = "e2fsprogs"
576  install_images = [
577    "system",
578    "updater",
579  ]
580}
581
582###################################################
583###Build mke2fs
584ohos_executable("mke2fs") {
585  configs = [ ":libext2_misc-defaults" ]
586  sources = [
587    "e2fsprogs/misc/default_profile.c",
588    "e2fsprogs/misc/mk_hugefiles.c",
589    "e2fsprogs/misc/mke2fs.c",
590    "e2fsprogs/misc/util.c",
591  ]
592
593  include_dirs = [
594    "//third_party/e2fsprogs/e2fsprogs/misc",
595    "//third_party/e2fsprogs/e2fsprogs/e2fsck",
596    "//third_party/e2fsprogs/e2fsprogs/lib",
597    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
598  ]
599  cflags = [
600    "-Wno-error=format",
601    "-Wno-error=type-limits",
602    "-Wno-format-extra-args",
603  ]
604
605  deps = [
606    ":libext2_blkid",
607    ":libext2_com_err",
608    ":libext2_e2p",
609    ":libext2_misc",
610    ":libext2_quota",
611    ":libext2_uuid",
612    ":libext2fs",
613  ]
614
615  install_enable = true
616  subsystem_name = "thirdparty"
617  part_name = "e2fsprogs"
618  install_images = [
619    "system",
620    "updater",
621  ]
622}
623
624###################################################
625###Build blkid
626ohos_executable("blkid") {
627  configs = [ ":libext2_misc-defaults" ]
628  sources = [ "e2fsprogs/misc/blkid.c" ]
629
630  include_dirs = [
631    "//third_party/e2fsprogs/e2fsprogs/misc",
632    "//third_party/e2fsprogs/e2fsprogs/lib",
633    "//third_party/e2fsprogs/e2fsprogs/lib/blkid",
634  ]
635  cflags = [
636    "-Wno-error=format",
637    "-Wno-error=type-limits",
638    "-Wno-format-extra-args",
639  ]
640
641  deps = [
642    ":libext2_blkid",
643    ":libext2fs",
644  ]
645
646  install_enable = true
647  subsystem_name = "filemanagement"
648  part_name = "storage_service"
649  install_images = [
650    "system",
651    "updater",
652  ]
653  external_deps = [ "c_utils:utils" ]
654}
655
656###################################################
657###Build resize2fs
658config("resize2fs-defaults") {
659  cflags = [ "-Wno-pointer-sign" ]
660}
661
662ohos_executable("resize2fs") {
663  configs = [ ":resize2fs-defaults" ]
664  sources = [
665    "e2fsprogs/resize/extent.c",
666    "e2fsprogs/resize/main.c",
667    "e2fsprogs/resize/online.c",
668    "e2fsprogs/resize/resize2fs.c",
669    "e2fsprogs/resize/resource_track.c",
670    "e2fsprogs/resize/sim_progress.c",
671  ]
672
673  include_dirs = [
674    "//third_party/e2fsprogs/e2fsprogs/resize",
675    "//third_party/e2fsprogs/e2fsprogs/e2fsck",
676    "//third_party/e2fsprogs/e2fsprogs/lib",
677    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
678  ]
679  cflags = [
680    "-Wno-error=format",
681    "-Wno-error=type-limits",
682    "-Wno-format-extra-args",
683  ]
684
685  deps = [
686    ":libext2_com_err",
687    ":libext2_e2p",
688    ":libext2fs",
689  ]
690
691  if (is_ohos) {
692    ldflags = [ "-stdlib=libc++_static" ]
693  }
694  install_enable = true
695  subsystem_name = "thirdparty"
696  part_name = "e2fsprogs"
697  install_images = [
698    "system",
699    "updater",
700  ]
701}
702