diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..dfe700b --- /dev/null +++ b/src/.gitignore @@ -0,0 +1 @@ +bees-version.h diff --git a/src/Makefile b/src/Makefile index 1db2927..4f7cb20 100644 --- a/src/Makefile +++ b/src/Makefile @@ -11,6 +11,8 @@ LIBS = -lcrucible -lpthread LDFLAGS = -L../lib -Wl,-rpath=$(shell realpath ../lib) depends.mk: Makefile *.cc + echo "#define BEES_VERSION \"$(shell git describe --always --dirty || echo UNKNOWN)\"" > bees-version.new.h + mv -f bees-version.new.h bees-version.h for x in *.cc; do $(CXX) $(CXXFLAGS) -M "$$x"; done > depends.mk.new mv -fv depends.mk.new depends.mk @@ -36,4 +38,4 @@ BEES_OBJS = \ $(CXX) $(CXXFLAGS) -o "$@" $(BEES_OBJS) $(LDFLAGS) $(LIBS) clean: - -rm -fv *.o + -rm -fv *.o bees-version.h diff --git a/src/bees-hash.cc b/src/bees-hash.cc index 873153c..32a3480 100644 --- a/src/bees-hash.cc +++ b/src/bees-hash.cc @@ -1,3 +1,4 @@ +#include "bees-version.h" #include "bees.h" #include "crucible/crc64.h" @@ -259,6 +260,7 @@ BeesHashTable::prefetch_loop() graph_blob << "Now: " << format_time(time(NULL)) << "\n"; graph_blob << "Uptime: " << m_ctx->total_timer().age() << " seconds\n"; + graph_blob << "Version: " << BEES_VERSION << "\n"; graph_blob << "\nHash table page occupancy histogram (" << occupied_count << "/" << total_count << " cells occupied, " << (occupied_count * 100 / total_count) << "%)\n" diff --git a/src/bees.cc b/src/bees.cc index 64e4b32..206119e 100644 --- a/src/bees.cc +++ b/src/bees.cc @@ -1,3 +1,4 @@ +#include "bees-version.h" #include "bees.h" #include "crucible/interp.h" @@ -557,7 +558,7 @@ bees_main(ArgList args) list> all_contexts; shared_ptr bc; - // Subscribe to fanotify events + // Create a context and start crawlers bool did_subscription = false; for (string arg : args) { catch_all([&]() { @@ -585,6 +586,8 @@ bees_main(ArgList args) int main(int argc, const char **argv) { + cerr << "bees version " << BEES_VERSION << endl; + if (argc < 2) { do_cmd_help(argv); return 2;