🛠️🐜 Antkeeper superbuild with dependencies included https://antkeeper.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

131 lines
4.0 KiB

  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.7.0 or 2.10.2.
  12. * The libtool (and Unix) specific version number, like 23.2.17.
  13. This is what
  14. pkg-config freetype2 --modversion
  15. or
  16. freetype-config --version
  17. returns.
  18. * The platform-specific shared object number, used for example when
  19. the library is installed as `/usr/lib/libfreetype.so.6.17.2'.
  20. The platform-specific number is, unsurprisingly, platform-specific and
  21. varies with the operating system you are using (several variants of
  22. Linux, FreeBSD, Solaris, etc.). You should thus _never_ use it, even
  23. for simple tests.
  24. The libtool-specific number does not equal the release number but is
  25. tied to it.
  26. The release number is available at *compile* time through the
  27. following macros defined in `freetype.h':
  28. - FREETYPE_MAJOR: major release number
  29. - FREETYPE_MINOR: minor release number
  30. - FREETYPE_PATCH: patch release number
  31. See below for a small autoconf fragment.
  32. The release number is also available at *runtime* through the
  33. `FT_Library_Version' API.
  34. 2. History
  35. ----------
  36. The following table gives, for all releases since 2.5.0, the
  37. corresponding libtool number, as well as the shared object number
  38. found on _most_ systems, but not all of them:
  39. release libtool so
  40. -------------------------------
  41. 2.11.0 24.0.18 6.18.0
  42. 2.10.4 23.4.17 6.17.4
  43. 2.10.3 23.3.17 6.17.3
  44. 2.10.2 23.2.17 6.17.2
  45. 2.10.1 23.1.17 6.17.1
  46. 2.10.0 23.0.17 6.17.0
  47. 2.9.1 22.1.16 6.16.1
  48. 2.9.0 22.0.16 6.16.0
  49. 2.8.1 21.0.15 6.15.0
  50. 2.8.0 20.0.14 6.14.0
  51. 2.7.1 19.0.13 6.13.0
  52. 2.7.0 18.6.12 6.12.6
  53. 2.6.5 18.5.12 6.12.5
  54. 2.6.4 18.4.12 6.12.4
  55. 2.6.3 18.3.12 6.12.3
  56. 2.6.2 18.2.12 6.12.2
  57. 2.6.1 18.1.12 6.12.1
  58. 2.6.0 18.0.12 6.12.0
  59. 2.5.5 17.4.11 6.11.4
  60. 2.5.4 17.3.11 6.11.3
  61. 2.5.3 17.2.11 6.11.2
  62. 2.5.2 17.1.11 6.11.1
  63. 2.5.1 17.0.11 6.11.0
  64. 2.5.0 16.2.10 6.10.2
  65. 3. Autoconf Code Fragment
  66. -------------------------
  67. Lars Clausen contributed the following autoconf fragment to check
  68. which version of FreeType is installed on a system (now updated to use
  69. `pkg-config' instead of `freetype-config'). This one tests for a
  70. version that is at least 2.10.2; you should change it to check against
  71. other release numbers.
  72. AC_MSG_CHECKING([whether FreeType version is 2.10.2 or higher])
  73. old_CPPFLAGS="$CPPFLAGS"
  74. CPPFLAGS=`pkg-config freetype2 --cflags`
  75. AC_TRY_CPP([
  76. #include <ft2build.h>
  77. #include <freetype/freetype.h>
  78. #if FREETYPE_MAJOR*10000 + FREETYPE_MINOR*100 + FREETYPE_PATCH < 21002
  79. # error FreeType version too low.
  80. #endif
  81. ],
  82. [AC_MSG_RESULT(yes)
  83. FREETYPE_LIBS=`pkg-config freetype2 --libs`
  84. AC_SUBST(FREETYPE_LIBS)
  85. AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
  86. CPPFLAGS="$old_CPPFLAGS"],
  87. [AC_MSG_ERROR([Need FreeType library version 2.10.2 or higher])])
  88. ----------------------------------------------------------------------
  89. Copyright (C) 2002-2021 by
  90. David Turner, Robert Wilhelm, and Werner Lemberg.
  91. This file is part of the FreeType project, and may only be used,
  92. modified, and distributed under the terms of the FreeType project
  93. license, LICENSE.TXT. By continuing to use, modify, or distribute
  94. this file you indicate that you have read the license and understand
  95. and accept it fully.
  96. --- end of VERSIONS.TXT ---