blob: be49e3dcf33d1297ca2838ed78ac93e9db80fc12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
/********************* */
/*! \file configuration.h
** \verbatim
** Original author: Morgan Deters
** Major contributors: none
** Minor contributors (to current version): ACSYS, Liana Hadarean, Tim King, Francois Bobot
** This file is part of the CVC4 project.
** Copyright (c) 2009-2013 New York University and The University of Iowa
** See the file COPYING in the top-level source directory for licensing
** information.\endverbatim
**
** \brief Interface to a public class that provides compile-time information
** about the CVC4 library.
**
** Interface to a public class that provides compile-time information
** about the CVC4 library.
**/
#include "cvc4_public.h"
#ifndef __CVC4__CONFIGURATION_H
#define __CVC4__CONFIGURATION_H
#include <string>
namespace CVC4 {
/**
* Represents the (static) configuration of CVC4.
*/
class CVC4_PUBLIC Configuration {
/** Private default ctor: Disallow construction of this class */
Configuration();
// these constants are filled in by the build system
static const bool IS_SUBVERSION_BUILD;
static const char* const SUBVERSION_BRANCH_NAME;
static const unsigned SUBVERSION_REVISION;
static const bool SUBVERSION_HAS_MODIFICATIONS;
static const bool IS_GIT_BUILD;
static const char* const GIT_BRANCH_NAME;
static const char* const GIT_COMMIT;
static const bool GIT_HAS_MODIFICATIONS;
public:
static std::string getName();
static bool isDebugBuild();
static bool isStatisticsBuild();
static bool isReplayBuild();
static bool isTracingBuild();
static bool isDumpingBuild();
static bool isMuzzledBuild();
static bool isAssertionBuild();
static bool isProofBuild();
static bool isCoverageBuild();
static bool isProfilingBuild();
static bool isCompetitionBuild();
static std::string getPackageName();
static std::string getVersionString();
static unsigned getVersionMajor();
static unsigned getVersionMinor();
static unsigned getVersionRelease();
static std::string getVersionExtra();
static std::string about();
static bool isBuiltWithGmp();
static bool isBuiltWithCln();
static bool isBuiltWithGlpk();
static bool isBuiltWithCudd();
static bool isBuiltWithTlsSupport();
/* Return the number of debug tags */
static unsigned getNumDebugTags();
/* Return a sorted array of the debug tags name */
static char const* const* getDebugTags();
/* Test if the given argument is a known debug tag name */
static bool isDebugTag(char const *);
/* Return the number of trace tags */
static unsigned getNumTraceTags();
/* Return a sorted array of the trace tags name */
static char const* const* getTraceTags();
/* Test if the given argument is a known trace tag name */
static bool isTraceTag(char const *);
static bool isGitBuild();
static const char* getGitBranchName();
static const char* getGitCommit();
static bool hasGitModifications();
static std::string getGitId();
static bool isSubversionBuild();
static const char* getSubversionBranchName();
static unsigned getSubversionRevision();
static bool hasSubversionModifications();
static std::string getSubversionId();
static std::string getCompiler();
static std::string getCompiledDateTime();
};/* class Configuration */
}/* CVC4 namespace */
#endif /* __CVC4__CONFIGURATION_H */
|