summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDavid Turner <david@freetype.org>2002-12-16 21:51:24 +0000
committerDavid Turner <david@freetype.org>2002-12-16 21:51:24 +0000
commit621e4886223a6528fee553f6618ed1c22297ad19 (patch)
tree328275fef287021cdfdef4856f676f4541b0b46f /docs
parentc96f69dfaa57af0bd3e5d1f5dd030af69779f820 (diff)
downloadfreetype2-621e4886223a6528fee553f6618ed1c22297ad19.tar.gz
2002-12-16 David Turner <david@freetype.org>
* docs/VERSION.DLL: updating document to better explain the differences between the three version numbers being used on Unix, as well as provide the AutoConf fragment provided by Lars Clausen * src/smooth/ftgrays.c (gray_render_conic): fixed small bug that prevented bezier arcs with negative vertical coordinates to be rendered appropriately 2002-11-27 Vincent Caron <v.caron@zerodeux.net> * builds/unix/unix-def.in, builds/unix/freetype-config.in, builds/unix/configure.ac, src/gzip/rules.mk, src/gzip/ftgzip.c: adding support for system zlib installations when available on the target platform (Unix only)
Diffstat (limited to 'docs')
-rw-r--r--docs/VERSION.DLL79
1 files changed, 75 insertions, 4 deletions
diff --git a/docs/VERSION.DLL b/docs/VERSION.DLL
index 43b1a1713..e3086e312 100644
--- a/docs/VERSION.DLL
+++ b/docs/VERSION.DLL
@@ -1,7 +1,78 @@
-Libtool's version for FreeType 2.1.3 is `9.2.3'.
+Due to our use of "libtool" to generate and install the FreeType 2 libraries
+on Unix systems, as well as other historical events, it is generally very
+difficult to know precisely which release of the font engine is installed
+on a given system.
-On most platforms, the soname will be `6.3.2' (e.g. `libfreetype.so.6.3.2').
+This file tries to explain why and to document ways to properly detect
+FreeType on Unix.
-Libtool's version for FreeType 2.1.2 is `9.1.3'.
-On most platforms, the soname will be `6.3.1' (e.g. `libfreetype.so.6.3.1').
+I. Version & Release numbers:
+
+For each new public release of FreeType 2, there are generally *three*
+distinct "version" numbers to consider:
+
+ * the official FT2 release number, like 2.0.9, or 2.1.3
+
+ * the libtool (and Unix) specific version number, like "9.2.3". This
+ is what "freetype-config --version" will return
+
+ * the platform-specific shared object number, used for example when
+ the library is installed as "/usr/lib/libfreetype.so.6.3.2"
+
+
+the platform-specific number is, unsurprisingly, platform-specific and varies
+with the operating system you're using (several variants of Linux, FreeBSD,
+Solaris, etc...). You should thus _never_ use it, even for simple tests.
+
+the libtool-specific number does not equal the release number but is tied
+to it.
+
+the release number is available at *compile* time through the following
+macros defined in FT_FREETYPE_H:
+
+ - FREETYPE_MAJOR : major release number
+ - FREETYPE_MINOR : minor release number
+ - FREETYPE_PATCH : patch release number
+
+see below for some Autoconf fragment to
+
+
+the release number is also available at *runtime* through the
+"FT_Library_Version" API. Unfortunately, this one wasn't available or
+working correctly before the 2.1.3 official release !!
+
+
+II. Table:
+
+the following is a simple table that gives, for each official release,
+the corresponding libtool number, as well as the shared object number
+found on _most_ systems, but not all of them:
+
+ release libtool so
+-------------------------------------
+ 2.1.3 9.2.3 6.3.2
+ 2.1.2 9.1.3 6.3.1
+ 2.1.1 ? ?
+ 2.1.0 ? ?
+ 2.0.9 ? ?
+
+
+
+
+III. AutoConf Code Fragment:
+
+Lars Clausen contributed the following Autoconf fragment to detect at
+which version of FreeType is installed on your system. This one tests
+for a version that is at least 2.0.9, you should change the last line to
+check against other release numbers.
+
+ AC_MSG_CHECKING([for version of FreeType])
+ FREETYPE_INCLUDE=`freetype-config --cflags | cut -c3-`
+ FREETYPE_MAJOR=`grep '^#define FREETYPE_MAJOR' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
+ FREETYPE_MINOR=`grep '^#define FREETYPE_MINOR' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
+ FREETYPE_PATCH=`grep '^#define FREETYPE_PATCH' $FREETYPE_INCLUDE/freetype/freetype.h | cut -d' ' -f3`
+ FREETYPE_VERSION=`echo | awk "BEGIN { printf \"%d\", ($FREETYPE_MAJOR * 1000 + $FREETYPE_MINOR) * 1000 + $FREETYPE_PATCH;}"`
+ AC_MSG_RESULT([$FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH])
+ if test "$FREETYPE_VERSION" -ge 2000009; then
+