summaryrefslogtreecommitdiff
path: root/docs/INSTALL.ANY
blob: 5e2cf0eea739afbbe11afe3bf79afa83d28b44c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
Instructions on how to build FreeType with your own build tool:

  see the file "CUSTOMIZE" to learn how to customize FreeType to
  specific environments.

  follow these simple steps:

I. Normal way:
--------------

  * DISABLE PRE-COMPILED HEADERS ! This is very important for Visual
    C++, because FreeType uses lines like:
    
       #include FT_FREETYPE_H
    
    which are not correctly supported by this compiler, while being
    ISO C compliant !!

  * You need to add  the directories "freetype2/include" to your include
    path when compiling the library.

  * FreeType  2 is  made  of several  components;  each one  of them  is
    located   in  a  subdirectory   of  "freetype2/src".   For  example,
    'freetype2/src/truetype/' contains the TrueType font driver.

  * DO NOT COMPILE ALL C FILES!  Rather, compile the following ones:

      -- base components (required)

        src/base/ftsystem.c
        src/base/ftinit.c
        src/base/ftdebug.c
        src/base/ftbase.c
        src/base/ftglyph.c
        src/base/ftbbox.c
        src/base/ftmm.c
        src/base/ftpfr.c        -- optional, see <freetype/ftpfr.h>
        src/base/ftbdf.c        -- optional, see <freetype/ftbdf.h>
        src/base/ftwinfnt.c     -- optional, see <freetype/ftwinfnt.h>

        src/base/ftmac.c        -- only on the Macintosh

     -- other components are optional

        src/autohint/autohint.c -- auto hinting module
        src/cache/ftcache.c     -- cache sub-system (in beta)
        src/sfnt/sfnt.c         -- SFNT files support
                                   (TrueType & OpenType)
        src/cff/cff.c           -- CFF/OpenType font driver
        src/pfr/pfr.c           -- PFR/TrueDoc font driver
        src/bdf/bdf.c           -- BDF font driver
        src/pcf/pcf.c           -- PCF font driver
        src/psnames/psnames.c   -- Postscript glyph names support
        src/psaux/psaux.c       -- Postscript Type 1 parsing
        src/truetype/truetype.c -- TrueType font driver
        src/type1/type1.c       -- Type 1 font driver
        src/cid/type1cid.c      -- Type 1 CID-keyed font driver
        src/winfonts/winfonts.c -- Windows FONT / FNT font driver
        src/raster1/raster1.c   -- monochrome rasterizer
        src/smooth/smooth.c     -- anti-aliasing rasterizer

    Note:

      `truetype.c' needs `sfnt.c' and `psnames.c'
      `type1.c'    needs `psaux.c' and `psnames.c'
      `type1cid.c' needs `psaux.c' and `psnames.c'
      `cff.c'      needs `sfnt.c', `psaux.c', and `psnames.c'

  that should be it ! in case of problems, see the archives of
  the FreeType development mailing list.


II. Support for flat-directory compilation
------------------------------------------

  It is  possible to  put all  FreeType 2 source  files into  a single
  directory, with the *exception* of the `include' hierarchy.

    1. Copy all files in current directory:

        cp freetype2/src/base/*.[hc] .
        cp freetype2/src/raster1/*.[hc] .
        cp freetype2/src/smooth/*.[hc] .
        etc.

    2. Compile sources:

        cc -c -Ifreetype2/include ftsystem.c
        cc -c -Ifreetype2/include ftinit.c
        cc -c -Ifreetype2/include ftdebug.c
        cc -c -Ifreetype2/include ftbase.c
        etc.

   You don't need to define the FT_FLAT_COMPILATION macro (as this was
   required in previous releases of FreeType 2).