summaryrefslogtreecommitdiff
path: root/docs/INSTALL.GNU
blob: 096b4b5f6f7ae089b0a588c26c0ad016eb128c38 (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
This document contains instructions how to build the FreeType library on
non-Unix  systems with  the help  of  GNU Make.   Note that  if you  are
running Cygwin or MSys in Windows, you should follow the instructions in
the file INSTALL.UNX instead.


  FreeType 2 includes  a powerful and flexible build  system that allows
  you to  easily compile  it on  a great variety  of platforms  from the
  command line.  To do so, just follow these simple instructions:

  1. Install GNU Make
  -------------------

    Because GNU Make is the only Make tool supported to compile FreeType
    2, you should install it on your machine.

    The FreeType 2  build system relies on many  features special to GNU
    Make.

    NEARLY ALL  OTHER MAKE TOOLS  FAIL, INCLUDING `BSD MAKE',  SO REALLY
    INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!

    Note  that make++,  a make  tool  written in  Perl, supports  enough
    features of GNU make to compile FreeType.  See
    
      http://makepp.sourceforge.net

    for more information;  you need version 1.19 or  newer, and you must
    pass option `--norc-substitution'.

    Make sure that  you are invoking GNU Make from  the command line, by
    typing something like:

      make -v

    to display its version number.

    VERSION 3.78.1 OR NEWER IS NEEDED!


  2. Invoke `make'
  ----------------

    Go to the root directory of  FreeType 2, then simply invoke GNU Make
    from  the  command line.   This  will  launch  the FreeType  2  host
    platform  detection  routines.  A  summary  will  be displayed,  for
    example, on Win32:


      ==============================================================
      FreeType build system -- automatic system detection

      The following settings are used:

        platform                     win32
        compiler                     gcc
        configuration directory      ./builds/win32
        configuration rules          ./builds/win32/w32-gcc.mk

      If this does not correspond to your system or settings please
      remove the file 'config.mk' from this directory then read the
      INSTALL file for help.

      Otherwise, simply type 'make' again to build the library
      or 'make refdoc' to build the API reference (the latter needs
      python).
      =============================================================


    If the  detected settings correspond to your  platform and compiler,
    skip to step  5.  Note that if your platform  is completely alien to
    the build system, the detected platform will be `ansi'.


  3. Configure the build system for a different compiler
  ------------------------------------------------------

    If the build  system correctly detected your platform,  but you want
    to use  a different compiler than  the one specified  in the summary
    (for most  platforms, gcc is  the defaut compiler), invoke  GNU Make
    with

      make setup <compiler>

    Examples:

      to use Visual C++ on Win32, type:  "make setup visualc"
      to use Borland C++ on Win32, type  "make setup bcc32"
      to use Watcom C++ on Win32, type   "make setup watcom"
      to use Intel C++ on Win32, type    "make setup intelc"
      to use LCC-Win32 on Win32, type:   "make setup lcc"
      to use Watcom C++ on OS/2, type    "make setup watcom"
      to use VisualAge C++ on OS/2, type "make setup visualage"

    The  <compiler> name  to  use is  platform-dependent.   The list  of
    available  compilers  for  your  system  is available  in  the  file
    `builds/<system>/detect.mk'.

    If you  are satisfied  by the new  configuration summary,  skip to
    step 5.


  4. Configure the build system for an unknown platform/compiler
  --------------------------------------------------------------

    The auto-detection/setup phase of the  build system copies a file to
    the current directory under the name `config.mk'.

    For    example,    on     OS/2+gcc,    it    would    simply    copy
    `builds/os2/os2-gcc.mk' to `./config.mk'.

    If  for some  reason your  platform isn't  correctly  detected, copy
    manually the  configuration sub-makefile to `./config.mk'  and go to
    step 5.

    Note that this file is a sub-Makefile used to specify Make variables
    for compiler and linker invocation during the build.  You can easily
    create  your own  version  from one  of  the existing  configuration
    files,  then  copy  it  to  the current  directory  under  the  name
    `./config.mk'.


  5. Build the library
  --------------------

    The  auto-detection/setup phase  should have  copied a  file  in the
    current  directory,   called  `./config.mk'.   This   file  contains
    definitions of  various Make variables  used to invoke  the compiler
    and linker during the build.

    To launch the build, simply  invoke GNU Make again: The top Makefile
    will detect the configuration file and run the build with it.


  Final note
  
    The  build system  builds a  statically linked  library of  the font
    engine in the `objs' directory.   It does _not_ support the build of
    DLLs on Windows and OS/2.  If you need these, you have to either use
    an  IDE-specific  project  file,   or  follow  the  instructions  in
    `INSTALL.ANY' to create your own Makefiles.

------------------------------------------------------------------------

Copyright 2003, 2004, 2005 by
David Turner, Robert Wilhelm, and Werner Lemberg.

This  file is  part  of the  FreeType  project, and  may  only be  used,
modified,  and  distributed under  the  terms  of  the FreeType  project
license, LICENSE.TXT.  By continuing  to use, modify, or distribute this
file  you indicate that  you have  read the  license and  understand and
accept it fully.


--- end of INSTALL.GNU ---