upload tizen1.0 source
[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.3      12.1.6    6.6.1
57      2.4.2      12.0.6    6.6.0
58      2.4.1      11.1.5    6.5.1
59      2.4.0      11.0.5    6.5.0
60      2.3.12     10.0.4    6.4.0
61      2.3.11     9.22.3    6.3.22
62      2.3.10     9.21.3    6.3.21
63      2.3.9      9.20.3    6.3.20
64      2.3.8      9.19.3    6.3.19
65      2.3.7      9.18.3    6.3.18
66      2.3.6      9.17.3    6.3.17
67      2.3.5      9.16.3    6.3.16
68      2.3.4      9.15.3    6.3.15
69      2.3.3      9.14.3    6.3.14
70      2.3.2      9.13.3    6.3.13
71      2.3.1      9.12.3    6.3.12
72      2.3.0      9.11.3    6.3.11
73      2.2.1      9.10.3    6.3.10
74      2.2.0      9.9.3     6.3.9
75      2.1.10     9.8.3     6.3.8
76      2.1.9      9.7.3     6.3.7
77      2.1.8      9.6.3     6.3.6
78      2.1.7      9.5.3     6.3.5
79      2.1.6      9.5.3     6.3.5
80      2.1.5      9.4.3     6.3.4
81      2.1.4      9.3.3     6.3.3
82      2.1.3      9.2.3     6.3.2
83      2.1.2      9.1.3     6.3.1
84      2.1.1      9.0.3         ?
85      2.1.0      8.0.2         ?
86      2.0.9      9.0.3         ?
87      2.0.8      8.0.2         ?
88      2.0.4      7.0.1         ?
89      2.0.1      6.1.0         ?
90
91 The libtool numbers are a bit inconsistent due to the library's history:
92
93   - 2.1.0 was created as a development branch from 2.0.8 (hence the same
94     libtool numbers).
95
96   - 2.0.9  was  a  bug-fix  release  of  the  `stable'  branch,  and  we
97     incorrectly increased its libtool number.
98
99   - 2.1.4 was a development version, however it was stable  enough to be
100     the basis of the 2.2.0 release.
101
102
103 3. Autoconf Code Fragment
104 -------------------------
105
106 Lars Clausen contributed the following autoconf fragment to detect which
107 version of  FreeType is  installed on  a system.  This  one tests  for a
108 version that  is at least 2.0.9;  you should change it  to check against
109 other release numbers.
110
111
112   AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
113   old_CPPFLAGS="$CPPFLAGS"
114   CPPFLAGS=`freetype-config --cflags`
115   AC_TRY_CPP([
116
117 #include <ft2build.h>
118 #include FT_FREETYPE_H
119 #if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
120 #error Freetype version too low.
121 #endif
122   ],
123   [AC_MSG_RESULT(yes)
124    FREETYPE_LIBS=`freetype-config --libs`
125    AC_SUBST(FREETYPE_LIBS)
126    AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
127    CPPFLAGS="$old_CPPFLAGS"],
128   [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
129
130 ------------------------------------------------------------------------
131
132 Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
133 David Turner, Robert Wilhelm, and Werner Lemberg.
134
135 This  file is  part  of the  FreeType  project, and  may  only be  used,
136 modified,  and  distributed under  the  terms  of  the FreeType  project
137 license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
138 file  you indicate that  you have  read the  license and  understand and
139 accept it fully.
140
141
142 --- end of VERSION.DLL ---