1/*
2 * Copyright © 2011  Google, Inc.
3 *
4 *  This is part of HarfBuzz, a text shaping library.
5 *
6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software.
11 *
12 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
13 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
14 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
15 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
16 * DAMAGE.
17 *
18 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
19 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
20 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
21 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
22 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
23 *
24 * Google Author(s): Behdad Esfahbod
25 */
26
27#if !defined(HB_H_IN) && !defined(HB_NO_SINGLE_HEADER_ERROR)
28#error "Include <hb.h> instead."
29#endif
30
31#ifndef HB_VERSION_H
32#define HB_VERSION_H
33
34#include "hb-common.h"
35
36HB_BEGIN_DECLS
37
38
39/**
40 * HB_VERSION_MAJOR:
41 *
42 * The major component of the library version available at compile-time.
43 */
44#define HB_VERSION_MAJOR @HB_VERSION_MAJOR@
45/**
46 * HB_VERSION_MINOR:
47 *
48 * The minor component of the library version available at compile-time.
49 */
50#define HB_VERSION_MINOR @HB_VERSION_MINOR@
51/**
52 * HB_VERSION_MICRO:
53 *
54 * The micro component of the library version available at compile-time.
55 */
56#define HB_VERSION_MICRO @HB_VERSION_MICRO@
57
58/**
59 * HB_VERSION_STRING:
60 *
61 * A string literal containing the library version available at compile-time.
62 */
63#define HB_VERSION_STRING "@HB_VERSION@"
64
65/**
66 * HB_VERSION_ATLEAST:
67 * @major: the major component of the version number
68 * @minor: the minor component of the version number
69 * @micro: the micro component of the version number
70 *
71 * Tests the library version at compile-time against a minimum value,
72 * as three integer components.
73 */
74#define HB_VERSION_ATLEAST(major,minor,micro) \
75	((major)*10000+(minor)*100+(micro) <= \
76	 HB_VERSION_MAJOR*10000+HB_VERSION_MINOR*100+HB_VERSION_MICRO)
77
78
79HB_EXTERN void
80hb_version (unsigned int *major,
81	    unsigned int *minor,
82	    unsigned int *micro);
83
84HB_EXTERN const char *
85hb_version_string (void);
86
87HB_EXTERN hb_bool_t
88hb_version_atleast (unsigned int major,
89		    unsigned int minor,
90		    unsigned int micro);
91
92
93HB_END_DECLS
94
95#endif /* HB_VERSION_H */
96