Initialize Tizen 2.3
[framework/graphics/freetype.git] / docs / VERSION.DLL
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.0.9 or 2.1.3.
17
18   * The libtool (and Unix) specific version number, like 9.2.3.  This is
19     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.3.2'.
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.   Unfortunately, this one  wasn't available or
43 working correctly before the 2.1.3 official release.
44
45
46 2. History
47 ----------
48
49 The following table gives,  for each official release, the corresponding
50 libtool  number, as well  as the  shared object  number found  on _most_
51 systems, but not all of them:
52
53
54     release    libtool      so
55   -------------------------------
56      2.4.9      14.1.8    6.8.1
57      2.4.8      14.0.8    6.8.0
58      2.4.7      13.2.7    6.7.2
59      2.4.6      13.1.7    6.7.1
60      2.4.5      13.0.7    6.7.0
61      2.4.4      12.2.6    6.6.2
62      2.4.3      12.1.6    6.6.1
63      2.4.2      12.0.6    6.6.0
64      2.4.1      11.1.5    6.5.1
65      2.4.0      11.0.5    6.5.0
66      2.3.12     10.0.4    6.4.0
67      2.3.11     9.22.3    6.3.22
68      2.3.10     9.21.3    6.3.21
69      2.3.9      9.20.3    6.3.20
70      2.3.8      9.19.3    6.3.19
71      2.3.7      9.18.3    6.3.18
72      2.3.6      9.17.3    6.3.17
73      2.3.5      9.16.3    6.3.16
74      2.3.4      9.15.3    6.3.15
75      2.3.3      9.14.3    6.3.14
76      2.3.2      9.13.3    6.3.13
77      2.3.1      9.12.3    6.3.12
78      2.3.0      9.11.3    6.3.11
79      2.2.1      9.10.3    6.3.10
80      2.2.0      9.9.3     6.3.9
81      2.1.10     9.8.3     6.3.8
82      2.1.9      9.7.3     6.3.7
83      2.1.8      9.6.3     6.3.6
84      2.1.7      9.5.3     6.3.5
85      2.1.6      9.5.3     6.3.5
86      2.1.5      9.4.3     6.3.4
87      2.1.4      9.3.3     6.3.3
88      2.1.3      9.2.3     6.3.2
89      2.1.2      9.1.3     6.3.1
90      2.1.1      9.0.3         ?
91      2.1.0      8.0.2         ?
92      2.0.9      9.0.3         ?
93      2.0.8      8.0.2         ?
94      2.0.4      7.0.1         ?
95      2.0.1      6.1.0         ?
96
97 The libtool numbers are a bit inconsistent due to the library's history:
98
99   - 2.1.0 was created as a development branch from 2.0.8 (hence the same
100     libtool numbers).
101
102   - 2.0.9  was  a  bug-fix  release  of  the  `stable'  branch,  and  we
103     incorrectly increased its libtool number.
104
105   - 2.1.4 was a development version, however it was stable  enough to be
106     the basis of the 2.2.0 release.
107
108
109 3. Autoconf Code Fragment
110 -------------------------
111
112 Lars Clausen contributed the following autoconf fragment to detect which
113 version of  FreeType is  installed on  a system.  This  one tests  for a
114 version that  is at least 2.0.9;  you should change it  to check against
115 other release numbers.
116
117
118   AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
119   old_CPPFLAGS="$CPPFLAGS"
120   CPPFLAGS=`freetype-config --cflags`
121   AC_TRY_CPP([
122
123 #include <ft2build.h>
124 #include FT_FREETYPE_H
125 #if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
126 #error Freetype version too low.
127 #endif
128   ],
129   [AC_MSG_RESULT(yes)
130    FREETYPE_LIBS=`freetype-config --libs`
131    AC_SUBST(FREETYPE_LIBS)
132    AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
133    CPPFLAGS="$old_CPPFLAGS"],
134   [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
135
136 ------------------------------------------------------------------------
137
138 Copyright 2002-2012 by
139 David Turner, Robert Wilhelm, and Werner Lemberg.
140
141 This  file is  part  of the  FreeType  project, and  may  only be  used,
142 modified,  and  distributed under  the  terms  of  the FreeType  project
143 license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
144 file  you indicate that  you have  read the  license and  understand and
145 accept it fully.
146
147
148 --- end of VERSION.DLL ---