• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Due  to our  use of  `libtool' to  generate and  install the  FreeType 2
2libraries on  Unix systems, as  well as  other historical events,  it is
3generally very  difficult to  know precisely which  release of  the font
4engine is installed on a given system.
5
6This file tries  to explain why and to document  ways to properly detect
7FreeType on Unix.
8
9
101. Version and Release numbers
11------------------------------
12
13For each new  public release of FreeType 2, there  are generally *three*
14distinct `version' numbers to consider:
15
16  * The official FreeType 2 release number, like 2.3.1 or 2.4.10.
17
18  * The libtool (and  Unix) specific version number,  like 13.0.7.  This
19    is what `freetype-config --version' returns.
20
21  * The platform-specific  shared object  number, used for  example when
22    the library is installed as `/usr/lib/libfreetype.so.6.7.1'.
23
24The platform-specific  number is, unsurprisingly,  platform-specific and
25varies  with the  operating system  you are  using (several  variants of
26Linux, FreeBSD,  Solaris, etc.).  You  should thus _never_ use  it, even
27for simple tests.
28
29The libtool-specific  number does  not equal the  release number  but is
30tied to it.
31
32The release number is available  at *compile* time through the following
33macros defined in FT_FREETYPE_H:
34
35  - FREETYPE_MAJOR: major release number
36  - FREETYPE_MINOR: minor release number
37  - FREETYPE_PATCH: patch release number
38
39See below for a small autoconf fragment.
40
41The  release  number   is  also  available  at   *runtime*  through  the
42`FT_Library_Version' API.
43
44
452. History
46----------
47
48The  following   table  gives,  for   all  releases  since   2.4.0,  the
49corresponding libtool number, as well  as the shared object number found
50on _most_ systems, but not all of them:
51
52
53    release     libtool     so
54  -------------------------------
55     2.9.1      22.1.16   6.16.1
56     2.9.0      22.0.16   6.16.0
57     2.8.1      21.0.15   6.15.0
58     2.8.0      20.0.14   6.14.0
59     2.7.1      19.0.13   6.13.0
60     2.7.0      18.6.12   6.12.6
61     2.6.5      18.5.12   6.12.5
62     2.6.4      18.4.12   6.12.4
63     2.6.3      18.3.12   6.12.3
64     2.6.2      18.2.12   6.12.2
65     2.6.1      18.1.12   6.12.1
66     2.6.0      18.0.12   6.12.0
67     2.5.5      17.4.11   6.11.4
68     2.5.4      17.3.11   6.11.3
69     2.5.3      17.2.11   6.11.2
70     2.5.2      17.1.11   6.11.1
71     2.5.1      17.0.11   6.11.0
72     2.5.0      16.2.10   6.10.2
73     2.4.12     16.1.10   6.10.1
74     2.4.11     16.0.10   6.10.0
75     2.4.10     15.0.9    6.9.0
76     2.4.9      14.1.8    6.8.1
77     2.4.8      14.0.8    6.8.0
78     2.4.7      13.2.7    6.7.2
79     2.4.6      13.1.7    6.7.1
80     2.4.5      13.0.7    6.7.0
81     2.4.4      12.2.6    6.6.2
82     2.4.3      12.1.6    6.6.1
83     2.4.2      12.0.6    6.6.0
84     2.4.1      11.1.5    6.5.1
85     2.4.0      11.0.5    6.5.0
86
87
883. Autoconf Code Fragment
89-------------------------
90
91Lars Clausen contributed the following autoconf fragment to detect which
92version of  FreeType is  installed on  a system.  This  one tests  for a
93version that  is at least 2.0.9;  you should change it  to check against
94other release numbers.
95
96
97  AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
98  old_CPPFLAGS="$CPPFLAGS"
99  CPPFLAGS=`freetype-config --cflags`
100  AC_TRY_CPP([
101
102#include <ft2build.h>
103#include FT_FREETYPE_H
104#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
105#error FreeType version too low.
106#endif
107  ],
108  [AC_MSG_RESULT(yes)
109   FREETYPE_LIBS=`freetype-config --libs`
110   AC_SUBST(FREETYPE_LIBS)
111   AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
112   CPPFLAGS="$old_CPPFLAGS"],
113  [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
114
115------------------------------------------------------------------------
116
117Copyright 2002-2018 by
118David Turner, Robert Wilhelm, and Werner Lemberg.
119
120This  file is  part  of the  FreeType  project, and  may  only be  used,
121modified,  and  distributed under  the  terms  of  the FreeType  project
122license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
123file  you indicate that  you have  read the  license and  understand and
124accept it fully.
125
126
127--- end of VERSIONS.TXT ---
128