summaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
Diffstat (limited to 'src/util')
-rw-r--r--src/util/configuration.cpp12
-rw-r--r--src/util/configuration.h1
-rw-r--r--src/util/configuration_private.h17
3 files changed, 25 insertions, 5 deletions
diff --git a/src/util/configuration.cpp b/src/util/configuration.cpp
index db3c5520e..aa3e6bf6b 100644
--- a/src/util/configuration.cpp
+++ b/src/util/configuration.cpp
@@ -19,6 +19,7 @@
**/
#include <string>
+#include <sstream>
#include "util/configuration.h"
#include "util/configuration_private.h"
@@ -124,4 +125,15 @@ bool Configuration::hasSubversionModifications() {
return SUBVERSION_HAS_MODIFICATIONS;
}
+string Configuration::getSubversionId() {
+ if(! isSubversionBuild()) {
+ return "";
+ }
+
+ stringstream ss;
+ ss << "subversion " << getSubversionBranchName() << " r" << getSubversionRevision()
+ << ( ::CVC4::Configuration::hasSubversionModifications() ? " (with modifications)" : "" );
+ return ss.str();
+}
+
}/* CVC4 namespace */
diff --git a/src/util/configuration.h b/src/util/configuration.h
index 258431114..31a2ca3d4 100644
--- a/src/util/configuration.h
+++ b/src/util/configuration.h
@@ -87,6 +87,7 @@ public:
static const char* getSubversionBranchName();
static unsigned getSubversionRevision();
static bool hasSubversionModifications();
+ static std::string getSubversionId();
};/* class Configuration */
diff --git a/src/util/configuration_private.h b/src/util/configuration_private.h
index 4f7501a08..0421273ca 100644
--- a/src/util/configuration_private.h
+++ b/src/util/configuration_private.h
@@ -20,6 +20,9 @@
#ifndef __CVC4__CONFIGURATION_PRIVATE_H
#define __CVC4__CONFIGURATION_PRIVATE_H
+#include <string>
+#include "util/configuration.h"
+
namespace CVC4 {
#ifdef CVC4_DEBUG
@@ -100,14 +103,18 @@ namespace CVC4 {
# define USING_TLS false
#endif /* TLS */
-#define CVC4_ABOUT_STRING string("\
-This is CVC4 version " CVC4_RELEASE_STRING "\n\n\
+#define CVC4_ABOUT_STRING ( ::std::string("\
+This is CVC4 version " CVC4_RELEASE_STRING ) + \
+ ( ::CVC4::Configuration::isSubversionBuild() \
+ ? ( ::std::string(" [") + ::CVC4::Configuration::getSubversionId() + "]" ) \
+ : ::std::string("") \
+ ) + "\n\n\
Copyright (C) 2009, 2010, 2011\n\
The ACSys Group\n\
Courant Institute of Mathematical Sciences\n\
New York University\n\
- New York, NY 10012 USA\n\n") + \
- (IS_CLN_BUILD ? "\
+ New York, NY 10012 USA\n\n" + \
+ ( IS_CLN_BUILD ? "\
This CVC4 library uses CLN as its multi-precision arithmetic library.\n\n\
CVC4 is open-source and is covered by the BSD license (modified).\n\
However, CLN, the Class Library for Numbers, is covered by the GPL. Thus\n\
@@ -116,7 +123,7 @@ consult the CVC4 documentation for instructions about building a version\n\
of CVC4 that links against GMP, and can be used in such applications.\n" : \
"This CVC4 library uses GMP as its multi-precision arithmetic library.\n\n\
CVC4 is open-source and is covered by the BSD license (modified).\n\n\
-THIS SOFTWARE PROVIDED AS-IS, WITHOUT ANY WARRANTIES. USE IT AT YOUR OWN RISK.\n")
+THIS SOFTWARE PROVIDED AS-IS, WITHOUT ANY WARRANTIES. USE IT AT YOUR OWN RISK.\n" ) )
}/* CVC4 namespace */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback