/***************************************************************************
 * RVT-H Tool                                                              *
 * git.h: Git version macros.                                              *
 *                                                                         *
 * Copyright (c) 2008-2018 by David Korth.                                 *
 *                                                                         *
 * 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, see <http://www.gnu.org/licenses/>.   *
 ***************************************************************************/

#ifndef __RVTHTOOL_GIT_H__
#define __RVTHTOOL_GIT_H__

// git_version.h is generated by git_version.sh
#include "git_version.h"

// RP_GIT_VERSION: Macro for the git revision, if available.
#ifdef GIT_REPO
	#ifdef GIT_BRANCH
		#define RP_GIT_TMP_BRANCH GIT_BRANCH
		#ifdef GIT_SHAID
			#define RP_GIT_TMP_SHAID "/" GIT_SHAID
		#else /* !GIT_SHAID */
			#define RP_GIT_TMP_SHAID
		#endif /* GIT_SHAID */
	#else /* !GIT_BRANCH */
		#define RP_GIT_TMP_BRANCH
		#ifdef GIT_SHAID
			#define RP_GIT_TMP_SHAID GIT_SHAID
		#else /* !GIT_SHAID */
			#define RP_GIT_TMP_SHAID
		#endif /* GIT_SHAID */
	#endif /* GIT_BRANCH */
	
	#ifdef GIT_DIRTY
		#define RP_GIT_TMP_DIRTY "+"
	#else /* !GIT_DIRTY */
		#define RP_GIT_TMP_DIRTY
	#endif /* GIT_DIRTY */
	
	#define RP_GIT_VERSION "git: " RP_GIT_TMP_BRANCH RP_GIT_TMP_SHAID RP_GIT_TMP_DIRTY
	#ifdef GIT_DESCRIBE
		#define RP_GIT_DESCRIBE GIT_DESCRIBE RP_GIT_TMP_DIRTY
	#endif
#else /* !GIT_REPO */
	#ifdef RP_GIT_VERSION
		#undef RP_GIT_VERSION
	#endif /* RP_GIT_VERSION */
	#ifdef RP_GIT_DESCRIBE
		#undef RP_GIT_DESCRIBE
	#endif /* RP_GIT_DESCRIBE */
#endif /* GIT_REPO */

#endif /* __RVTHTOOL_GIT_H__ */
