|
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
|
2 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
3 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
5 |
|
6 #include "prinit.h" |
|
7 #include "prvrsion.h" |
|
8 |
|
9 /************************************************************************/ |
|
10 /**************************IDENTITY AND VERSIONING***********************/ |
|
11 /************************************************************************/ |
|
12 #include "_pr_bld.h" |
|
13 #if !defined(_BUILD_TIME) |
|
14 #ifdef HAVE_LONG_LONG |
|
15 #define _BUILD_TIME 0 |
|
16 #else |
|
17 #define _BUILD_TIME {0, 0} |
|
18 #endif |
|
19 #endif |
|
20 #if !defined(_BUILD_STRING) |
|
21 #define _BUILD_STRING "" |
|
22 #endif |
|
23 #if !defined(_PRODUCTION) |
|
24 #define _PRODUCTION "" |
|
25 #endif |
|
26 #if defined(DEBUG) |
|
27 #define _DEBUG_STRING " (debug)" |
|
28 #else |
|
29 #define _DEBUG_STRING "" |
|
30 #endif |
|
31 |
|
32 /* |
|
33 * A trick to expand the PR_VMAJOR macro before concatenation. |
|
34 */ |
|
35 #define CONCAT(x, y) x ## y |
|
36 #define CONCAT2(x, y) CONCAT(x, y) |
|
37 #define VERSION_DESC_NAME CONCAT2(prVersionDescription_libnspr, PR_VMAJOR) |
|
38 |
|
39 PRVersionDescription VERSION_DESC_NAME = |
|
40 { |
|
41 /* version */ 2, /* this is the only one supported */ |
|
42 /* buildTime */ _BUILD_TIME, /* usecs since midnight 1/1/1970 GMT */ |
|
43 /* buildTimeString */ _BUILD_STRING, /* ditto, but human readable */ |
|
44 /* vMajor */ PR_VMAJOR, /* NSPR's version number */ |
|
45 /* vMinor */ PR_VMINOR, /* and minor version */ |
|
46 /* vPatch */ PR_VPATCH, /* and patch */ |
|
47 /* beta */ PR_BETA, /* beta build boolean */ |
|
48 #if defined(DEBUG) |
|
49 /* debug */ PR_TRUE, /* a debug build */ |
|
50 #else |
|
51 /* debug */ PR_FALSE, /* an optomized build */ |
|
52 #endif |
|
53 /* special */ PR_FALSE, /* they're all special, but ... */ |
|
54 /* filename */ _PRODUCTION, /* the produced library name */ |
|
55 /* description */ "Portable runtime", /* what we are */ |
|
56 /* security */ "N/A", /* not applicable here */ |
|
57 /* copywrite */ "Copyright (c) 1998 Netscape Communications Corporation. All Rights Reserved", |
|
58 /* comment */ "License information: http://www.mozilla.org/MPL/", |
|
59 /* specialString */ "" |
|
60 }; |
|
61 |
|
62 #ifdef XP_UNIX |
|
63 |
|
64 /* |
|
65 * Version information for the 'ident' and 'what commands |
|
66 * |
|
67 * NOTE: the first component of the concatenated rcsid string |
|
68 * must not end in a '$' to prevent rcs keyword substitution. |
|
69 */ |
|
70 static char rcsid[] = "$Header: NSPR " PR_VERSION _DEBUG_STRING |
|
71 " " _BUILD_STRING " $"; |
|
72 static char sccsid[] = "@(#)NSPR " PR_VERSION _DEBUG_STRING |
|
73 " " _BUILD_STRING; |
|
74 |
|
75 #endif /* XP_UNIX */ |
|
76 |
|
77 PR_IMPLEMENT(const PRVersionDescription*) libVersionPoint(void) |
|
78 { |
|
79 #ifdef XP_UNIX |
|
80 /* |
|
81 * Add dummy references to rcsid and sccsid to prevent them |
|
82 * from being optimized away as unused variables. |
|
83 */ |
|
84 const char *dummy; |
|
85 |
|
86 dummy = rcsid; |
|
87 dummy = sccsid; |
|
88 #endif |
|
89 return &VERSION_DESC_NAME; |
|
90 } /* versionEntryPointType */ |
|
91 |
|
92 /* prvrsion.c */ |
|
93 |