VERSIONS.TXT 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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. This file tries to explain why and to document ways to properly detect
  6. FreeType on Unix.
  7. 1. Version and Release numbers
  8. ------------------------------
  9. For each new public release of FreeType 2, there are generally *three*
  10. distinct `version' numbers to consider:
  11. * The official FreeType 2 release number, like 2.3.1 or 2.4.10.
  12. * The libtool (and Unix) specific version number, like 13.0.7. This
  13. is what `freetype-config --version' returns.
  14. * The platform-specific shared object number, used for example when
  15. the library is installed as `/usr/lib/libfreetype.so.6.7.1'.
  16. The platform-specific number is, unsurprisingly, platform-specific and
  17. varies with the operating system you are using (several variants of
  18. Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
  19. for simple tests.
  20. The libtool-specific number does not equal the release number but is
  21. tied to it.
  22. The release number is available at *compile* time through the following
  23. macros defined in FT_FREETYPE_H:
  24. - FREETYPE_MAJOR: major release number
  25. - FREETYPE_MINOR: minor release number
  26. - FREETYPE_PATCH: patch release number
  27. See below for a small autoconf fragment.
  28. The release number is also available at *runtime* through the
  29. `FT_Library_Version' API.
  30. 2. History
  31. ----------
  32. The following table gives, for all releases since 2.4.0, the
  33. corresponding libtool number, as well as the shared object number found
  34. on _most_ systems, but not all of them:
  35. release libtool so
  36. -------------------------------
  37. 2.6.5 18.5.12 6.12.5
  38. 2.6.4 18.4.12 6.12.4
  39. 2.6.3 18.3.12 6.12.3
  40. 2.6.2 18.2.12 6.12.2
  41. 2.6.1 18.1.12 6.12.1
  42. 2.6.0 18.0.12 6.12.0
  43. 2.5.5 17.4.11 6.11.4
  44. 2.5.4 17.3.11 6.11.3
  45. 2.5.3 17.2.11 6.11.2
  46. 2.5.2 17.1.11 6.11.1
  47. 2.5.1 17.0.11 6.11.0
  48. 2.5.0 16.2.10 6.10.2
  49. 2.4.12 16.1.10 6.10.1
  50. 2.4.11 16.0.10 6.10.0
  51. 2.4.10 15.0.9 6.9.0
  52. 2.4.9 14.1.8 6.8.1
  53. 2.4.8 14.0.8 6.8.0
  54. 2.4.7 13.2.7 6.7.2
  55. 2.4.6 13.1.7 6.7.1
  56. 2.4.5 13.0.7 6.7.0
  57. 2.4.4 12.2.6 6.6.2
  58. 2.4.3 12.1.6 6.6.1
  59. 2.4.2 12.0.6 6.6.0
  60. 2.4.1 11.1.5 6.5.1
  61. 2.4.0 11.0.5 6.5.0
  62. 3. Autoconf Code Fragment
  63. -------------------------
  64. Lars Clausen contributed the following autoconf fragment to detect which
  65. version of FreeType is installed on a system. This one tests for a
  66. version that is at least 2.0.9; you should change it to check against
  67. other release numbers.
  68. AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
  69. old_CPPFLAGS="$CPPFLAGS"
  70. CPPFLAGS=`freetype-config --cflags`
  71. AC_TRY_CPP([
  72. #include <ft2build.h>
  73. #include FT_FREETYPE_H
  74. #if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
  75. #error Freetype version too low.
  76. #endif
  77. ],
  78. [AC_MSG_RESULT(yes)
  79. FREETYPE_LIBS=`freetype-config --libs`
  80. AC_SUBST(FREETYPE_LIBS)
  81. AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
  82. CPPFLAGS="$old_CPPFLAGS"],
  83. [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
  84. ------------------------------------------------------------------------
  85. Copyright 2002-2016 by
  86. David Turner, Robert Wilhelm, and Werner Lemberg.
  87. This file is part of the FreeType project, and may only be used,
  88. modified, and distributed under the terms of the FreeType project
  89. license, LICENSE.TXT. By continuing to use, modify, or distribute this
  90. file you indicate that you have read the license and understand and
  91. accept it fully.
  92. --- end of VERSIONS.TXT ---