// version.h: Define preprocesor symbols for the library version.
// If using GCC, also check the C++ ABI version is compatible with that used
// to build the library.
//
// Copyright (C) 2002,2004,2005,2006 Olly Betts
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

#ifndef XAPIAN_INCLUDED_VERSION_H
#define XAPIAN_INCLUDED_VERSION_H

#ifdef __GNUC__
#if !defined(__GXX_ABI_VERSION) || __GXX_ABI_VERSION != 1002
#error The C++ ABI version of compiler you are using does not match
#error that of the compiler used to build the library. The versions
#error must match or your program will not work correctly.
#error The Xapian library was built with g++ 3.4.6
#endif
#endif

#include <xapian/deprecated.h>

#define XAPIAN_VERSION "0.9.6"
#define XAPIAN_MAJOR_VERSION 0
#define XAPIAN_MINOR_VERSION 9
#define XAPIAN_REVISION 6

namespace Xapian {
/** Report the version string of the library which the program is linked with.
 *
 * This may be different to the version compiled against (given by
 * XAPIAN_VERSION) if shared libraries are being used.
 */
const char * version_string();

/** For compatibility with Xapian 0.9.5 and earlier.
 *
 * @deprecated This function is now deprecated, use Xapian::version_string()
 * instead.
 */
XAPIAN_DEPRECATED(const char * xapian_version_string());

/** Report the major version of the library which the program is linked to.
 * This may be different to the version compiled against (given by
 * XAPIAN_MAJOR_VERSION) if shared libraries are being used.
 */
int major_version();

/** For compatibility with Xapian 0.9.5 and earlier.
 *
 * @deprecated This function is now deprecated, use Xapian::major_version()
 * instead.
 */
XAPIAN_DEPRECATED(int xapian_major_version());

/** Report the minor version of the library which the program is linked to.
 * This may be different to the version compiled against (given by
 * XAPIAN_MINOR_VERSION) if shared libraries are being used.
 */
int minor_version();

/** For compatibility with Xapian 0.9.5 and earlier.
 *
 * @deprecated This function is now deprecated, use Xapian::minor_version()
 * instead.
 */
XAPIAN_DEPRECATED(int xapian_minor_version());

/** Report the revision of the library which the program is linked to.
 * This may be different to the version compiled against (given by
 * XAPIAN_REVISION) if shared libraries are being used.
 */
int revision();

/** For compatibility with Xapian 0.9.5 and earlier.
 *
 * @deprecated This function is now deprecated, use Xapian::revision()
 * instead.
 */
XAPIAN_DEPRECATED(int xapian_revision());
}

#define XAPIAN_HAS_FLINT_BACKEND 1
#define XAPIAN_HAS_QUARTZ_BACKEND 1
#define XAPIAN_HAS_INMEMORY_BACKEND 1
/* #undef XAPIAN_HAS_MUSCAT36_BACKEND */
#define XAPIAN_HAS_REMOTE_BACKEND 1

#endif
