120e0567cb
Instead of using the hardcoded version number in configure.ac, this makes tinc use the live version reported by "git describe", queried on-the-fly during the build process and regenerated for every build. This makes tinc version output more useful, as tinc will now display the number of commits since the last tag as well as the commit the binary is built from, following the format described in git-describe(1). Here's an example of tincd --version output: tinc version release-1.1pre10-48-gc149315 (built Jun 29 2014 15:21:10, protocol 17.3) When building directly from a release tag, this will look like the following: tinc version release-1.1pre10 (built Jun 29 2014 15:21:10, protocol 17.3) (Note that the format is slightly different - because of the way the tags are named, it says "release-1.1pre10" instead of just "1.1pre10") If git describe fails (for example when building from a release tarball), the build automatically falls back to the autoconf-provided VERSION macro (i.e. the old behavior).
31 lines
1.2 KiB
C
31 lines
1.2 KiB
C
/*
|
|
version.c -- version information
|
|
Copyright (C) 2014 Etienne Dechamps <etienne@edechamps.fr>
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#include "version.h"
|
|
#include "version_git.h"
|
|
#include "../config.h"
|
|
|
|
/* This file is always rebuilt (even if there are no changes) so that the following is updated */
|
|
const char* const BUILD_DATE = __DATE__;
|
|
const char* const BUILD_TIME = __TIME__;
|
|
#ifdef GIT_DESCRIPTION
|
|
const char* const BUILD_VERSION = GIT_DESCRIPTION;
|
|
#else
|
|
const char* const BUILD_VERSION = VERSION;
|
|
#endif
|