• 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.0      22.0.16   6.16.0
56     2.8.1      21.0.15   6.15.0
57     2.8.0      20.0.14   6.14.0
58     2.7.1      19.0.13   6.13.0
59     2.7.0      18.6.12   6.12.6
60     2.6.5      18.5.12   6.12.5
61     2.6.4      18.4.12   6.12.4
62     2.6.3      18.3.12   6.12.3
63     2.6.2      18.2.12   6.12.2
64     2.6.1      18.1.12   6.12.1
65     2.6.0      18.0.12   6.12.0
66     2.5.5      17.4.11   6.11.4
67     2.5.4      17.3.11   6.11.3
68     2.5.3      17.2.11   6.11.2
69     2.5.2      17.1.11   6.11.1
70     2.5.1      17.0.11   6.11.0
71     2.5.0      16.2.10   6.10.2
72     2.4.12     16.1.10   6.10.1
73     2.4.11     16.0.10   6.10.0
74     2.4.10     15.0.9    6.9.0
75     2.4.9      14.1.8    6.8.1
76     2.4.8      14.0.8    6.8.0
77     2.4.7      13.2.7    6.7.2
78     2.4.6      13.1.7    6.7.1
79     2.4.5      13.0.7    6.7.0
80     2.4.4      12.2.6    6.6.2
81     2.4.3      12.1.6    6.6.1
82     2.4.2      12.0.6    6.6.0
83     2.4.1      11.1.5    6.5.1
84     2.4.0      11.0.5    6.5.0
85
86
873. Autoconf Code Fragment
88-------------------------
89
90Lars Clausen contributed the following autoconf fragment to detect which
91version of  FreeType is  installed on  a system.  This  one tests  for a
92version that  is at least 2.0.9;  you should change it  to check against
93other release numbers.
94
95
96  AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
97  old_CPPFLAGS="$CPPFLAGS"
98  CPPFLAGS=`freetype-config --cflags`
99  AC_TRY_CPP([
100
101#include <ft2build.h>
102#include FT_FREETYPE_H
103#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
104#error FreeType version too low.
105#endif
106  ],
107  [AC_MSG_RESULT(yes)
108   FREETYPE_LIBS=`freetype-config --libs`
109   AC_SUBST(FREETYPE_LIBS)
110   AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
111   CPPFLAGS="$old_CPPFLAGS"],
112  [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
113
114------------------------------------------------------------------------
115
116Copyright 2002-2018 by
117David Turner, Robert Wilhelm, and Werner Lemberg.
118
119This  file is  part  of the  FreeType  project, and  may  only be  used,
120modified,  and  distributed under  the  terms  of  the FreeType  project
121license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
122file  you indicate that  you have  read the  license and  understand and
123accept it fully.
124
125
126--- end of VERSIONS.TXT ---
127