Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | RSS feed

  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.0      16.2.10   6.10.2
  56.      2.4.12     16.1.10   6.10.1
  57.      2.4.11     16.0.10   6.10.0
  58.      2.4.10     15.0.9    6.9.0
  59.      2.4.9      14.1.8    6.8.1
  60.      2.4.8      14.0.8    6.8.0
  61.      2.4.7      13.2.7    6.7.2
  62.      2.4.6      13.1.7    6.7.1
  63.      2.4.5      13.0.7    6.7.0
  64.      2.4.4      12.2.6    6.6.2
  65.      2.4.3      12.1.6    6.6.1
  66.      2.4.2      12.0.6    6.6.0
  67.      2.4.1      11.1.5    6.5.1
  68.      2.4.0      11.0.5    6.5.0
  69.      2.3.12     10.0.4    6.4.0
  70.      2.3.11     9.22.3    6.3.22
  71.      2.3.10     9.21.3    6.3.21
  72.      2.3.9      9.20.3    6.3.20
  73.      2.3.8      9.19.3    6.3.19
  74.      2.3.7      9.18.3    6.3.18
  75.      2.3.6      9.17.3    6.3.17
  76.      2.3.5      9.16.3    6.3.16
  77.      2.3.4      9.15.3    6.3.15
  78.      2.3.3      9.14.3    6.3.14
  79.      2.3.2      9.13.3    6.3.13
  80.      2.3.1      9.12.3    6.3.12
  81.      2.3.0      9.11.3    6.3.11
  82.  
  83.  
  84. 3. Autoconf Code Fragment
  85. -------------------------
  86.  
  87. Lars Clausen contributed the following autoconf fragment to detect which
  88. version of  FreeType is  installed on  a system.  This  one tests  for a
  89. version that  is at least 2.0.9;  you should change it  to check against
  90. other release numbers.
  91.  
  92.  
  93.   AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
  94.   old_CPPFLAGS="$CPPFLAGS"
  95.   CPPFLAGS=`freetype-config --cflags`
  96.   AC_TRY_CPP([
  97.  
  98. #include <ft2build.h>
  99. #include FT_FREETYPE_H
  100. #if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
  101. #error Freetype version too low.
  102. #endif
  103.   ],
  104.   [AC_MSG_RESULT(yes)
  105.    FREETYPE_LIBS=`freetype-config --libs`
  106.    AC_SUBST(FREETYPE_LIBS)
  107.    AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
  108.    CPPFLAGS="$old_CPPFLAGS"],
  109.   [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
  110.  
  111. ------------------------------------------------------------------------
  112.  
  113. Copyright 2002-2013 by
  114. David Turner, Robert Wilhelm, and Werner Lemberg.
  115.  
  116. This  file is  part  of the  FreeType  project, and  may  only be  used,
  117. modified,  and  distributed under  the  terms  of  the FreeType  project
  118. license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
  119. file  you indicate that  you have  read the  license and  understand and
  120. accept it fully.
  121.  
  122.  
  123. --- end of VERSION.DLL ---
  124.