123 lines
3.9 KiB
Plaintext
123 lines
3.9 KiB
Plaintext
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.
|
|
|
|
This file tries to explain why and to document ways to properly detect
|
|
FreeType on Unix.
|
|
|
|
|
|
1. Version and Release numbers
|
|
------------------------------
|
|
|
|
For each new public release of FreeType 2, there are generally *three*
|
|
distinct `version' numbers to consider:
|
|
|
|
* The official FreeType 2 release number, like 2.3.1 or 2.4.10.
|
|
|
|
* The libtool (and Unix) specific version number, like 13.0.7. This
|
|
is what `freetype-config --version' returns.
|
|
|
|
* The platform-specific shared object number, used for example when
|
|
the library is installed as `/usr/lib/libfreetype.so.6.7.1'.
|
|
|
|
The platform-specific number is, unsurprisingly, platform-specific and
|
|
varies with the operating system you are 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 a small autoconf fragment.
|
|
|
|
The release number is also available at *runtime* through the
|
|
`FT_Library_Version' API.
|
|
|
|
|
|
2. History
|
|
----------
|
|
|
|
The following table gives, for all releases since 2.4.0, the
|
|
corresponding libtool number, as well as the shared object number found
|
|
on _most_ systems, but not all of them:
|
|
|
|
|
|
release libtool so
|
|
-------------------------------
|
|
2.7.0 18.6.12 6.12.6
|
|
2.6.5 18.5.12 6.12.5
|
|
2.6.4 18.4.12 6.12.4
|
|
2.6.3 18.3.12 6.12.3
|
|
2.6.2 18.2.12 6.12.2
|
|
2.6.1 18.1.12 6.12.1
|
|
2.6.0 18.0.12 6.12.0
|
|
2.5.5 17.4.11 6.11.4
|
|
2.5.4 17.3.11 6.11.3
|
|
2.5.3 17.2.11 6.11.2
|
|
2.5.2 17.1.11 6.11.1
|
|
2.5.1 17.0.11 6.11.0
|
|
2.5.0 16.2.10 6.10.2
|
|
2.4.12 16.1.10 6.10.1
|
|
2.4.11 16.0.10 6.10.0
|
|
2.4.10 15.0.9 6.9.0
|
|
2.4.9 14.1.8 6.8.1
|
|
2.4.8 14.0.8 6.8.0
|
|
2.4.7 13.2.7 6.7.2
|
|
2.4.6 13.1.7 6.7.1
|
|
2.4.5 13.0.7 6.7.0
|
|
2.4.4 12.2.6 6.6.2
|
|
2.4.3 12.1.6 6.6.1
|
|
2.4.2 12.0.6 6.6.0
|
|
2.4.1 11.1.5 6.5.1
|
|
2.4.0 11.0.5 6.5.0
|
|
|
|
|
|
3. Autoconf Code Fragment
|
|
-------------------------
|
|
|
|
Lars Clausen contributed the following autoconf fragment to detect which
|
|
version of FreeType is installed on a system. This one tests for a
|
|
version that is at least 2.0.9; you should change it to check against
|
|
other release numbers.
|
|
|
|
|
|
AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
|
|
old_CPPFLAGS="$CPPFLAGS"
|
|
CPPFLAGS=`freetype-config --cflags`
|
|
AC_TRY_CPP([
|
|
|
|
#include <ft2build.h>
|
|
#include FT_FREETYPE_H
|
|
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
|
|
#error Freetype version too low.
|
|
#endif
|
|
],
|
|
[AC_MSG_RESULT(yes)
|
|
FREETYPE_LIBS=`freetype-config --libs`
|
|
AC_SUBST(FREETYPE_LIBS)
|
|
AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
|
|
CPPFLAGS="$old_CPPFLAGS"],
|
|
[AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Copyright 2002-2016 by
|
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
|
|
This file is part of the FreeType project, and may only be used,
|
|
modified, and distributed under the terms of the FreeType project
|
|
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
|
file you indicate that you have read the license and understand and
|
|
accept it fully.
|
|
|
|
|
|
--- end of VERSIONS.TXT ---
|