modules/freetype2/docs/VERSION.DLL

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:9393fb64b9b9
1 Due to our use of `libtool' to generate and install the FreeType 2
2 libraries on Unix systems, as well as other historical events, it is
3 generally very difficult to know precisely which release of the font
4 engine is installed on a given system.
5
6 This file tries to explain why and to document ways to properly detect
7 FreeType on Unix.
8
9
10 1. Version and Release numbers
11 ------------------------------
12
13 For each new public release of FreeType 2, there are generally *three*
14 distinct `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
24 The platform-specific number is, unsurprisingly, platform-specific and
25 varies with the operating system you are using (several variants of
26 Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
27 for simple tests.
28
29 The libtool-specific number does not equal the release number but is
30 tied to it.
31
32 The release number is available at *compile* time through the following
33 macros 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
39 See below for a small autoconf fragment.
40
41 The release number is also available at *runtime* through the
42 `FT_Library_Version' API.
43
44
45 2. History
46 ----------
47
48 The following table gives, for all releases since 2.3.0, the
49 corresponding libtool number, as well as the shared object number found
50 on _most_ systems, but not all of them:
51
52
53 release libtool so
54 -------------------------------
55 2.5.3 17.2.11 6.11.2
56 2.5.2 17.1.11 6.11.1
57 2.5.1 17.0.11 6.11.0
58 2.5.0 16.2.10 6.10.2
59 2.4.12 16.1.10 6.10.1
60 2.4.11 16.0.10 6.10.0
61 2.4.10 15.0.9 6.9.0
62 2.4.9 14.1.8 6.8.1
63 2.4.8 14.0.8 6.8.0
64 2.4.7 13.2.7 6.7.2
65 2.4.6 13.1.7 6.7.1
66 2.4.5 13.0.7 6.7.0
67 2.4.4 12.2.6 6.6.2
68 2.4.3 12.1.6 6.6.1
69 2.4.2 12.0.6 6.6.0
70 2.4.1 11.1.5 6.5.1
71 2.4.0 11.0.5 6.5.0
72 2.3.12 10.0.4 6.4.0
73 2.3.11 9.22.3 6.3.22
74 2.3.10 9.21.3 6.3.21
75 2.3.9 9.20.3 6.3.20
76 2.3.8 9.19.3 6.3.19
77 2.3.7 9.18.3 6.3.18
78 2.3.6 9.17.3 6.3.17
79 2.3.5 9.16.3 6.3.16
80 2.3.4 9.15.3 6.3.15
81 2.3.3 9.14.3 6.3.14
82 2.3.2 9.13.3 6.3.13
83 2.3.1 9.12.3 6.3.12
84 2.3.0 9.11.3 6.3.11
85
86
87 3. Autoconf Code Fragment
88 -------------------------
89
90 Lars Clausen contributed the following autoconf fragment to detect which
91 version of FreeType is installed on a system. This one tests for a
92 version that is at least 2.0.9; you should change it to check against
93 other 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
116 Copyright 2002-2014 by
117 David Turner, Robert Wilhelm, and Werner Lemberg.
118
119 This file is part of the FreeType project, and may only be used,
120 modified, and distributed under the terms of the FreeType project
121 license, LICENSE.TXT. By continuing to use, modify, or distribute this
122 file you indicate that you have read the license and understand and
123 accept it fully.
124
125
126 --- end of VERSION.DLL ---

mercurial