• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2017 The Android Open Source Project
2
3package {
4    default_applicable_licenses: ["external_f2fs-tools_license"],
5}
6
7// Added automatically by a large-scale-change that took the approach of
8// 'apply every license found to every target'. While this makes sure we respect
9// every license restriction, it may not be entirely correct.
10//
11// e.g. GPL in an MIT project might only apply to the contrib/ directory.
12//
13// Please consider splitting the single license below into multiple licenses,
14// taking care not to lose any license_kind information, and overriding the
15// default license using the 'licenses: [...]' property on targets as needed.
16//
17// For unused files, consider creating a 'fileGroup' with "//visibility:private"
18// to attach the license to, and including a comment whether the files may be
19// used in the current project.
20//
21// large-scale-change included anything that looked like it might be a license
22// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
23//
24// Please consider removing redundant or irrelevant files from 'license_text:'.
25// See: http://go/android-license-faq
26license {
27    name: "external_f2fs-tools_license",
28    visibility: [":__subpackages__"],
29    license_kinds: [
30        "SPDX-license-identifier-BSD",
31        "SPDX-license-identifier-GPL",
32        "SPDX-license-identifier-GPL-2.0",
33        "SPDX-license-identifier-LGPL",
34        "SPDX-license-identifier-LGPL-2.1",
35    ],
36    license_text: [
37        "COPYING",
38        "NOTICE",
39    ],
40}
41
42cc_defaults {
43    name: "f2fs-tools-defaults",
44    cflags: [
45        "-DF2FS_MAJOR_VERSION=1",
46        "-DF2FS_MINOR_VERSION=16",
47        "-DF2FS_TOOLS_DATE=\"2023-04-11\"",
48        "-DF2FS_TOOLS_VERSION=\"1.16.0\"",
49        "-DWITH_ANDROID",
50        "-D_FILE_OFFSET_BITS=64",
51        "-Wall",
52        "-Werror",
53        "-Wno-macro-redefined",
54        "-Wno-missing-field-initializers",
55        "-Wno-pointer-arith",
56        "-Wno-sign-compare",
57    ],
58    local_include_dirs: [
59        "fsck",
60        "include",
61        "mkfs",
62    ],
63    target: {
64        windows: {
65            enabled: false,
66        },
67    },
68}
69
70cc_defaults {
71    name: "libf2fs_src_files",
72    cflags: ["-DWITH_BLKDISCARD"],
73    srcs: [
74        "lib/libf2fs.c",
75        "lib/libf2fs_zoned.c",
76        "lib/nls_utf8.c",
77        "mkfs/f2fs_format.c",
78        "mkfs/f2fs_format_utils.c",
79    ],
80    static_libs: [
81        "libext2_uuid",
82    ],
83}
84
85cc_defaults {
86    name: "make_f2fs_src_files",
87    srcs: [
88        "lib/libf2fs_io.c",
89        "mkfs/f2fs_format_main.c",
90    ],
91}
92
93cc_defaults {
94    name: "fsck_main_src_files",
95    srcs: [
96        "fsck/dict.c",
97        "fsck/dir.c",
98        "fsck/dump.c",
99        "fsck/main.c",
100        "fsck/mkquota.c",
101        "fsck/mount.c",
102        "fsck/node.c",
103        "fsck/quotaio.c",
104        "fsck/quotaio_tree.c",
105        "fsck/quotaio_v2.c",
106        "fsck/segment.c",
107        "fsck/xattr.c",
108        "lib/libf2fs.c",
109        "lib/libf2fs_io.c",
110        "lib/libf2fs_zoned.c",
111        "lib/nls_utf8.c",
112    ],
113}
114
115cc_library_static {
116    name: "libf2fs_fmt",
117    recovery_available: true,
118    defaults: [
119        "f2fs-tools-defaults",
120        "libf2fs_src_files",
121    ],
122}
123
124cc_library_host_static {
125    name: "libf2fs_fmt_host",
126    defaults: [
127        "f2fs-tools-defaults",
128        "libf2fs_src_files",
129    ],
130    target: {
131        windows: {
132            include_dirs: ["external/e2fsprogs/include/mingw"],
133            cflags: [
134                "-DANDROID_WINDOWS_HOST",
135                "-Wno-typedef-redefinition",
136                "-Wno-unused-parameter",
137            ],
138            enabled: true,
139        },
140    },
141}
142
143cc_defaults {
144    name: "make_f2fs_defaults",
145    defaults: [
146        "f2fs-tools-defaults",
147        "make_f2fs_src_files",
148    ],
149    target: {
150        android: {
151            static_libs: [
152                "libf2fs_fmt",
153            ],
154            shared_libs: [
155                "libbase",
156                "libext2_uuid",
157                "libsparse",
158            ],
159        },
160    },
161}
162
163cc_defaults {
164    name: "make_f2fs_host_defaults",
165    defaults: [
166        "make_f2fs_defaults",
167    ],
168    host_supported: true,
169    target: {
170        host: {
171            static_libs: [
172                "libbase",
173                "libext2_uuid",
174                "libf2fs_fmt_host",
175                "libsparse",
176                "libz",
177            ],
178        },
179        windows: {
180            include_dirs: ["external/e2fsprogs/include/mingw"],
181            cflags: ["-DANDROID_WINDOWS_HOST"],
182            ldflags: ["-static"],
183            host_ldlibs: ["-lws2_32"],
184            enabled: true,
185        },
186    },
187}
188
189cc_binary {
190    name: "make_f2fs",
191    defaults: [
192        "make_f2fs_host_defaults",
193    ],
194    target: {
195        host: {
196            dist: {
197                targets: [
198                    "dist_files",
199                    "sdk",
200                ],
201            },
202        },
203    },
204}
205
206cc_binary {
207    name: "make_f2fs.recovery",
208    defaults: [
209        "make_f2fs_defaults",
210    ],
211    recovery: true,
212    stem: "make_f2fs",
213}
214
215cc_binary_host {
216    name: "make_f2fs_casefold",
217    defaults: [
218        "make_f2fs_host_defaults",
219    ],
220    recovery_available: true,
221    target: {
222        host: {
223            cflags: [
224                "-DCONF_CASEFOLD",
225                "-DCONF_PROJID",
226            ],
227            dist: {
228                targets: [
229                    "dist_files",
230                    "sdk",
231                ],
232            },
233        },
234        windows: {
235            cflags: [
236                "-DCONF_CASEFOLD",
237                "-DCONF_PROJID",
238            ],
239        },
240    },
241}
242
243cc_binary_host {
244    name: "make_f2fs.static",
245    defaults: [
246        "make_f2fs_host_defaults",
247    ],
248    recovery_available: true,
249    static_executable: true,
250    stl: "libc++_static",
251}
252
253cc_defaults {
254    name: "fsck.f2fs_defaults",
255    defaults: [
256        "f2fs-tools-defaults",
257        "fsck_main_src_files",
258    ],
259    cflags: [
260        "-DWITH_DEFRAG",
261        "-DWITH_DUMP",
262        "-DWITH_RESIZE",
263    ],
264    srcs: [
265        "fsck/defrag.c",
266        "fsck/fsck.c",
267        "fsck/resize.c",
268    ],
269}
270
271cc_defaults {
272    name: "fsck.f2fs_partition_common_defaults",
273    defaults: [
274        "f2fs-tools-defaults",
275        "fsck.f2fs_defaults",
276        "fsck_main_src_files",
277    ],
278    symlinks: [
279        "defrag.f2fs",
280        "dump.f2fs",
281        "resize.f2fs",
282    ],
283    shared_libs: [
284        "libbase",
285        "libext2_uuid",
286        "libsparse",
287    ],
288    bootstrap: true,
289}
290
291cc_binary {
292    name: "fsck.f2fs",
293    defaults: [
294        "fsck.f2fs_partition_common_defaults",
295    ],
296    host_supported: true,
297    vendor_available: true,
298    vendor_ramdisk_available: true,
299    bootstrap: true,
300}
301
302cc_binary {
303    name: "fsck.f2fs.recovery",
304    defaults: [
305        "fsck.f2fs_partition_common_defaults",
306    ],
307    recovery: true,
308    bootstrap: true,
309    stem: "fsck.f2fs",
310}
311
312cc_binary {
313    name: "fsck.f2fs_ramdisk",
314    stem: "fsck.f2fs",
315    defaults: [
316        "f2fs-tools-defaults",
317        "fsck.f2fs_defaults",
318        "fsck_main_src_files",
319    ],
320    static_executable: true,
321    ramdisk: true,
322    static_libs: [
323        "libbase",
324        "libext2_uuid",
325        "libsparse",
326        "libz",
327    ],
328}
329
330cc_defaults {
331    name: "sload_f2fs_defaults",
332    defaults: [
333        "f2fs-tools-defaults",
334        "fsck_main_src_files",
335    ],
336    cflags: ["-DWITH_SLOAD"],
337    srcs: [
338        "fsck/compress.c",
339        "fsck/fsck.c",
340        "fsck/sload.c",
341    ],
342    target: {
343        android: {
344            shared_libs: [
345                "libbase",
346                "libcrypto",
347                "libcutils",
348                "libext2_uuid",
349                "liblog",
350                "liblz4",
351                "libselinux",
352                "libsparse",
353            ],
354        },
355    },
356}
357
358cc_binary {
359    name: "sload_f2fs",
360    defaults: [
361        "sload_f2fs_defaults",
362    ],
363    host_supported: true,
364    target: {
365        host: {
366            static_libs: [
367                "libbase",
368                "libcrypto",
369                "libcutils",
370                "libext2_uuid",
371                "liblog",
372                "liblz4",
373                "libselinux",
374                "libsparse",
375                "libz",
376            ],
377        },
378    },
379}
380
381cc_binary {
382    name: "sload_f2fs.recovery",
383    defaults: [
384        "sload_f2fs_defaults",
385    ],
386    recovery: true,
387    stem: "sload_f2fs",
388}
389
390cc_binary {
391    name: "check_f2fs",
392    host_supported: false,
393    cflags: [
394        "--static",
395        "-U_FORTIFY_SOURCE",
396        "-Wall",
397        "-Werror",
398    ],
399    srcs: ["tools/check_f2fs.c"],
400    product_specific: true,
401}
402
403cc_defaults {
404    name: "tools-defaults",
405    cflags: [
406        "-Wall",
407        "-Werror",
408    ],
409    local_include_dirs: [
410        "include",
411    ],
412    target: {
413        windows: {
414            enabled: false,
415        },
416        darwin: {
417            enabled: false,
418        },
419    },
420    product_specific: true,
421}
422
423cc_binary {
424    name: "f2fscrypt",
425    defaults: [
426        "tools-defaults",
427    ],
428    shared_libs: [
429        "libext2_uuid",
430    ],
431    srcs: [
432        "tools/f2fscrypt.c",
433        "tools/sha512.c",
434    ],
435}
436
437cc_binary {
438    name: "f2fs.fibmap",
439    defaults: [
440        "tools-defaults",
441    ],
442    srcs: [
443        "tools/fibmap.c",
444    ],
445}
446