misc/libfreetype/docs/VERSION.DLL
author koda
Sat, 14 Jan 2012 14:59:19 +0100
changeset 6562 e6b35a238d69
parent 5172 88f2e05288ba
permissions -rw-r--r--
somehow my paths slipped in...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5172
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     1
Due  to our  use of  `libtool' to  generate and  install the  FreeType 2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     2
libraries on  Unix systems,  as well as  other historical events,  it is
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     3
generally very  difficult to  know precisely which  release of  the font
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     4
engine is installed on a given system.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     5
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     6
This file tries  to explain why and to document  ways to properly detect
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     7
FreeType on Unix.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     8
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     9
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    10
1. Version and Release numbers
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    11
------------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    12
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    13
For each new  public release of FreeType 2,  there are generally *three*
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    14
distinct `version' numbers to consider:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    15
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    16
  * The official FreeType 2 release number, like 2.0.9 or 2.1.3.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    17
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    18
  * The libtool (and Unix) specific version number, like 9.2.3.  This is
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    19
    what `freetype-config --version' returns.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    20
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    21
  * The platform-specific  shared object  number, used for  example when
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    22
    the library is installed as `/usr/lib/libfreetype.so.6.3.2'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    23
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    24
The platform-specific  number is, unsurprisingly,  platform-specific and
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    25
varies  with the  operating system  you are  using (several  variants of
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    26
Linux, FreeBSD,  Solaris, etc.).  You  should thus _never_ use  it, even
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    27
for simple tests.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    28
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    29
The libtool-specific  number does  not equal the  release number  but is
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    30
tied to it.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    31
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    32
The release number is available  at *compile* time through the following
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    33
macros defined in FT_FREETYPE_H:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    34
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    35
  - FREETYPE_MAJOR: major release number
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    36
  - FREETYPE_MINOR: minor release number
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    37
  - FREETYPE_PATCH: patch release number
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    38
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    39
See below for a small autoconf fragment.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    40
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    41
The  release   number  is  also  available  at   *runtime*  through  the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    42
`FT_Library_Version' API.   Unfortunately, this one  wasn't available or
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    43
working correctly before the 2.1.3 official release.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    44
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    45
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    46
2. History
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    47
----------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    48
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    49
The following table gives,  for each official release, the corresponding
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    50
libtool  number, as well  as the  shared object  number found  on _most_
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    51
systems, but not all of them:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    52
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    53
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    54
    release    libtool      so
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    55
  -------------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    56
     2.4.4      12.2.6    6.6.2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    57
     2.4.3      12.1.6    6.6.1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    58
     2.4.2      12.0.6    6.6.0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    59
     2.4.1      11.1.5    6.5.1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    60
     2.4.0      11.0.5    6.5.0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    61
     2.3.12     10.0.4    6.4.0
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    62
     2.3.11     9.22.3    6.3.22
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    63
     2.3.10     9.21.3    6.3.21
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    64
     2.3.9      9.20.3    6.3.20
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    65
     2.3.8      9.19.3    6.3.19
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    66
     2.3.7      9.18.3    6.3.18
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    67
     2.3.6      9.17.3    6.3.17
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    68
     2.3.5      9.16.3    6.3.16
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    69
     2.3.4      9.15.3    6.3.15
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    70
     2.3.3      9.14.3    6.3.14
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    71
     2.3.2      9.13.3    6.3.13
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    72
     2.3.1      9.12.3    6.3.12
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    73
     2.3.0      9.11.3    6.3.11
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    74
     2.2.1      9.10.3    6.3.10
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    75
     2.2.0      9.9.3     6.3.9
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    76
     2.1.10     9.8.3     6.3.8
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    77
     2.1.9      9.7.3     6.3.7
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    78
     2.1.8      9.6.3     6.3.6
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    79
     2.1.7      9.5.3     6.3.5
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    80
     2.1.6      9.5.3     6.3.5
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    81
     2.1.5      9.4.3     6.3.4
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    82
     2.1.4      9.3.3     6.3.3
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    83
     2.1.3      9.2.3     6.3.2
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    84
     2.1.2      9.1.3     6.3.1
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    85
     2.1.1      9.0.3         ?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    86
     2.1.0      8.0.2         ?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    87
     2.0.9      9.0.3         ?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    88
     2.0.8      8.0.2         ?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    89
     2.0.4      7.0.1         ?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    90
     2.0.1      6.1.0         ?
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    91
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    92
The libtool numbers are a bit inconsistent due to the library's history:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    93
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    94
  - 2.1.0 was created as a development branch from 2.0.8 (hence the same
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    95
    libtool numbers).
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    96
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    97
  - 2.0.9  was  a  bug-fix  release  of  the  `stable'  branch,  and  we
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    98
    incorrectly increased its libtool number.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    99
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   100
  - 2.1.4 was a development version, however it was stable  enough to be
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   101
    the basis of the 2.2.0 release.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   102
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   103
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   104
3. Autoconf Code Fragment
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   105
-------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   106
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   107
Lars Clausen contributed the following autoconf fragment to detect which
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   108
version of  FreeType is  installed on  a system.  This  one tests  for a
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   109
version that  is at least 2.0.9;  you should change it  to check against
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   110
other release numbers.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   111
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   112
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   113
  AC_MSG_CHECKING([whether FreeType version is 2.0.9 or higher])
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   114
  old_CPPFLAGS="$CPPFLAGS"
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   115
  CPPFLAGS=`freetype-config --cflags`
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   116
  AC_TRY_CPP([
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   117
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   118
#include <ft2build.h>
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   119
#include FT_FREETYPE_H
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   120
#if (FREETYPE_MAJOR*1000 + FREETYPE_MINOR)*1000 + FREETYPE_PATCH < 2000009
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   121
#error Freetype version too low.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   122
#endif
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   123
  ],
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   124
  [AC_MSG_RESULT(yes)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   125
   FREETYPE_LIBS=`freetype-config --libs`
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   126
   AC_SUBST(FREETYPE_LIBS)
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   127
   AC_DEFINE(HAVE_FREETYPE,1,[Define if you have the FreeType2 library])
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   128
   CPPFLAGS="$old_CPPFLAGS"],
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   129
  [AC_MSG_ERROR([Need FreeType library version 2.0.9 or higher])])
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   130
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   131
------------------------------------------------------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   132
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   133
Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 by
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   134
David Turner, Robert Wilhelm, and Werner Lemberg.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   135
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   136
This  file is  part  of the  FreeType  project, and  may  only be  used,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   137
modified,  and  distributed under  the  terms  of  the FreeType  project
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   138
license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   139
file  you indicate that  you have  read the  license and  understand and
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   140
accept it fully.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   141
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   142
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   143
--- end of VERSION.DLL ---