author Landry Breuil <>
Wed, 14 Aug 2013 13:03:40 +0200
changeset 142521 93c54132c3cbc6d72156e8c2adc033f5a09b07be
parent 88648 52e691cfec84ad54dc016471f54783b324d07bc2
child 166755 a53448ab8cffe5d47d5e970d6177070dd577afa6
permissions -rw-r--r--
Bug 899722 Part 1: Fix ECMAScript intl on BSD by stripping the extra 's' added to the library name, as done on linux. r=norbert

Instructions on how to build FreeType with your own build tool

See  the  file `CUSTOMIZE'  to  learn  how  to customize  FreeType  to
specific environments.

I. Standard procedure

  * 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 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/ftbbox.c       -- recommended, see <freetype/ftbbox.h>
      src/base/ftglyph.c      -- recommended, see <freetype/ftglyph.h>

      src/base/ftbdf.c        -- optional, see <freetype/ftbdf.h>
      src/base/ftbitmap.c     -- optional, see <freetype/ftbitmap.h>
      src/base/ftcid.c        -- optional, see <freetype/ftcid.h>
      src/base/ftfstype.c     -- optional
      src/base/ftgasp.c       -- optional, see <freetype/ftgasp.h>
      src/base/ftgxval.c      -- optional, see <freetype/ftgxval.h>
      src/base/ftlcdfil.c     -- optional, see <freetype/ftlcdfil.h>
      src/base/ftmm.c         -- optional, see <freetype/ftmm.h>
      src/base/ftotval.c      -- optional, see <freetype/ftotval.h>
      src/base/ftpatent.c     -- optional
      src/base/ftpfr.c        -- optional, see <freetype/ftpfr.h>
      src/base/ftstroke.c     -- optional, see <freetype/ftstroke.h>
      src/base/ftsynth.c      -- optional, see <freetype/ftsynth.h>
      src/base/fttype1.c      -- optional, see <freetype/t1tables.h>
      src/base/ftwinfnt.c     -- optional, see <freetype/ftwinfnt.h>
      src/base/ftxf86.c       -- optional, see <freetype/ftxf86.h>

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

    -- font drivers (optional; at least one is needed)

      src/bdf/bdf.c           -- BDF font driver
      src/cff/cff.c           -- CFF/OpenType font driver
      src/cid/type1cid.c      -- Type 1 CID-keyed font driver
      src/pcf/pcf.c           -- PCF font driver
      src/pfr/pfr.c           -- PFR/TrueDoc font driver
      src/sfnt/sfnt.c         -- SFNT files support
                                 (TrueType & OpenType)
      src/truetype/truetype.c -- TrueType font driver
      src/type1/type1.c       -- Type 1 font driver
      src/type42/type42.c     -- Type 42 font driver
      src/winfonts/winfnt.c   -- Windows FONT / FNT font driver

    -- rasterizers (optional; at least one is needed for vector

      src/raster/raster.c     -- monochrome rasterizer
      src/smooth/smooth.c     -- anti-aliasing rasterizer

    -- auxiliary modules (optional)

      src/autofit/autofit.c   -- auto hinting module
      src/cache/ftcache.c     -- cache sub-system (in beta)
      src/gzip/ftgzip.c       -- support for compressed fonts (.gz)
      src/lzw/ftlzw.c         -- support for compressed fonts (.Z)
      src/bzip2/ftbzip2.c     -- support for compressed fonts (.bz2)
      src/gxvalid/gxvalid.c   -- TrueTypeGX/AAT table validation
      src/otvalid/otvalid.c   -- OpenType table validation
      src/psaux/psaux.c       -- PostScript Type 1 parsing
      src/pshinter/pshinter.c -- PS hinting module
      src/psnames/psnames.c   -- PostScript glyph names support


      `ftcache.c'  needs `ftglyph.c'
      `ftfstype.c' needs `fttype1.c'
      `ftglyph.c'  needs `ftbitmap.c'
      `ftstroke.c' needs `ftglyph.c'
      `ftsynth.c'  needs `ftbitmap.c'

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

      To use `ftbzip2.c', an application must be linked with a library
      which implements bzip2 support  (and the bzip2 header files must
      be available also during compilation).

  Read the file `CUSTOMIZE' in case  you want to compile only a subset
  of  the  drivers,  renderers,   and  optional  modules;  a  detailed
  description of the various base  extension is given in the top-level
  file `modules.cfg'.

  You are done.  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] .

  2. Compile sources

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

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


Copyright 2003, 2005, 2006, 2009, 2010 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.ANY ---