aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Marshall <tdm.code@gmail.com>2017-09-15 19:53:02 +0000
committerTom Marshall <tdm.code@gmail.com>2019-01-18 09:45:56 -0800
commit75331aafe1e8e4b36e73a6caeda9b40d9a37bce9 (patch)
tree4164b5584a9c44aea8297214d03665368ecf26d2
parenta6b489f944272cd5c6fe3d7ece3b055d0e2fb9b8 (diff)
downloadandroid_external_e2fsprogs-75331aafe1e8e4b36e73a6caeda9b40d9a37bce9.tar.gz
android_external_e2fsprogs-75331aafe1e8e4b36e73a6caeda9b40d9a37bce9.tar.bz2
android_external_e2fsprogs-75331aafe1e8e4b36e73a6caeda9b40d9a37bce9.zip
e2fsprogs: Build static libs for recovery
* Add libe2fsck, libmke2fs. * Add libe2fsdroid. * Allow libext2_profile to build statically. * Remove resource tracking stuff, it is not useful and conflicts with libe2fsck. Change-Id: If676329230db0dd868453c406392f584e3a24dbe
-rw-r--r--contrib/android/Android.mk10
-rw-r--r--e2fsck/Android.bp7
-rw-r--r--e2fsck/e2fsck.h2
-rw-r--r--e2fsck/extents.c4
-rw-r--r--lib/support/Android.bp2
-rw-r--r--misc/Android.bp12
-rw-r--r--resize/resize2fs.c2
-rw-r--r--resize/resize2fs.h7
-rw-r--r--resize/resource_track.c3
9 files changed, 45 insertions, 4 deletions
diff --git a/contrib/android/Android.mk b/contrib/android/Android.mk
index 68d925de..055bb742 100644
--- a/contrib/android/Android.mk
+++ b/contrib/android/Android.mk
@@ -39,3 +39,13 @@ LOCAL_FORCE_STATIC_EXECUTABLE := true
include $(BUILD_EXECUTABLE)
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := $(e2fsdroid_src_files)
+LOCAL_CFLAGS := $(e2fsdroid_cflags) -Dmain=e2fsdroid_main
+LOCAL_STATIC_LIBRARIES := $(e2fsdroid_whole_static_libraries)
+LOCAL_STATIC_LIBRARIES += $(e2fsdroid_static_libraries)
+LOCAL_MODULE := libe2fsdroid
+
+include $(BUILD_STATIC_LIBRARY)
+
diff --git a/e2fsck/Android.bp b/e2fsck/Android.bp
index 475cea12..ddfe958f 100644
--- a/e2fsck/Android.bp
+++ b/e2fsck/Android.bp
@@ -66,3 +66,10 @@ cc_binary {
static_libs: e2fsck_libs,
}
+
+cc_library_static {
+ name: "libe2fsck",
+ defaults: ["e2fsck-defaults"],
+ cflags: ["-Dmain=e2fsck_main"],
+ header_libs: ["libext2-headers"],
+}
diff --git a/e2fsck/e2fsck.h b/e2fsck/e2fsck.h
index f3568106..807e382a 100644
--- a/e2fsck/e2fsck.h
+++ b/e2fsck/e2fsck.h
@@ -133,8 +133,6 @@ struct dx_dirblock_info {
#define DX_FLAG_FIRST 4
#define DX_FLAG_LAST 8
-#define RESOURCE_TRACK
-
#ifdef RESOURCE_TRACK
/*
* This structure is used for keeping track of how much resources have
diff --git a/e2fsck/extents.c b/e2fsck/extents.c
index 7f28e6dd..c093d69e 100644
--- a/e2fsck/extents.c
+++ b/e2fsck/extents.c
@@ -358,6 +358,10 @@ static void rebuild_extents(e2fsck_t ctx, const char *pass_name, int pr_header)
ext2_ino_t ino = 0;
errcode_t retval;
+#ifndef RESOURCE_TRACK
+ (void)pass_name; /* unused */
+#endif
+
if (!ext2fs_has_feature_extents(ctx->fs->super) ||
!ext2fs_test_valid(ctx->fs) ||
ctx->invalid_bitmaps) {
diff --git a/lib/support/Android.bp b/lib/support/Android.bp
index 0ddd0793..c5e12569 100644
--- a/lib/support/Android.bp
+++ b/lib/support/Android.bp
@@ -33,7 +33,7 @@ cc_library {
export_header_lib_headers: ["libext2-headers"],
}
-cc_library_shared {
+cc_library {
name: "libext2_profile",
host_supported: true,
unique_host_soname: true,
diff --git a/misc/Android.bp b/misc/Android.bp
index e474c2d0..8881ebf2 100644
--- a/misc/Android.bp
+++ b/misc/Android.bp
@@ -99,6 +99,18 @@ cc_binary {
include_dirs: ["external/e2fsprogs/e2fsck"],
}
+cc_library_static {
+ name: "libmke2fs",
+ srcs: [
+ "mke2fs.c",
+ "mk_hugefiles.c",
+ "default_profile.c",
+ "create_inode.c",
+ ],
+ cflags: ["-W", "-Wall", "-Wno-macro-redefined", "-DBUILD_AS_LIB"],
+ include_dirs: ["external/e2fsprogs/lib", "external/e2fsprogs/e2fsck"],
+}
+
//##########################################################################
// Build tune2fs
diff --git a/resize/resize2fs.c b/resize/resize2fs.c
index 8f6d95e7..e33e7378 100644
--- a/resize/resize2fs.c
+++ b/resize/resize2fs.c
@@ -101,7 +101,9 @@ errcode_t resize_fs(ext2_filsys fs, blk64_t *new_size, int flags,
{
ext2_resize_t rfs;
errcode_t retval;
+#ifdef RESOURCE_TRACK
struct resource_track rtrack, overall_track;
+#endif
/*
* Create the data structure
diff --git a/resize/resize2fs.h b/resize/resize2fs.h
index 829fcd8e..71851301 100644
--- a/resize/resize2fs.h
+++ b/resize/resize2fs.h
@@ -85,6 +85,7 @@ typedef struct ext2_sim_progress *ext2_sim_progmeter;
#define RESIZE_ENABLE_64BIT 0x0400
#define RESIZE_DISABLE_64BIT 0x0800
+#ifdef RESOURCE_TRACK
/*
* This structure is used for keeping track of how much resources have
* been used for a particular resize2fs pass.
@@ -98,6 +99,7 @@ struct resource_track {
unsigned long long bytes_read;
unsigned long long bytes_written;
};
+#endif
/*
* The core state structure for the ext2 resizer
@@ -170,12 +172,17 @@ extern char *program_name;
extern errcode_t online_resize_fs(ext2_filsys fs, const char *mtpt,
blk64_t *new_size, int flags);
+#ifdef RESOURCE_TRACK
/* resource_track.c */
extern void init_resource_track(struct resource_track *track, const char *desc,
io_channel channel);
extern void print_resource_track(ext2_resize_t rfs,
struct resource_track *track,
io_channel channel);
+#else
+#define print_resource_track(track, desc, channel) do { } while (0)
+#define init_resource_track(rfs, track, channel) do { } while (0)
+#endif
/* sim_progress.c */
extern errcode_t ext2fs_progress_init(ext2_sim_progmeter *ret_prog,
diff --git a/resize/resource_track.c b/resize/resource_track.c
index f0efe114..b3ebb44d 100644
--- a/resize/resource_track.c
+++ b/resize/resource_track.c
@@ -18,6 +18,7 @@
#endif
#include <sys/resource.h>
+#ifdef RESOURCE_TRACK
void init_resource_track(struct resource_track *track, const char *desc,
io_channel channel)
{
@@ -125,4 +126,4 @@ void print_resource_track(ext2_resize_t rfs, struct resource_track *track,
skip_io:
fflush(stdout);
}
-
+#endif /* RESOURCE_TRACK */