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