build: include git info
If enabled with --with-pkg-gitversion on ./configure, this will append
git version strings and branch information at the following places:
- overall version number: 0.99.21-g0123456
- login motd and show version: tag information + git id + branches
Sample output:
Hello, this is Quagga (version 0.99.21-g14b49ad-dirty).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
This is a git build of quagga_0_99_21_release-106-g14b49ad-dirty
Associated branch(es):
local:master
[v2]: fix build without gitinfo (add "else" branch)
[v2]: fix for repos without any tags (different git describe output)
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
diff --git a/lib/version.h.in b/lib/version.h.in
index 429474d..7e9985f 100644
--- a/lib/version.h.in
+++ b/lib/version.h.in
@@ -24,9 +24,20 @@
#ifndef _ZEBRA_VERSION_H
#define _ZEBRA_VERSION_H
+#ifdef GIT_VERSION
+#include "gitversion.h"
+#endif
+
+#ifndef GIT_SUFFIX
+#define GIT_SUFFIX ""
+#endif
+#ifndef GIT_INFO
+#define GIT_INFO ""
+#endif
+
#define QUAGGA_PROGNAME "@PACKAGE_NAME@"
-#define QUAGGA_VERSION "@PACKAGE_VERSION@"
+#define QUAGGA_VERSION "@PACKAGE_VERSION@" GIT_SUFFIX
#define ZEBRA_BUG_ADDRESS "@PACKAGE_BUGREPORT@"