diff options
author | Tom Marshall <tdm.code@gmail.com> | 2017-09-15 19:53:02 +0000 |
---|---|---|
committer | Tom Marshall <tdm.code@gmail.com> | 2019-01-18 09:45:56 -0800 |
commit | 75331aafe1e8e4b36e73a6caeda9b40d9a37bce9 (patch) | |
tree | 4164b5584a9c44aea8297214d03665368ecf26d2 | |
parent | a6b489f944272cd5c6fe3d7ece3b055d0e2fb9b8 (diff) | |
download | android_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.mk | 10 | ||||
-rw-r--r-- | e2fsck/Android.bp | 7 | ||||
-rw-r--r-- | e2fsck/e2fsck.h | 2 | ||||
-rw-r--r-- | e2fsck/extents.c | 4 | ||||
-rw-r--r-- | lib/support/Android.bp | 2 | ||||
-rw-r--r-- | misc/Android.bp | 12 | ||||
-rw-r--r-- | resize/resize2fs.c | 2 | ||||
-rw-r--r-- | resize/resize2fs.h | 7 | ||||
-rw-r--r-- | resize/resource_track.c | 3 |
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 */ |