moreupdates
[synfig.git] / synfig-core / trunk / src / synfig / version.h
1 /* === S Y N F I G ========================================================= */
2 /*!     \file version.h
3 **      \brief Template Header
4 **
5 **      $Id: version.h,v 1.1.1.1 2005/01/04 01:23:15 darco Exp $
6 **
7 **      \legal
8 **      Copyright (c) 2002 Robert B. Quattlebaum Jr.
9 **
10 **      This software and associated documentation
11 **      are CONFIDENTIAL and PROPRIETARY property of
12 **      the above-mentioned copyright holder.
13 **
14 **      You may not copy, print, publish, or in any
15 **      other way distribute this software without
16 **      a prior written agreement with
17 **      the copyright holder.
18 **      \endlegal
19 */
20 /* ========================================================================= */
21
22 /* === S T A R T =========================================================== */
23
24 #ifndef __SYNFIG_VERSION_H
25 #define __SYNFIG_VERSION_H
26
27 /* === H E A D E R S ======================================================= */
28
29 /* === M A C R O S ========================================================= */
30
31 /*! \def SYNFIG_VERSION
32 **      \brief Synfig API Version
33 **
34 **      The macro SYNFIG_VERSION can be set to ensure
35 **      compile-time compatibility with future versions
36 **      of Synfig. The first two digits are the major
37 **      version, the second two digits are the minor
38 **      version, and the last two digits are the
39 **      revision release.
40 */
41 #ifndef SYNFIG_VERSION
42 #define SYNFIG_VERSION (006000)
43 #endif
44
45 /*!     Increment this value whenever
46 **      the library changes in a way
47 **      that breaks library compatibility
48 */
49 #define SYNFIG_LIBRARY_VERSION  47
50
51 /*! \writeme */
52 #define SYNFIG_CHECK_VERSION()  synfig::check_version_(SYNFIG_LIBRARY_VERSION,sizeof(synfig::Vector),sizeof(synfig::Color),sizeof(synfig::Canvas),sizeof(synfig::Layer))
53
54 /* === C L A S S E S & S T R U C T S ======================================= */
55
56 namespace synfig {
57
58 //! Version checker \internal
59 /*! Checks to make sure that the library
60 **      version matches with what the program
61 **      was compiled against.
62 **      \see SYNFIG_CHECK_VERSION()
63 */
64 extern bool check_version_(int v,int vec_size, int color_size,int canvas_size,int layer_size);
65
66 extern const char *get_version();
67
68 extern const char *get_build_date();
69
70 extern const char *get_build_time();
71
72 }; // END of namespace synfig
73
74 /* === E N D =============================================================== */
75
76 #endif