]> git.wincent.com - WOTest.git/blob - WOTest_Version.h
Fix object-to-pointer comparisons on Leopard
[WOTest.git] / WOTest_Version.h
1 /*
2  
3  WOTest_Version.h
4  WOTest
5  
6  Created by Wincent Colaiuta on 26 March 2007.
7  
8  Copyright 2007 Wincent Colaiuta.
9  This program is free software: you can redistribute it and/or modify
10  it under the terms of the GNU General Public License as published by
11  the Free Software Foundation, either version 3 of the License, or
12  (at your option) any later version.
13
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  GNU General Public License for more details.
18
19  You should have received a copy of the GNU General Public License
20  along with this program.  If not, see <http://www.gnu.org/licenses/>.
21  
22  Do not edit this file: it is automatically updated each build via a script 
23  
24  */
25
26 /* START: Auto-updated macro definitions */
27
28 #define WO_COPYRIGHT_YEAR   2004-2007
29
30 /* END: Auto-updated macro definitons */
31
32 /*!
33
34 The publicly visible "marketing" version, updated manually.
35
36 \bug Must perform a "Clean" or "Clean All" in order for changes to this macro to be picked up by the UpdateBuildVersionNumbers.sh script.
37
38 */
39 #define WO_INFO_PLIST_VERSION       1.0
40
41 /*! Stringification macro. Turns macro EXAMPLE into string "EXAMPLE". */
42 #define WO_STRINGIFY(var)           #var
43
44 /*! Double-stringification macro. Turns macro EXAMPLE into string "contents of EXAMPLE macro after expansion". */
45 #define WO_STRINGIFY_TWICE(var)     WO_STRINGIFY(var)
46
47 #define WO_MARKETINGVERSION         WO_STRINGIFY_TWICE(WO_INFO_PLIST_VERSION)
48 #define WO_COPYRIGHT_YEAR_STRING    WO_STRINGIFY_TWICE(WO_COPYRIGHT_YEAR)
49 #define WO_COPYRIGHT                "Copyright " WO_COPYRIGHT_YEAR_STRING " Wincent Colaiuta"
50
51 /*! Make what(1) produce meaningful output. Defines an id string accesible via "rcsid". The "used" attribute prevents the linker from removing the symbol during dead code stripping. */
52 #define WO_RCSID(msg)                                                       \
53 static const char *const rcsid[] __attribute__((used)) =            \
54 { (char *)rcsid, "\100(#)" msg }
55
56 /*! Make what(1) produce meaningful output. Defines a tagged string accesible via "rcsid_tag". The "used" attribute prevents the linker from removing the symbol during dead code stripping. */
57 #define WO_TAGGED_RCSID(msg, tag)                                           \
58 static const char *const rcsid_ ## tag[] __attribute__((used)) =    \
59 { (char *)rcsid_ ## tag, "\100(#)" msg }
60
61 /*! Convenience macro for accessing a string previously created with WO_TAGGED_RCSID. */
62 #define WO_RCSID_STRING(tag) (rcsid_ ## tag[1] + 4)
63
64 #ifndef WO_PREPROCESSING_FOR_INFO_PLIST
65
66 WO_TAGGED_RCSID(WO_COPYRIGHT, copyright);
67
68 #if defined(__ppc__)
69 WO_TAGGED_RCSID("Architecture: PowerPC (ppc)", architecture);
70 #elif defined(__ppc64__)
71 WO_TAGGED_RCSID("Architecture: PowerPC (ppc64)", architecture);
72 #elif defined(__i386__)
73 WO_TAGGED_RCSID("Architecture: Intel (i386)", architecture);
74 #elif defined(__x86_64__)
75 WO_TAGGED_RCSID("Architecture: Intel (x86_64)", architecture);
76 #endif
77
78 WO_TAGGED_RCSID("Version: " WO_MARKETINGVERSION, version);
79 WO_TAGGED_RCSID("WOTest Framework", productname);
80
81 #endif /* WO_PREPROCESSING_FOR_INFO_PLIST */