+
+#define SG_OSG_VERSION_GREATER_EQUAL(MAJOR, MINOR, PATCH) \
+ ((OPENSCENEGRAPH_MAJOR_VERSION > (MAJOR)) || \
+ (OPENSCENEGRAPH_MAJOR_VERSION == (MAJOR) && \
+ (OPENSCENEGRAPH_MINOR_VERSION > (MINOR) || \
+ (OPENSCENEGRAPH_MINOR_VERSION == (MINOR) && \
+ OPENSCENEGRAPH_PATCH_VERSION >= (PATCH)))))
+
+#define SG_OSG_VERSION_GREATER_THAN(MAJOR, MINOR, PATCH) \
+ ((OPENSCENEGRAPH_MAJOR_VERSION > (MAJOR)) || \
+ (OPENSCENEGRAPH_MAJOR_VERSION == (MAJOR) && \
+ (OPENSCENEGRAPH_MINOR_VERSION > (MINOR) || \
+ (OPENSCENEGRAPH_MINOR_VERSION == (MINOR) && \
+ OPENSCENEGRAPH_PATCH_VERSION > (PATCH)))))
+
+#define SG_OSG_VERSION_LESS_THAN(MAJOR, MINOR, PATCH) \
+ (!SG_OSG_VERSION_GREATER_EQUAL(MAJOR, MINOR, PATCH))
+
+#define SG_OSG_VERSION_LESS_EQUAL(MAJOR, MINOR, PATCH) \
+ (!SG_OSG_VERSION_GREATER_THAN(MAJOR, MINOR, PATCH))
+
+#define SG_OSG_MIN_VERSION_REQUIRED(MAJOR, MINOR, PATCH) \
+ SG_OSG_VERSION_GREATER_EQUAL(MAJOR, MINOR, PATCH)
+