Initial check-in.
[shibboleth/cpp-opensaml.git] / saml / version.h
diff --git a/saml/version.h b/saml/version.h
new file mode 100644 (file)
index 0000000..c7bd3f8
--- /dev/null
@@ -0,0 +1,74 @@
+/*\r
+ *  Copyright 2001-2006 Internet2\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+/**\r
+ * version.h\r
+ * \r
+ * Library version macros and constants \r
+ */\r
+\r
+#ifndef __saml_version_h__\r
+#define __saml_version_h__\r
+\r
+// This is all based on Xerces, on the theory it might be useful to\r
+// support this kind of stuff in the future. If they ever yank some\r
+// of this stuff, it can be copied into here.\r
+\r
+#include <xercesc/util/XercesVersion.hpp>\r
+\r
+// ---------------------------------------------------------------------------\r
+// V E R S I O N   S P E C I F I C A T I O N\r
+\r
+/**\r
+ * MODIFY THESE NUMERIC VALUES TO COINCIDE WITH OPENSAML VERSION\r
+ * AND DO NOT MODIFY ANYTHING ELSE IN THIS VERSION HEADER FILE\r
+ */\r
+\r
+#define OPENSAML_VERSION_MAJOR 1\r
+#define OPENSAML_VERSION_MINOR 0\r
+#define OPENSAML_VERSION_REVISION 0\r
+\r
+/** DO NOT MODIFY BELOW THIS LINE */\r
+\r
+/**\r
+ * MAGIC THAT AUTOMATICALLY GENERATES THE FOLLOWING:\r
+ *\r
+ *     gOpenSAMLVersionStr, gOpenSAMLFullVersionStr, gOpenSAMLMajVersion, gOpenSAMLMinVersion, gOpenSAMLRevision\r
+ */\r
+\r
+// ---------------------------------------------------------------------------\r
+// V E R S I O N   I N F O R M A T I O N\r
+\r
+// OpenSAML version strings; these particular macros cannot be used for\r
+// conditional compilation as they are not numeric constants\r
+\r
+#define OPENSAML_FULLVERSIONSTR INVK_CAT3_SEP_UNDERSCORE(OPENSAML_VERSION_MAJOR,OPENSAML_VERSION_MINOR,OPENSAML_VERSION_REVISION)\r
+#define OPENSAML_FULLVERSIONDOT INVK_CAT3_SEP_PERIOD(OPENSAML_VERSION_MAJOR,OPENSAML_VERSION_MINOR,OPENSAML_VERSION_REVISION)\r
+#define OPENSAML_FULLVERSIONNUM INVK_CAT3_SEP_NIL(OPENSAML_VERSION_MAJOR,OPENSAML_VERSION_MINOR,OPENSAML_VERSION_REVISION)\r
+#define OPENSAML_VERSIONSTR     INVK_CAT2_SEP_UNDERSCORE(OPENSAML_VERSION_MAJOR,OPENSAML_VERSION_MINOR)\r
+\r
+const char* const    gOpenSAMLVersionStr = OPENSAML_VERSIONSTR;\r
+const char* const    gOpenSAMLFullVersionStr = OPENSAML_FULLVERSIONSTR;\r
+const unsigned int   gOpenSAMLMajVersion = OPENSAML_VERSION_MAJOR;\r
+const unsigned int   gOpenSAMLMinVersion = OPENSAML_VERSION_MINOR;\r
+const unsigned int   gOpenSAMLRevision   = OPENSAML_VERSION_REVISION;\r
+\r
+// OpenSAML version numeric constants that can be used for conditional\r
+// compilation purposes.\r
+\r
+#define _OPENSAML_VERSION CALC_EXPANDED_FORM (OPENSAML_VERSION_MAJOR,OPENSAML_VERSION_MINOR,OPENSAML_VERSION_REVISION)\r
+\r
+#endif /* __saml_version_h__ */\r