/****************************************************************************
    Kalkulon - A programmable calculator for programmers

    This file is part of the Kalkulon core.

    If you find this source code useful, your are encouraged to use it in your own projects.
    Please give me credit!

    COPYRIGHT by Juergen Holetzeck 2003 - 2008
    e-mail:		contact@kalkulon.de
    homepage:	www.kalkulon.de
****************************************************************************/

#if !defined(VERSION1_H__INCLUDED_)
#define VERSION1_H__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000



/////////////////////////////////////////////////////////////////////
// configure only here
//
#define RELEASE_VER 0	 			// 0: beta version; 1: release version
#define RELEASE_DATE "May 09 2013"	// Mmm dd yyyy; only used for RELEASE_VER=1

#define RELEASE_VER_MAIN	3			// version number (binary)
#define RELEASE_VER_MAIN2	0
#define RELEASE_VER_SUB		4
#define RELEASE_VER_SUB2	1

// version number (string)
#define TOSTRING2(arg) #arg
#define TOSTRING(arg) TOSTRING2(arg)
#define RELEASE_VER_STR		TOSTRING(RELEASE_VER_MAIN) "." TOSTRING(RELEASE_VER_MAIN2) "."\
                            TOSTRING(RELEASE_VER_SUB) "." TOSTRING(RELEASE_VER_SUB2)
//
/////////////////////////////////////////////////////////////////////

namespace Kalkulon{
namespace version{

const char title_str[]		= "Kalkulon"	// no ; see next lines
#if !RELEASE_VER
    " beta"
#endif
#if _DEBUG
    " - DEBUG"
#endif
#if _MANAGED
    " CLI"
#endif
;

const char compiler_version_str[] =
        #if defined(__clang__)
            /* Clang/LLVM. ---------------------------------------------- */
            "Clang " __clang_version__
        #elif defined(__ICC) || defined(__INTEL_COMPILER)
            /* Intel ICC/ICPC. ------------------------------------------ */
            "Intel " TOSTRING(__INTEL_COMPILER)
        #elif defined(__GNUC__) || defined(__GNUG__)
            /* GNU GCC/G++. --------------------------------------------- */
            "GCC " __VERSION__
        #elif defined(_MSC_VER)
            /* Microsoft Visual Studio. --------------------------------- */
            "MSC " TOSTRING(_MSC_FULL_VER)
        #else
            ""
        #endif
;

const char version_str[]	= "("
RELEASE_VER_STR
" - "
#if !RELEASE_VER
__DATE__
#else
RELEASE_DATE
#endif
")"
;

const char copyright_str[]	= "(c) by J. Holetzeck 2015";
const char web_str[] 		= "www.kalkulon.de";
const char email_str[] 		= "contact@kalkulon.de";
const char * const contact_str	= web_str;

}} // end namespace

#endif // !defined(VERSION1_H__INCLUDED_)
