<page xmlns="http://projectmallard.org/1.0/"
      type="topic"
      id="mongoc_version">

  <info>
    <link type="guide" xref="index#api-reference" />
  </info>

  <title>Version Checks</title>

  <p>
    The following preprocessor macros can be used to perform various checks based on the version of the library you are compiling against.
    This may be useful if you only want to enable a feature on a certain version of the library.
  </p>

  <screen><![CDATA[#include <mongoc.h>

#define MONGOC_MAJOR_VERSION (1)
#define MONGOC_MINOR_VERSION (1)
#define MONGOC_MICRO_VERSION (2)
#define MONGOC_VERSION_S     "1.1.2"
#define MONGOC_VERSION_HEX   ((1 << 24) | (0 << 16) | (0 << 8) | 0)
#define MONGOC_CHECK_VERSION(major, minor, micro)
]]></screen>


  <listing>
    <title>MongoDB C Driver version check</title>
    <desc>Only compile a block on MongoDB C Driver 1.1.0 and newer.</desc>
    <code mime="text/x-csrc"><![CDATA[#if MONGOC_CHECK_VERSION(1, 1, 0)
static void do_something (void) {
}
#endif]]></code>
  </listing>

</page>
