]> git.mxchange.org Git - simgear.git/blobdiff - simgear/structure/OSGVersion.hxx
Some Linux platforms need <cstdio> for snprintf.
[simgear.git] / simgear / structure / OSGVersion.hxx
index e8dd8e265dc21aa1322ff9f649d41da2ced6064b..b17f77c55e4c0d9eb7c8067bcc072c085542402a 100644 (file)
@@ -14,8 +14,8 @@
 //
 // You should have received a copy of the GNU Library General Public
 // License along with this library; if not, write to the
-// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-// Boston, MA  02111-1307, USA.
+// Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+// Boston, MA  02110-1301, USA.
 
 #ifndef SIMGEAR_OSGVERSION_HXX
 #define SIMGEAR_OSGVERSION_HXX 1
 #define SG_OSG_VERSION \
     ((OPENSCENEGRAPH_MAJOR_VERSION*10000)\
      + (OPENSCENEGRAPH_MINOR_VERSION*1000) + OPENSCENEGRAPH_PATCH_VERSION)
+
+#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)
+
 #endif