diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2023-04-20 12:35:27 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2023-04-20 12:36:16 -0400 |
commit | 0f37f9f05fa4b3b45b419cf83e6b8a2c5b814ebb (patch) | |
tree | 1aa79be03719ed0d1778381d0d04e4a8459c8971 | |
parent | 700afe193945e7c55bee0d6c16089f33d3c45f03 (diff) | |
download | bcachefs-tools-0f37f9f05fa4b3b45b419cf83e6b8a2c5b814ebb.tar.gz |
Add a NO_RUST option
For systems without working rust/llvm/bindgen, add an option for
building without Rust. This will be less of an option in the future, as
more code gets rewritten in Rust.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rw-r--r-- | Makefile | 10 | ||||
-rw-r--r-- | bcachefs.c | 9 |
2 files changed, 17 insertions, 2 deletions
@@ -108,7 +108,15 @@ OBJS=$(SRCS:.c=.o) @echo " [CC] $@" $(Q)$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< -bcachefs: libbcachefs.a rust-src/target/release/libbcachefs_rust.a +BCACHEFS_DEPS=libbcachefs.a + +ifndef NO_RUST + BCACHEFS_DEPS+=rust-src/target/release/libbcachefs_rust.a +else + CFLAGS+=-DBCACHEFS_NO_RUST +endif + +bcachefs: $(BCACHEFS_DEPS) @echo " [LD] $@" $(Q)$(CC) $(LDFLAGS) -Wl,--whole-archive $+ $(LOADLIBES) -Wl,--no-whole-archive $(LDLIBS) -o $@ @@ -35,9 +35,11 @@ static void usage(void) " show-super Dump superblock information to stdout\n" " set-option Set a filesystem option\n" "\n" +#ifndef BCACHEFS_NO_RUST "Mount:\n" " mount Mount a filesystem\n" "\n" +#endif "Repair:\n" " fsck Check an existing filesystem for errors\n" "\n" @@ -85,7 +87,9 @@ static void usage(void) "Debug:\n" "These commands work on offline, unmounted filesystems\n" " dump Dump filesystem metadata to a qcow2 image\n" +#ifndef BCACHEFS_NO_RUST " list List filesystem metadata in textual form\n" +#endif " list_journal List contents of journal\n" "\n" "Miscellaneous:\n" @@ -231,8 +235,10 @@ int main(int argc, char *argv[]) if (!strcmp(cmd, "dump")) return cmd_dump(argc, argv); +#ifndef BCACHEFS_NO_RUST if (!strcmp(cmd, "list")) return cmd_list(argc, argv); +#endif if (!strcmp(cmd, "list_journal")) return cmd_list_journal(argc, argv); if (!strcmp(cmd, "kill_btree_node")) @@ -240,11 +246,12 @@ int main(int argc, char *argv[]) if (!strcmp(cmd, "setattr")) return cmd_setattr(argc, argv); - +#ifndef BCACHEFS_NO_RUST if (!strcmp(cmd, "mount")) { cmd_mount(argc, argv); return 0; } +#endif #ifdef BCACHEFS_FUSE if (!strcmp(cmd, "fusemount")) |