[API] Add version macros and functions Step version up to 0.5.0. Also, fix to pass "make distcheck"
diff --git a/src/Makefile.am b/src/Makefile.am index 0a7edb3..73ac547 100644 --- a/src/Makefile.am +++ b/src/Makefile.am
@@ -2,6 +2,9 @@ NULL = EXTRA_DIST = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = # The following warning options are useful for debugging: -Wpadded -Wcast-align #AM_CXXFLAGS = @@ -35,6 +38,7 @@ hb-font.h \ hb-shape.h \ hb-unicode.h \ + hb-version.h \ $(NULL) HBSOURCES += \ @@ -61,6 +65,10 @@ hb-ot-tag.h \ $(NULL) +MAINTAINERCLEANFILES = \ + $(srcdir)/hb-version.h \ + $(NULL) + if HAVE_GLIB HBCFLAGS += $(GLIB_CFLAGS) HBLIBS += $(GLIB_LIBS) @@ -99,6 +107,7 @@ libharfbuzz_la_CPPFLAGS = $(HBCFLAGS) libharfbuzz_la_LIBADD = $(HBLIBS) pkginclude_HEADERS = $(HBHEADERS) +nodist_pkginclude_HEADERS = hb-version.h GENERATORS = \
diff --git a/src/check-c-linkage-decls.sh b/src/check-c-linkage-decls.sh index 711d089..ffdb9e3 100755 --- a/src/check-c-linkage-decls.sh +++ b/src/check-c-linkage-decls.sh
@@ -8,7 +8,7 @@ cd "$srcdir" -for x in hb-*.c hb-*.cc hb-*.h hb-*.hh ; do +for x in hb-*.cc hb-*.h hb-*.hh ; do if ! grep -q HB_BEGIN_DECLS "$x" || ! grep -q HB_END_DECLS "$x"; then echo "Ouch, file $x does not HB_BEGIN_DECLS / HB_END_DECLS" stat=1
diff --git a/src/hb-common.cc b/src/hb-common.cc index b000340..49f3eb8 100644 --- a/src/hb-common.cc +++ b/src/hb-common.cc
@@ -28,6 +28,8 @@ #include "hb-private.hh" +#include "hb-version.h" + #include "hb-mutex-private.hh" #include "hb-object-private.hh" @@ -308,4 +310,31 @@ } +/* hb_version */ + +void +hb_version (unsigned int *major, + unsigned int *minor, + unsigned int *micro) +{ + *major = HB_VERSION_MAJOR; + *minor = HB_VERSION_MINOR; + *micro = HB_VERSION_MICRO; +} + +const char * +hb_version_string (void) +{ + return HB_VERSION_STRING; +} + +hb_bool_t +hb_version_check (unsigned int major, + unsigned int minor, + unsigned int micro) +{ + return HB_VERSION_CHECK (major, minor, micro); +} + + HB_END_DECLS
diff --git a/src/hb-version.h.in b/src/hb-version.h.in new file mode 100644 index 0000000..47a9b30 --- /dev/null +++ b/src/hb-version.h.in
@@ -0,0 +1,62 @@ +/* + * Copyright © 2011 Google, Inc. + * + * This is part of HarfBuzz, a text shaping library. + * + * Permission is hereby granted, without written agreement and without + * license or royalty fees, to use, copy, modify, and distribute this + * software and its documentation for any purpose, provided that the + * above copyright notice and the following two paragraphs appear in + * all copies of this software. + * + * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES + * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN + * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH + * DAMAGE. + * + * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * Google Author(s): Behdad Esfahbod + */ + +#ifndef HB_VERSION_H +#define HB_VERSION_H + +#include "hb-common.h" + +HB_BEGIN_DECLS + + +#define HB_VERSION_MAJOR @HB_VERSION_MAJOR@ +#define HB_VERSION_MINOR @HB_VERSION_MINOR@ +#define HB_VERSION_MICRO @HB_VERSION_MICRO@ + +#define HB_VERSION_STRING "@HB_VERSION@" + +#define HB_VERSION_CHECK(major,minor,micro) \ + ((major)*10000+(minor)*100+(micro) >= \ + HB_VERSION_MAJOR*10000+HB_VERSION_MINOR*100+HB_VERSION_MICRO) + + +void +hb_version (unsigned int *major, + unsigned int *minor, + unsigned int *micro); + +const char * +hb_version_string (void); + +hb_bool_t +hb_version_check (unsigned int major, + unsigned int minor, + unsigned int micro); + + +HB_END_DECLS + +#endif /* HB_VERSION_H */
diff --git a/src/hb.h b/src/hb.h index b75998e..0a2ebd9 100644 --- a/src/hb.h +++ b/src/hb.h
@@ -33,6 +33,7 @@ #include "hb-font.h" #include "hb-shape.h" #include "hb-unicode.h" +#include "hb-version.h" HB_BEGIN_DECLS HB_END_DECLS