37#ifndef CHASTEXSDVERSION_HPP_
38#define CHASTEXSDVERSION_HPP_
40#include <xsd/cxx/version.hxx>
65#if defined(LIBXSD_VERSION_MAJOR) && \
66 defined(LIBXSD_VERSION_MINOR) && \
67 defined(LIBXSD_VERSION_PATCH)
69 #define CHASTE_XSD_VERSION_MAJOR LIBXSD_VERSION_MAJOR
70 #define CHASTE_XSD_VERSION_MINOR LIBXSD_VERSION_MINOR
71 #define CHASTE_XSD_VERSION_PATCH LIBXSD_VERSION_PATCH
73#elif defined(XSD_INT_VERSION)
81 #if (XSD_INT_VERSION % 100L) != 0L
82 EXCEPTION(
"Unsupported pre-release CodeSynthesis XSD version");
85 #define CHASTE_XSD_VERSION_MAJOR \
86 ((XSD_INT_VERSION / 1000000L) % 100L)
88 #define CHASTE_XSD_VERSION_MINOR \
89 ((XSD_INT_VERSION / 10000L) % 100L)
91 #define CHASTE_XSD_VERSION_PATCH \
92 ((XSD_INT_VERSION / 100L) % 100L)
96 EXCEPTION(
"Unsupported pre-release CodeSynthesis XSD version");
100#define CHASTE_XSD_VERSION_AT_LEAST(MAJOR, MINOR, PATCH) \
101 ((CHASTE_XSD_VERSION_MAJOR > (MAJOR)) || \
102 (CHASTE_XSD_VERSION_MAJOR == (MAJOR) && \
103 CHASTE_XSD_VERSION_MINOR > (MINOR)) || \
104 (CHASTE_XSD_VERSION_MAJOR == (MAJOR) && \
105 CHASTE_XSD_VERSION_MINOR == (MINOR) && \
106 CHASTE_XSD_VERSION_PATCH >= (PATCH)))
#define EXCEPTION(message)