• 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
171config("libext2_blkid_public_config") {
172  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib" ]
173}
174
175ohos_shared_library("libext2_blkid") {
176  configs = [
177    ":libext2_blkid-defaults",
178    ":libext2-headers",
179  ]
180  public_configs = [ ":libext2_blkid_public_config" ]
181  sources = [
182    "e2fsprogs/lib/blkid/cache.c",
183    "e2fsprogs/lib/blkid/dev.c",
184    "e2fsprogs/lib/blkid/devname.c",
185    "e2fsprogs/lib/blkid/devno.c",
186    "e2fsprogs/lib/blkid/getsize.c",
187    "e2fsprogs/lib/blkid/llseek.c",
188    "e2fsprogs/lib/blkid/probe.c",
189    "e2fsprogs/lib/blkid/read.c",
190    "e2fsprogs/lib/blkid/resolve.c",
191    "e2fsprogs/lib/blkid/save.c",
192    "e2fsprogs/lib/blkid/tag.c",
193    "e2fsprogs/lib/blkid/version.c",
194  ]
195
196  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/blkid" ]
197  deps = [ ":libext2_uuid" ]
198  cflags = [
199    "-Wno-error=attributes",
200    "-Wno-error=pointer-sign",
201    "-Wno-unused-parameter",
202    "-fno-strict-aliasing",
203  ]
204  install_enable = true
205  subsystem_name = "thirdparty"
206  part_name = "e2fsprogs"
207  install_images = [
208    "system",
209    "updater",
210  ]
211}
212
213###################################################
214###Build libext2_e2p
215config("libext2_e2p-defaults") {
216  cflags = [
217    "-Wall",
218    "-Werror",
219  ]
220}
221
222ohos_shared_library("libext2_e2p") {
223  sources = [
224    "e2fsprogs/lib/e2p/encoding.c",
225    "e2fsprogs/lib/e2p/errcode.c",
226    "e2fsprogs/lib/e2p/feature.c",
227    "e2fsprogs/lib/e2p/fgetflags.c",
228    "e2fsprogs/lib/e2p/fgetproject.c",
229    "e2fsprogs/lib/e2p/fgetversion.c",
230    "e2fsprogs/lib/e2p/fsetflags.c",
231    "e2fsprogs/lib/e2p/fsetproject.c",
232    "e2fsprogs/lib/e2p/fsetversion.c",
233    "e2fsprogs/lib/e2p/getflags.c",
234    "e2fsprogs/lib/e2p/getversion.c",
235    "e2fsprogs/lib/e2p/hashstr.c",
236    "e2fsprogs/lib/e2p/iod.c",
237    "e2fsprogs/lib/e2p/ljs.c",
238    "e2fsprogs/lib/e2p/ls.c",
239    "e2fsprogs/lib/e2p/mntopts.c",
240    "e2fsprogs/lib/e2p/ostype.c",
241    "e2fsprogs/lib/e2p/parse_num.c",
242    "e2fsprogs/lib/e2p/pe.c",
243    "e2fsprogs/lib/e2p/percent.c",
244    "e2fsprogs/lib/e2p/pf.c",
245    "e2fsprogs/lib/e2p/ps.c",
246    "e2fsprogs/lib/e2p/setflags.c",
247    "e2fsprogs/lib/e2p/setversion.c",
248    "e2fsprogs/lib/e2p/uuid.c",
249  ]
250  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/e2p" ]
251
252  configs = [
253    ":libext2_e2p-defaults",
254    ":libext2-headers",
255  ]
256  cflags = [
257    "-Wno-error=attributes",
258    "-Wno-unused-parameter",
259  ]
260  install_enable = true
261  subsystem_name = "thirdparty"
262  part_name = "e2fsprogs"
263  install_images = [
264    "system",
265    "updater",
266  ]
267}
268
269###################################################
270###Build libext2_com_err
271config("libext2_com_err-defaults") {
272  cflags = [
273    "-Wno-int-conversion",
274    "-Wno-implicit-function-declaration",
275  ]
276  defines = [ "secure_getenv=getenv" ]
277}
278
279ohos_shared_library("libext2_com_err") {
280  sources = [
281    "e2fsprogs/lib/et/com_err.c",
282    "e2fsprogs/lib/et/com_right.c",
283    "e2fsprogs/lib/et/error_message.c",
284    "e2fsprogs/lib/et/et_name.c",
285    "e2fsprogs/lib/et/init_et.c",
286  ]
287
288  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/et" ]
289  configs = [
290    ":libext2_com_err-defaults",
291    ":libext2-headers",
292  ]
293  install_enable = true
294  subsystem_name = "thirdparty"
295  part_name = "e2fsprogs"
296  install_images = [
297    "system",
298    "updater",
299  ]
300}
301
302###################################################
303###Build libext2_com_err
304config("libext2fs-defaults") {
305  cflags = [
306    "-Wno-sign-compare",
307    "-Wno-pointer-sign",
308    "-Wno-implicit-function-declaration",
309    "-Wno-int-conversion",
310  ]
311  defines = [ "secure_getenv=getenv" ]
312}
313
314ohos_shared_library("libext2fs") {
315  sources = [
316    "e2fsprogs/lib/ext2fs/alloc.c",
317    "e2fsprogs/lib/ext2fs/alloc_sb.c",
318    "e2fsprogs/lib/ext2fs/alloc_stats.c",
319    "e2fsprogs/lib/ext2fs/alloc_tables.c",
320    "e2fsprogs/lib/ext2fs/atexit.c",
321    "e2fsprogs/lib/ext2fs/badblocks.c",
322    "e2fsprogs/lib/ext2fs/bb_inode.c",
323    "e2fsprogs/lib/ext2fs/bitmaps.c",
324    "e2fsprogs/lib/ext2fs/bitops.c",
325    "e2fsprogs/lib/ext2fs/blkmap64_ba.c",
326    "e2fsprogs/lib/ext2fs/blkmap64_rb.c",
327    "e2fsprogs/lib/ext2fs/blknum.c",
328    "e2fsprogs/lib/ext2fs/block.c",
329    "e2fsprogs/lib/ext2fs/bmap.c",
330    "e2fsprogs/lib/ext2fs/check_desc.c",
331    "e2fsprogs/lib/ext2fs/closefs.c",
332    "e2fsprogs/lib/ext2fs/crc16.c",
333    "e2fsprogs/lib/ext2fs/crc32c.c",
334    "e2fsprogs/lib/ext2fs/csum.c",
335    "e2fsprogs/lib/ext2fs/dblist.c",
336    "e2fsprogs/lib/ext2fs/dblist_dir.c",
337    "e2fsprogs/lib/ext2fs/digest_encode.c",
338    "e2fsprogs/lib/ext2fs/dir_iterate.c",
339    "e2fsprogs/lib/ext2fs/dirblock.c",
340    "e2fsprogs/lib/ext2fs/dirhash.c",
341    "e2fsprogs/lib/ext2fs/dupfs.c",
342    "e2fsprogs/lib/ext2fs/expanddir.c",
343    "e2fsprogs/lib/ext2fs/ext2_err.c",
344    "e2fsprogs/lib/ext2fs/ext_attr.c",
345    "e2fsprogs/lib/ext2fs/extent.c",
346    "e2fsprogs/lib/ext2fs/fallocate.c",
347    "e2fsprogs/lib/ext2fs/fileio.c",
348    "e2fsprogs/lib/ext2fs/finddev.c",
349    "e2fsprogs/lib/ext2fs/flushb.c",
350    "e2fsprogs/lib/ext2fs/freefs.c",
351    "e2fsprogs/lib/ext2fs/gen_bitmap.c",
352    "e2fsprogs/lib/ext2fs/gen_bitmap64.c",
353    "e2fsprogs/lib/ext2fs/get_num_dirs.c",
354    "e2fsprogs/lib/ext2fs/get_pathname.c",
355    "e2fsprogs/lib/ext2fs/getsectsize.c",
356    "e2fsprogs/lib/ext2fs/getsize.c",
357    "e2fsprogs/lib/ext2fs/hashmap.c",
358    "e2fsprogs/lib/ext2fs/i_block.c",
359    "e2fsprogs/lib/ext2fs/icount.c",
360    "e2fsprogs/lib/ext2fs/imager.c",
361    "e2fsprogs/lib/ext2fs/ind_block.c",
362    "e2fsprogs/lib/ext2fs/initialize.c",
363    "e2fsprogs/lib/ext2fs/inline.c",
364    "e2fsprogs/lib/ext2fs/inline_data.c",
365    "e2fsprogs/lib/ext2fs/inode.c",
366    "e2fsprogs/lib/ext2fs/io_manager.c",
367    "e2fsprogs/lib/ext2fs/ismounted.c",
368    "e2fsprogs/lib/ext2fs/link.c",
369    "e2fsprogs/lib/ext2fs/llseek.c",
370    "e2fsprogs/lib/ext2fs/lookup.c",
371    "e2fsprogs/lib/ext2fs/mkdir.c",
372    "e2fsprogs/lib/ext2fs/mkjournal.c",
373    "e2fsprogs/lib/ext2fs/mmp.c",
374    "e2fsprogs/lib/ext2fs/namei.c",
375    "e2fsprogs/lib/ext2fs/native.c",
376    "e2fsprogs/lib/ext2fs/newdir.c",
377    "e2fsprogs/lib/ext2fs/nls_utf8.c",
378    "e2fsprogs/lib/ext2fs/openfs.c",
379    "e2fsprogs/lib/ext2fs/progress.c",
380    "e2fsprogs/lib/ext2fs/punch.c",
381    "e2fsprogs/lib/ext2fs/qcow2.c",
382    "e2fsprogs/lib/ext2fs/rbtree.c",
383    "e2fsprogs/lib/ext2fs/read_bb.c",
384    "e2fsprogs/lib/ext2fs/read_bb_file.c",
385    "e2fsprogs/lib/ext2fs/res_gdt.c",
386    "e2fsprogs/lib/ext2fs/rw_bitmaps.c",
387    "e2fsprogs/lib/ext2fs/sha256.c",
388    "e2fsprogs/lib/ext2fs/sha512.c",
389    "e2fsprogs/lib/ext2fs/sparse_io.c",
390    "e2fsprogs/lib/ext2fs/swapfs.c",
391    "e2fsprogs/lib/ext2fs/symlink.c",
392    "e2fsprogs/lib/ext2fs/test_io.c",
393    "e2fsprogs/lib/ext2fs/undo_io.c",
394    "e2fsprogs/lib/ext2fs/unix_io.c",
395    "e2fsprogs/lib/ext2fs/unlink.c",
396    "e2fsprogs/lib/ext2fs/valid_blk.c",
397    "e2fsprogs/lib/ext2fs/version.c",
398  ]
399  configs = [ ":libext2fs-defaults" ]
400
401  deps = [ ":libext2_com_err" ]
402
403  cflags = [ "-Wno-unused-parameter" ]
404  include_dirs = [
405    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
406    "//third_party/e2fsprogs/e2fsprogs/lib",
407  ]
408  install_enable = true
409  subsystem_name = "thirdparty"
410  part_name = "e2fsprogs"
411  install_images = [
412    "system",
413    "updater",
414  ]
415}
416
417###################################################
418###Build libext2_ss
419config("libext2_ss-headers") {
420  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib" ]
421  defines = [ "secure_getenv=getenv" ]
422}
423
424ohos_static_library("libext2_ss") {
425  sources = [
426    "e2fsprogs/lib/ss/data.c",
427    "e2fsprogs/lib/ss/error.c",
428    "e2fsprogs/lib/ss/execute_cmd.c",
429    "e2fsprogs/lib/ss/get_readline.c",
430    "e2fsprogs/lib/ss/help.c",
431    "e2fsprogs/lib/ss/invocation.c",
432    "e2fsprogs/lib/ss/list_rqs.c",
433    "e2fsprogs/lib/ss/listen.c",
434    "e2fsprogs/lib/ss/pager.c",
435    "e2fsprogs/lib/ss/parse.c",
436    "e2fsprogs/lib/ss/prompt.c",
437    "e2fsprogs/lib/ss/request_tbl.c",
438    "e2fsprogs/lib/ss/requests.c",
439    "e2fsprogs/lib/ss/ss_err.c",
440    "e2fsprogs/lib/ss/std_rqs.c",
441  ]
442
443  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/ss" ]
444  configs = [ ":libext2_ss-headers" ]
445
446  deps = [ ":libext2_com_err" ]
447}
448
449###################################################
450###Build libext2_quota
451config("libext2_support-defaults") {
452  cflags = [
453    "-Wall",
454    "-Werror",
455  ]
456}
457
458ohos_shared_library("libext2_quota") {
459  sources = [
460    "e2fsprogs/lib/support/dict.c",
461    "e2fsprogs/lib/support/mkquota.c",
462    "e2fsprogs/lib/support/parse_qtype.c",
463    "e2fsprogs/lib/support/plausible.c",
464    "e2fsprogs/lib/support/prof_err.c",
465    "e2fsprogs/lib/support/profile.c",
466    "e2fsprogs/lib/support/profile_helpers.c",
467    "e2fsprogs/lib/support/quotaio.c",
468    "e2fsprogs/lib/support/quotaio_tree.c",
469    "e2fsprogs/lib/support/quotaio_v2.c",
470  ]
471  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/support" ]
472  configs = [
473    ":libext2_support-defaults",
474    ":libext2-headers",
475  ]
476  deps = [
477    ":libext2_blkid",
478    ":libext2_com_err",
479    ":libext2fs",
480  ]
481  install_enable = true
482  subsystem_name = "thirdparty"
483  part_name = "e2fsprogs"
484  install_images = [
485    "system",
486    "updater",
487  ]
488}
489
490###################################################
491###Build libext2_profile
492ohos_static_library("libext2_profile") {
493  sources = [
494    "e2fsprogs/lib/support/prof_err.c",
495    "e2fsprogs/lib/support/profile.c",
496  ]
497  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/support" ]
498  configs = [
499    ":libext2-headers",
500    ":libext2_support-defaults",
501  ]
502
503  deps = [ ":libext2_com_err" ]
504}
505
506###################################################
507###Build libext2_support
508ohos_static_library("libext2_support") {
509  sources = [ "e2fsprogs/lib/support/cstring.c" ]
510  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/support" ]
511  configs = [
512    ":libext2_support-defaults",
513    ":libext2-headers",
514  ]
515}
516
517###################################################
518###Build libext2_uuid
519config("libext2_uuid-defaults") {
520  cflags = [
521    "-Wall",
522    "-Werror",
523  ]
524}
525
526ohos_shared_library("libext2_uuid") {
527  sources = [
528    "e2fsprogs/lib/uuid/clear.c",
529    "e2fsprogs/lib/uuid/compare.c",
530    "e2fsprogs/lib/uuid/copy.c",
531    "e2fsprogs/lib/uuid/gen_uuid.c",
532    "e2fsprogs/lib/uuid/isnull.c",
533    "e2fsprogs/lib/uuid/pack.c",
534    "e2fsprogs/lib/uuid/parse.c",
535    "e2fsprogs/lib/uuid/unpack.c",
536    "e2fsprogs/lib/uuid/unparse.c",
537    "e2fsprogs/lib/uuid/uuid_time.c",
538  ]
539  include_dirs = [ "//third_party/e2fsprogs/e2fsprogs/lib/uuid" ]
540  cflags = [
541    "-Wno-unused-function",
542    "-Wno-unused-parameter",
543  ]
544  public_configs = [ ":e2fsdroid_libext2_uuid" ]
545  configs = [
546    ":libext2_uuid-defaults",
547    ":libext2-headers",
548  ]
549  install_enable = true
550  innerapi_tags = [ "platformsdk" ]
551  subsystem_name = "thirdparty"
552  part_name = "e2fsprogs"
553  install_images = [
554    "system",
555    "updater",
556  ]
557}
558
559###################################################
560###Build libext2_misc
561config("libext2_misc-defaults") {
562  cflags = [ "-Wno-pointer-sign" ]
563}
564
565ohos_shared_library("libext2_misc") {
566  configs = [ ":libext2_misc-defaults" ]
567  sources = [ "e2fsprogs/misc/create_inode.c" ]
568  include_dirs = [
569    "//third_party/e2fsprogs/e2fsprogs/misc",
570    "//third_party/e2fsprogs/e2fsprogs/lib",
571  ]
572  cflags = [ "-Wno-error=format-extra-args" ]
573
574  deps = [
575    ":libext2_com_err",
576    ":libext2fs",
577  ]
578  install_enable = true
579  subsystem_name = "thirdparty"
580  part_name = "e2fsprogs"
581  install_images = [
582    "system",
583    "updater",
584  ]
585}
586
587###################################################
588###Build mke2fs
589ohos_executable("mke2fs") {
590  configs = [ ":libext2_misc-defaults" ]
591  sources = [
592    "e2fsprogs/misc/default_profile.c",
593    "e2fsprogs/misc/mk_hugefiles.c",
594    "e2fsprogs/misc/mke2fs.c",
595    "e2fsprogs/misc/util.c",
596  ]
597
598  include_dirs = [
599    "//third_party/e2fsprogs/e2fsprogs/misc",
600    "//third_party/e2fsprogs/e2fsprogs/e2fsck",
601    "//third_party/e2fsprogs/e2fsprogs/lib",
602    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
603  ]
604  cflags = [
605    "-Wno-error=format",
606    "-Wno-error=type-limits",
607    "-Wno-format-extra-args",
608  ]
609
610  deps = [
611    ":libext2_blkid",
612    ":libext2_com_err",
613    ":libext2_e2p",
614    ":libext2_misc",
615    ":libext2_quota",
616    ":libext2_uuid",
617    ":libext2fs",
618  ]
619
620  install_enable = true
621  subsystem_name = "thirdparty"
622  part_name = "e2fsprogs"
623  install_images = [
624    "system",
625    "updater",
626  ]
627}
628
629###################################################
630###Build blkid
631ohos_executable("blkid") {
632  configs = [ ":libext2_misc-defaults" ]
633  sources = [ "e2fsprogs/misc/blkid.c" ]
634
635  include_dirs = [
636    "//third_party/e2fsprogs/e2fsprogs/misc",
637    "//third_party/e2fsprogs/e2fsprogs/lib",
638    "//third_party/e2fsprogs/e2fsprogs/lib/blkid",
639  ]
640  cflags = [
641    "-Wno-error=format",
642    "-Wno-error=type-limits",
643    "-Wno-format-extra-args",
644  ]
645
646  deps = [
647    ":libext2_blkid",
648    ":libext2fs",
649  ]
650
651  install_enable = true
652  subsystem_name = "filemanagement"
653  part_name = "storage_service"
654  install_images = [
655    "system",
656    "updater",
657  ]
658  external_deps = [ "c_utils:utils" ]
659}
660
661###################################################
662###Build resize2fs
663config("resize2fs-defaults") {
664  cflags = [ "-Wno-pointer-sign" ]
665}
666
667ohos_executable("resize2fs") {
668  configs = [ ":resize2fs-defaults" ]
669  sources = [
670    "e2fsprogs/resize/extent.c",
671    "e2fsprogs/resize/main.c",
672    "e2fsprogs/resize/online.c",
673    "e2fsprogs/resize/resize2fs.c",
674    "e2fsprogs/resize/resource_track.c",
675    "e2fsprogs/resize/sim_progress.c",
676  ]
677
678  include_dirs = [
679    "//third_party/e2fsprogs/e2fsprogs/resize",
680    "//third_party/e2fsprogs/e2fsprogs/e2fsck",
681    "//third_party/e2fsprogs/e2fsprogs/lib",
682    "//third_party/e2fsprogs/e2fsprogs/lib/ext2fs",
683  ]
684  cflags = [
685    "-Wno-error=format",
686    "-Wno-error=type-limits",
687    "-Wno-format-extra-args",
688  ]
689
690  deps = [
691    ":libext2_com_err",
692    ":libext2_e2p",
693    ":libext2fs",
694  ]
695
696  if (is_ohos) {
697    ldflags = [ "-stdlib=libc++_static" ]
698  }
699  install_enable = true
700  subsystem_name = "thirdparty"
701  part_name = "e2fsprogs"
702  install_images = [
703    "system",
704    "updater",
705  ]
706}
707