Usage of stdint.h types
[anna.git] / include / anna / core / internal / sccs.hpp
1 // ANNA - Anna is Not Nothingness Anymore                                                         //
2 //                                                                                                //
3 // (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo                         //
4 //                                                                                                //
5 // See project site at http://redmine.teslayout.com/projects/anna-suite                           //
6 // See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE //
7
8
9 #ifndef anna_core_internal_sccs_hpp
10 #define anna_core_internal_sccs_hpp
11
12 #ifndef _MT
13 #ifndef _DEBUG
14 #define anna_define_sccs_tag(module,release)  const char* anna_sccs_##module = "@(#)ANNA."#module" VERSION 1.12."#release"/ST/O";
15 #define anna_define_sccs_tag_ex(module,ex,release)  const char* anna_sccs_##module = "@(#)ANNA."#ex" VERSION 1.12."#release"/ST/O";
16 #else
17 #define anna_define_sccs_tag(module,release)  const char* anna_sccs_##module = "@(#)ANNA."#module" VERSION 1.12."#release"/ST/D";
18 #define anna_define_sccs_tag_ex(module,ex,release)  const char* anna_sccs_##module = "@(#)ANNA."#ex" VERSION 1.12."#release"/ST/D";
19 #endif
20 #else
21 #ifndef _DEBUG
22 #define anna_define_sccs_tag(module,release)  const char* anna_sccs_##module = "@(#)ANNA."#module" VERSION 1.12."#release"/MT/O";
23 #define anna_define_sccs_tag_ex(module,ex,release)  const char* anna_sccs_##module = "@(#)ANNA."#ex" VERSION 1.12."#release"/MT/O";
24 #else
25 #define anna_define_sccs_tag(module,release)  const char* anna_sccs_##module = "@(#)ANNA."#module" VERSION 1.12."#release"/MT/D";
26 #define anna_define_sccs_tag_ex(module,ex,release)  const char* anna_sccs_##module = "@(#)ANNA."#ex" VERSION 1.12."#release"/MT/D";
27 #endif
28 #endif
29
30 #define anna_use_sccs_tag(module) (const char *) anna_sccs_##module
31 #define anna_import_sccs_tag(module) extern const char* anna_sccs_##module
32
33 namespace anna {
34
35 class sccs {
36 public:
37   static void activate() throw();
38 };
39
40 }
41
42 #endif
43