summaryrefslogtreecommitdiff
path: root/docs/INSTALL
blob: 5c5fdcd55a78b5f4ba7aa528de7e4d9505457187 (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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
In order to build the library, read the `BUILD' document in the `docs'
directory.  This is only a quick starter.


I. Unix systems
---------------

  Simply type

    ./configure
    make
    ./install

  on the command line to configure, build and install FreeType on your
  system.  Note that the default installation path is "/usr/local".

  Please read the file  README.UNX, it contains _critical_ information
  regarding the installation of FreeType on many Unix systems.


II. From the command line
-------------------------

  If  you are  not using  Unix, there  are two  ways to  quickly build
  FreeType 2 from the command line.

  The first, and favorite one, is to use the "Jam" build tool.  Jam is
  a highly  portable replacement for  Make whose control files  do not
  depend on the current platform or compiler toolset.

  For more information, please see:

    http://www.freetype.org/jam/index.html

  The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).


  1. Building FT2 with "Jam"
  --------------------------

    Once you've  got *our version* of  the Jam tool  installed on your
    system, simply go to the top-level FT2 directory, then type

      "jam"

    on the command line.  This will  build the library and place it in
    the "objs" directory.

    By default,  a static  library is built.   On Unix systems,  it is
    possible to  build a shared library through  the "libtool" script.
    You need to have libtool  installed on your system, then re-define
    a few environment variables before invoking Jam, as in

       export CC="libtool --mode=compile cc"
       export LINK="libtool --mode=link cc"
       jam

    In  later releases  of  FT2, building  shared  libraries with  Jam
    should become automatic on Unix systems.


  2. Building FT2 with "GNU Make"
  -------------------------------

  You need  to have  GNU Make (version  3.78.1 or newer)  installed on
  your system to compile the library from the command line.  This will
  _NOT_ work with other make tools (including BSD make)!

  [Well, this is not  really correct.  Recently, a perl implementation
  of make called `makepp' has appeared which can also build FreeType 2
  successfully on Unix platforms.  See http://LNC.usc.edu/~holt/makepp
  for more details.]

  - Go to the `freetype2' directory.

  - Unix (any C compiler should work):

      - make setup (don't worry, this will invoke a configure script)
      - make
      - make install

    Alternatively,  you can  pass parameters  to the  configure script
    within the CFG variable, as in:

      - make setup CFG="--prefix=/usr"
      - make
      - make install

    If the  configure script isn't run,  try to add `unix' as a target
    on the command line, e.g.:

      - make setup unix CFG="--prefix=/opt/experimental"


  - Windows:

    We provide a  version of GNU Make for Win32  on the FreeType site.
    See http://www.freetype.org/download.html for details.

    - gcc (Mingw, _not_ CygWin):

        - make setup
        - make


    - Visual C++:

        - make setup visualc
        - make


    - other compilers:

        - make setup bcc32    -> Borland C++ 32 bits
        - make setup intelc   -> Intel C++
        - make setup watcom   -> Watcom C++
        - make setup lcc      -> Win32-LCC


II. In your own environment (IDE)
---------------------------------

  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/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/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

    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'

       etc.

For more information, please consult "docs/BUILD".

--- end of INSTALL --