misc/libfreetype/docs/INSTALL.GNU
author Xeli
Wed, 22 Jun 2011 13:25:53 +0200
branchhedgeroid
changeset 5293 8634c7f09372
parent 5172 88f2e05288ba
permissions -rw-r--r--
Make file to build the hwengine as Library for Android, it also uses PushToDevice to update the library on the device without the need of reinstalling the apk
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
This document contains instructions  how to build the FreeType library
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     2
on non-Unix systems  with the help of GNU Make.  Note  that if you are
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     3
running Cygwin or MSys in  Windows, you should follow the instructions
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     4
in the file INSTALL.UNIX instead.
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
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     7
  FreeType 2 includes a powerful and flexible build system that allows
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     8
  you to  easily compile it on  a great variety of  platforms from the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
     9
  command line.  To do so, just follow these simple instructions.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    10
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    11
  1. Install GNU Make
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
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    14
    Because  GNU Make  is  the  only Make  tool  supported to  compile
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    15
    FreeType 2, you should install it on your machine.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    16
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    17
    The FreeType 2 build system relies on many features special to GNU
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    18
    Make.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    19
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    20
    NEARLY ALL OTHER MAKE TOOLS  FAIL, INCLUDING `BSD MAKE', SO REALLY
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    21
    INSTALL A RECENT VERSION OF GNU MAKE ON YOUR SYSTEM!
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    22
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    23
    Note that  make++, a  make tool written  in Perl,  supports enough
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    24
    features of GNU make to compile FreeType.  See
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    25
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    26
      http://makepp.sourceforge.net
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    27
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    28
    for more information; you need version 1.19 or newer, and you must
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    29
    pass option `--norc-substitution'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    30
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    31
    Make sure that you are invoking GNU Make from the command line, by
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    32
    typing something like:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    33
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    34
      make -v
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    35
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    36
    to display its version number.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    37
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    38
    VERSION 3.80 OR NEWER IS NEEDED!
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    39
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
  2. Invoke `make'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    42
  ----------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    43
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    44
    Go to  the root  directory of FreeType  2, then simply  invoke GNU
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    45
    Make from the command line.   This will launch the FreeType 2 host
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    46
    platform  detection routines.   A summary  will be  displayed, for
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    47
    example, on Win32.
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
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    50
      ==============================================================
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    51
      FreeType build system -- automatic system detection
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
      The following settings are used:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    54
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    55
        platform                     win32
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    56
        compiler                     gcc
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    57
        configuration directory      .\builds\win32
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    58
        configuration rules          .\builds\win32\w32-gcc.mk
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    59
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    60
      If this does not correspond to your system or settings please
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    61
      remove the file 'config.mk' from this directory then read the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    62
      INSTALL file for help.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    63
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    64
      Otherwise, simply type 'make' again to build the library
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    65
      or 'make refdoc' to build the API reference (the latter needs
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    66
      python).
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    67
      =============================================================
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    68
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    69
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    70
    If the detected settings correspond to your platform and compiler,
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    71
    skip to step 5.  Note that if your platform is completely alien to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    72
    the build system, the detected platform will be `ansi'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    73
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    74
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    75
  3. Configure the build system for a different compiler
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    76
  ------------------------------------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    77
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    78
    If the build system correctly detected your platform, but you want
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    79
    to use a different compiler  than the one specified in the summary
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    80
    (for most platforms, gcc is the default compiler), invoke GNU Make
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    81
    with
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    82
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    83
      make setup <compiler>
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    84
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    85
    Examples:
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    86
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    87
      to use Visual C++ on Win32, type:  `make setup visualc'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    88
      to use Borland C++ on Win32, type  `make setup bcc32'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    89
      to use Watcom C++ on Win32, type   `make setup watcom'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    90
      to use Intel C++ on Win32, type    `make setup intelc'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    91
      to use LCC-Win32 on Win32, type:   `make setup lcc'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    92
      to use Watcom C++ on OS/2, type    `make setup watcom'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    93
      to use VisualAge C++ on OS/2, type `make setup visualage'
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    94
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    95
    The  <compiler> name to  use is  platform-dependent.  The  list of
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    96
    available  compilers for  your  system is  available  in the  file
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    97
    `builds/<system>/detect.mk'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    98
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
    99
    If you  are satisfied  by the new  configuration summary,  skip to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   100
    step 5.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   101
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
  4. Configure the build system for an unknown platform/compiler
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   104
  --------------------------------------------------------------
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
    The auto-detection/setup  phase of the build system  copies a file
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   107
    to the current directory under the name `config.mk'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   108
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   109
    For    example,    on    OS/2+gcc,    it   would    simply    copy
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   110
    `builds/os2/os2-gcc.mk' to `./config.mk'.
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
    If for  some reason your  platform isn't correctly  detected, copy
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   113
    manually the configuration sub-makefile to `./config.mk' and go to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   114
    step 5.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   115
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   116
    Note  that  this file  is  a  sub-Makefile  used to  specify  Make
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   117
    variables  for compiler  and linker  invocation during  the build.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   118
    You can  easily create your own  version from one  of the existing
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   119
    configuration files,  then copy it to the  current directory under
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   120
    the name `./config.mk'.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   121
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   122
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   123
  5. Build the library
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   124
  --------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   125
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   126
    The auto-detection/setup  phase should have  copied a file  in the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   127
    current  directory,  called  `./config.mk'.   This  file  contains
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   128
    definitions of various Make  variables used to invoke the compiler
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   129
    and linker during the build.  [It has also generated a file called
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   130
    `ftmodule.h'   in  the  objects   directory  (which   is  normally
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   131
    `<toplevel>/objs/');  please read  the  file `docs/CUSTOMIZE'  for
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   132
    customization of FreeType.]
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   133
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   134
    To  launch  the build,  simply  invoke  GNU  Make again:  The  top
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   135
    Makefile will detect the configuration file and run the build with
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   136
    it.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   137
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   138
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   139
  Final note
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   140
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   141
    The build  system builds a  statically linked library of  the font
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   142
    engine in the  `objs' directory.  It does _not_  support the build
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   143
    of  DLLs on  Windows and  OS/2.  If  you need  these, you  have to
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   144
    either   use  an   IDE-specific  project   file,  or   follow  the
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   145
    instructions in `INSTALL.ANY' to create your own Makefiles.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   146
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   147
----------------------------------------------------------------------
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   148
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   149
Copyright 2003, 2004, 2005, 2006, 2008 by
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   150
David Turner, Robert Wilhelm, and Werner Lemberg.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   151
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   152
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
   153
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
   154
license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   155
this file you  indicate that you have read  the license and understand
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   156
and accept it fully.
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   157
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   158
88f2e05288ba aaand let's add freetype as well while we are at it
koda
parents:
diff changeset
   159
--- end of INSTALL.GNU ---