@@ -2,7 +2,7 @@ bin_PROGRAMS = cec-follower
man_MANS = cec-follower.1
cec_follower_SOURCES = cec-follower.cpp cec-follower.h cec-processing.cpp cec-tuner.cpp
-cec_follower_CPPFLAGS = -I$(top_srcdir)/utils/libcecutil
+cec_follower_CPPFLAGS = -I$(top_srcdir)/utils/libcecutil $(GIT_COMMIT_CNT)
cec_follower_LDADD = -lrt ../libcecutil/libcecutil.la
cec-follower.cpp: version.h
@@ -61,6 +61,9 @@ having to rely on the device node number.
\fB\-v\fR, \fB\-\-verbose\fR
Turn on verbose reporting.
.TP
+\fB\-\-version\fR
+Show version information.
+.TP
\fB\-w\fR, \fB\-\-wall\-clock\fR
Show timestamps as wall-clock time. This also turns on verbose reporting.
.TP
@@ -46,6 +46,7 @@ enum Option {
OptShowState = 's',
OptWallClock = 'w',
OptServiceByDigID = 128,
+ OptVersion,
OptLast = 256
};
@@ -70,10 +71,27 @@ static struct option long_options[] = {
{ "wall-clock", no_argument, 0, OptWallClock },
{ "service-by-dig-id", no_argument, 0, OptServiceByDigID },
{ "ignore", required_argument, 0, OptIgnore },
+ { "version", no_argument, 0, OptVersion },
{ 0, 0, 0, 0 }
};
+static void print_sha()
+{
+#ifdef SHA
+#define STR(x) #x
+#define STRING(x) STR(x)
+ printf("cec-follower SHA : %s\n", STRING(SHA));
+#else
+ printf("cec-follower SHA : not available\n");
+#endif
+}
+
+static void print_version()
+{
+ printf("cec-follower %s%s\n", PACKAGE_VERSION, STRING(GIT_COMMIT_CNT));
+}
+
static void usage()
{
printf("Usage:\n"
@@ -93,6 +111,7 @@ static void usage()
" Ignore messages from logical address <la> and opcode\n"
" <opcode>. 'all' can be used for <la> or <opcode> to match\n"
" all logical addresses or opcodes.\n"
+ " --version Show version information\n"
);
}
@@ -427,6 +446,9 @@ int main(int argc, char **argv)
show_msgs = true;
show_state = true;
break;
+ case OptVersion:
+ print_version();
+ std::exit(EXIT_SUCCESS);
case ':':
fprintf(stderr, "Option '%s' requires a value\n",
argv[optind]);
@@ -475,13 +497,7 @@ int main(int argc, char **argv)
node.state.service_by_dig_id = options[OptServiceByDigID];
state_init(node);
-#ifdef SHA
-#define STR(x) #x
-#define STRING(x) STR(x)
- printf("cec-follower SHA : %s\n", STRING(SHA));
-#else
- printf("cec-follower SHA : not available\n");
-#endif
+ print_sha();
doioctl(&node, CEC_ADAP_G_PHYS_ADDR, &node.phys_addr);
Add a --version option to cec-follower to retrieve the version of cec-follower. Whilte at it, factor out printing the SHA. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> --- Changes in v5: - update manpage Changes in v4: - add git commit count to version - move printing sha into print_sha() Changes in v3: - embed PACKAGE_VERSION instead of string concatenation --- utils/cec-follower/Makefile.am | 2 +- utils/cec-follower/cec-follower.1.in | 3 +++ utils/cec-follower/cec-follower.cpp | 30 +++++++++++++++++++++------- 3 files changed, 27 insertions(+), 8 deletions(-)