Whamcloud - gitweb
AOSP: [LSC] Add LOCAL_LICENSE_KINDS to external/e2fsprogs
[tools/e2fsprogs.git] / misc / Android.bp
index f75c9d1..ca4267b 100644 (file)
@@ -2,19 +2,42 @@
 
 // Library used to export files from this directory to other programs in this
 // project.
+package {
+    // See: http://go/android-license-faq
+    // A large-scale-change added 'default_applicable_licenses' to import
+    // all of the 'license_kinds' from "external_e2fsprogs_license"
+    // to get the below license kinds:
+    //   SPDX-license-identifier-GPL
+    //   SPDX-license-identifier-LGPL
+    //   SPDX-license-identifier-LGPL-2.1
+    //   SPDX-license-identifier-LGPL-3.0
+    default_applicable_licenses: ["external_e2fsprogs_license"],
+}
+
 cc_library {
     name: "libext2_misc",
     host_supported: true,
+    recovery_available: true,
+    defaults: ["e2fsprogs-defaults"],
+
+    target: {
+        windows: {
+            include_dirs: [ "external/e2fsprogs/include/mingw" ],
+            enabled: true,
+            cflags: ["-Wno-unused-variable"],
+        },
+    },
 
     srcs: [
         "create_inode.c",
     ],
-    cflags: ["-W", "-Wall"],
+    cflags: ["-Wno-error=format-extra-args"],
     shared_libs: [
-        "libext2_quota",
         "libext2fs",
+        "libext2_com_err",
+        "libext2_quota",
     ],
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
     export_include_dirs: ["."],
 }
 
@@ -24,24 +47,71 @@ cc_library {
 cc_binary {
     name: "mke2fs",
     host_supported: true,
+    recovery_available: true,
+    defaults: ["e2fsprogs-defaults"],
 
     srcs: [
         "mke2fs.c",
         "util.c",
         "mk_hugefiles.c",
         "default_profile.c",
-        "create_inode.c",
     ],
-    cflags: ["-W", "-Wall"],
-    shared_libs: [
-        "libext2fs",
-        "libext2_blkid",
-        "libext2_uuid",
-        "libext2_quota",
-        "libext2_com_err",
-        "libext2_e2p",
+    cflags: [
+        "-Wno-error=format",
+        "-Wno-error=type-limits",
+        "-Wno-format-extra-args",
     ],
-    system_shared_libs: ["libc"],
+    target: {
+        host: {
+            static_libs: [
+                "libext2_blkid",
+                "libext2_misc",
+                "libext2_uuid",
+                "libext2_quota",
+                "libext2_com_err",
+                "libext2_e2p",
+                "libext2fs",
+                "libsparse",
+                "libbase",
+                "libz",
+            ],
+        },
+        not_windows: {
+            required: [
+                "mke2fs.conf",
+            ],
+        },
+        windows: {
+            include_dirs: [ "external/e2fsprogs/include/mingw" ],
+            cflags: [
+                "-D_POSIX",
+                "-D__USE_MINGW_ALARM",
+                // mke2fs.c has a warning from gcc which cannot be suppressed:
+                // passing argument 3 of 'ext2fs_get_device_size' from
+                // incompatible pointer type
+                "-Wno-error"
+            ],
+            ldflags: ["-static"],
+            host_ldlibs: ["-lws2_32"],
+            enabled: true
+        },
+        android: {
+            required: [
+                "mke2fs.conf",
+            ],
+            shared_libs: [
+                "libext2fs",
+                "libext2_blkid",
+                "libext2_misc",
+                "libext2_uuid",
+                "libext2_quota",
+                "libext2_com_err",
+                "libext2_e2p",
+            ],
+            symlinks: ["mkfs.ext2", "mkfs.ext3", "mkfs.ext4"],
+        },
+    },
+    stl: "libc++_static",
     include_dirs: ["external/e2fsprogs/e2fsck"],
 }
 
@@ -50,21 +120,18 @@ cc_binary {
 
 cc_defaults {
     name: "tune2fs-defaults",
+    defaults: ["e2fsprogs-defaults"],
     srcs: [
         "tune2fs.c",
         "util.c",
     ],
-    cflags: [
-        "-W",
-        "-Wall",
-        "-DNO_RECOVERY",
-    ],
+    cflags: ["-DNO_RECOVERY"],
     include_dirs: ["external/e2fsprogs/e2fsck"],
 }
 
 tune2fs_libs = [
-    "libext2_com_err",
     "libext2_blkid",
+    "libext2_com_err",
     "libext2_quota",
     "libext2_uuid",
     "libext2_e2p",
@@ -74,10 +141,11 @@ tune2fs_libs = [
 cc_binary {
     name: "tune2fs",
     host_supported: true,
+    vendor_ramdisk_available: true,
     defaults: ["tune2fs-defaults"],
 
     shared_libs: tune2fs_libs,
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
 }
 
 cc_binary {
@@ -85,7 +153,17 @@ cc_binary {
     static_executable: true,
     defaults: ["tune2fs-defaults"],
 
-    static_libs: tune2fs_libs + ["libc"],
+    static_libs: tune2fs_libs,
+}
+
+cc_binary {
+    name: "tune2fs_ramdisk",
+    stem: "tune2fs",
+    static_executable: true,
+    ramdisk: true,
+    defaults: ["tune2fs-defaults"],
+    system_shared_libs: [],
+    static_libs: tune2fs_libs,
 }
 
 cc_library_static {
@@ -102,9 +180,9 @@ cc_library_static {
 cc_binary {
     name: "badblocks",
     host_supported: true,
+    defaults: ["e2fsprogs-defaults"],
 
     srcs: ["badblocks.c"],
-    cflags: ["-W", "-Wall"],
     shared_libs: [
         "libext2fs",
         "libext2_com_err",
@@ -112,23 +190,23 @@ cc_binary {
         "libext2_blkid",
         "libext2_e2p",
     ],
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
 }
 
 //########################################################################
 // Build chattr
 
 cc_binary {
-    name: "chattr",
+    name: "chattr-e2fsprogs",
     host_supported: true,
+    defaults: ["e2fsprogs-defaults"],
 
     srcs: ["chattr.c"],
-    cflags: ["-W", "-Wall"],
     shared_libs: [
         "libext2_com_err",
         "libext2_e2p",
     ],
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
 }
 
 //########################################################################
@@ -137,7 +215,7 @@ cc_binary {
 cc_defaults {
     name: "lsattr-defaults",
     srcs: ["lsattr.c"],
-    cflags: ["-W", "-Wall"],
+    defaults: ["e2fsprogs-defaults"],
 }
 
 lsattr_libs = [
@@ -146,12 +224,12 @@ lsattr_libs = [
 ]
 
 cc_binary {
-    name: "lsattr",
+    name: "lsattr-e2fsprogs",
     host_supported: true,
     defaults: ["lsattr-defaults"],
 
     shared_libs: lsattr_libs,
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
 }
 
 cc_binary {
@@ -159,7 +237,7 @@ cc_binary {
     static_executable: true,
     defaults: ["lsattr-defaults"],
 
-    static_libs: lsattr_libs + ["libc"],
+    static_libs: lsattr_libs,
 }
 
 //########################################################################
@@ -167,16 +245,16 @@ cc_binary {
 
 cc_binary {
     name: "blkid",
+    defaults: ["e2fsprogs-defaults"],
 
     srcs: ["blkid.c"],
-    cflags: ["-W", "-Wall"],
     shared_libs: [
         "libext2fs",
         "libext2_blkid",
         "libext2_com_err",
         "libext2_e2p",
     ],
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
 }
 
 //########################################################################
@@ -185,14 +263,14 @@ cc_binary {
 cc_binary {
     name: "e4crypt",
     host_supported: true,
+    defaults: ["e2fsprogs-defaults"],
 
     srcs: ["e4crypt.c"],
-    cflags: ["-W", "-Wall"],
     shared_libs: [
         "libext2fs",
         "libext2_uuid",
     ],
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
 
     target: {
         darwin: {
@@ -207,14 +285,48 @@ cc_binary {
 cc_binary {
     name: "e2image",
     host_supported: true,
+    defaults: ["e2fsprogs-defaults"],
 
     srcs: ["e2image.c"],
-    cflags: ["-W", "-Wall"],
     shared_libs: [
         "libext2fs",
         "libext2_blkid",
         "libext2_com_err",
         "libext2_quota",
     ],
-    system_shared_libs: ["libc"],
+    system_shared_libs: ["libc", "libdl"],
+}
+
+//##########################################################################
+// Build filefrag
+
+cc_binary {
+    name: "filefrag",
+    host_supported: true,
+    defaults: ["e2fsprogs-defaults"],
+
+    srcs: ["filefrag.c"],
+    shared_libs: [
+        "libext2fs",
+    ],
+    system_shared_libs: ["libc", "libdl"],
+}
+
+//##########################################################################
+// Build e2freefrag
+
+cc_binary {
+    name: "e2freefrag",
+    host_supported: true,
+    defaults: ["e2fsprogs-defaults"],
+
+    srcs: [
+        "e2freefrag.c",
+    ],
+    header_libs: ["libext2-headers"],
+    shared_libs: [
+        "libext2fs",
+        "libext2_com_err",
+    ],
+    system_shared_libs: ["libc", "libdl"],
 }