Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. Instructions on how to build FreeType with your own build tool
  2. ==============================================================
  3.  
  4. See  the  file `CUSTOMIZE'  to  learn  how  to customize  FreeType  to
  5. specific environments.
  6.  
  7.  
  8. I. Standard procedure
  9. ---------------------
  10.  
  11.   * DISABLE PRE-COMPILED  HEADERS!  This is very  important for Visual
  12.     C++, because FreeType uses lines like:
  13.  
  14.       #include FT_FREETYPE_H
  15.  
  16.     which are not correctly supported by this compiler while being ISO
  17.     C compliant!
  18.  
  19.   * You  need  to  add  the directories  `freetype2/include'  to  your
  20.     include path when compiling the library.
  21.  
  22.   * FreeType 2 is made of  several components; each of them is located
  23.     in    a   subdirectory    of   `freetype2/src'.     For   example,
  24.     `freetype2/src/truetype/' contains the TrueType font driver.
  25.  
  26.   * DO NOT COMPILE ALL C FILES!  Rather, compile the following ones.
  27.  
  28.     -- base components (required)
  29.  
  30.       src/base/ftsystem.c
  31.       src/base/ftinit.c
  32.       src/base/ftdebug.c
  33.  
  34.       src/base/ftbase.c
  35.  
  36.       src/base/ftbbox.c       -- recommended, see <freetype/ftbbox.h>
  37.       src/base/ftglyph.c      -- recommended, see <freetype/ftglyph.h>
  38.  
  39.       src/base/ftbdf.c        -- optional, see <freetype/ftbdf.h>
  40.       src/base/ftbitmap.c     -- optional, see <freetype/ftbitmap.h>
  41.       src/base/ftcid.c        -- optional, see <freetype/ftcid.h>
  42.       src/base/ftfstype.c     -- optional
  43.       src/base/ftgasp.c       -- optional, see <freetype/ftgasp.h>
  44.       src/base/ftgxval.c      -- optional, see <freetype/ftgxval.h>
  45.       src/base/ftlcdfil.c     -- optional, see <freetype/ftlcdfil.h>
  46.       src/base/ftmm.c         -- optional, see <freetype/ftmm.h>
  47.       src/base/ftotval.c      -- optional, see <freetype/ftotval.h>
  48.       src/base/ftpatent.c     -- optional
  49.       src/base/ftpfr.c        -- optional, see <freetype/ftpfr.h>
  50.       src/base/ftstroke.c     -- optional, see <freetype/ftstroke.h>
  51.       src/base/ftsynth.c      -- optional, see <freetype/ftsynth.h>
  52.       src/base/fttype1.c      -- optional, see <freetype/t1tables.h>
  53.       src/base/ftwinfnt.c     -- optional, see <freetype/ftwinfnt.h>
  54.       src/base/ftxf86.c       -- optional, see <freetype/ftxf86.h>
  55.  
  56.       src/base/ftmac.c        -- only on the Macintosh
  57.  
  58.     -- font drivers (optional; at least one is needed)
  59.  
  60.       src/bdf/bdf.c           -- BDF font driver
  61.       src/cff/cff.c           -- CFF/OpenType font driver
  62.       src/cid/type1cid.c      -- Type 1 CID-keyed font driver
  63.       src/pcf/pcf.c           -- PCF font driver
  64.       src/pfr/pfr.c           -- PFR/TrueDoc font driver
  65.       src/sfnt/sfnt.c         -- SFNT files support
  66.                                  (TrueType & OpenType)
  67.       src/truetype/truetype.c -- TrueType font driver
  68.       src/type1/type1.c       -- Type 1 font driver
  69.       src/type42/type42.c     -- Type 42 font driver
  70.       src/winfonts/winfnt.c   -- Windows FONT / FNT font driver
  71.  
  72.     -- rasterizers (optional; at least one is needed for vector
  73.        formats)
  74.  
  75.       src/raster/raster.c     -- monochrome rasterizer
  76.       src/smooth/smooth.c     -- anti-aliasing rasterizer
  77.  
  78.     -- auxiliary modules (optional)
  79.  
  80.       src/autofit/autofit.c   -- auto hinting module
  81.       src/cache/ftcache.c     -- cache sub-system (in beta)
  82.       src/gzip/ftgzip.c       -- support for compressed fonts (.gz)
  83.       src/lzw/ftlzw.c         -- support for compressed fonts (.Z)
  84.       src/bzip2/ftbzip2.c     -- support for compressed fonts (.bz2)
  85.       src/gxvalid/gxvalid.c   -- TrueTypeGX/AAT table validation
  86.       src/otvalid/otvalid.c   -- OpenType table validation
  87.       src/psaux/psaux.c       -- PostScript Type 1 parsing
  88.       src/pshinter/pshinter.c -- PS hinting module
  89.       src/psnames/psnames.c   -- PostScript glyph names support
  90.  
  91.  
  92.     Notes:
  93.  
  94.       `ftcache.c'  needs `ftglyph.c'
  95.       `ftfstype.c' needs `fttype1.c'
  96.       `ftglyph.c'  needs `ftbitmap.c'
  97.       `ftstroke.c' needs `ftglyph.c'
  98.       `ftsynth.c'  needs `ftbitmap.c'
  99.  
  100.       `cff.c'      needs `sfnt.c', `pshinter.c', and `psnames.c'
  101.       `truetype.c' needs `sfnt.c' and `psnames.c'
  102.       `type1.c'    needs `psaux.c' `pshinter.c', and `psnames.c'
  103.       `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
  104.       `type42.c'   needs `truetype.c'
  105.  
  106.       To use `ftbzip2.c', an application must be linked with a library
  107.       which implements bzip2 support  (and the bzip2 header files must
  108.       be available also during compilation).
  109.  
  110.  
  111.   Read the file `CUSTOMIZE' in case  you want to compile only a subset
  112.   of  the  drivers,  renderers,   and  optional  modules;  a  detailed
  113.   description of the various base  extension is given in the top-level
  114.   file `modules.cfg'.
  115.  
  116.   You are done.  In case of problems, see the archives of the FreeType
  117.   development mailing list.
  118.  
  119.  
  120. II. Support for flat-directory compilation
  121. ------------------------------------------
  122.  
  123.   It is  possible to  put all  FreeType 2 source  files into  a single
  124.   directory, with the *exception* of the `include' hierarchy.
  125.  
  126.   1. Copy all files in current directory
  127.  
  128.       cp freetype2/src/base/*.[hc] .
  129.       cp freetype2/src/raster1/*.[hc] .
  130.       cp freetype2/src/smooth/*.[hc] .
  131.       etc.
  132.  
  133.   2. Compile sources
  134.  
  135.       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
  136.       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
  137.       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
  138.       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
  139.       etc.
  140.  
  141.     You don't  need to define  the FT_FLAT_COMPILATION macro  (as this
  142.     was required in previous releases of FreeType 2).
  143.  
  144. ----------------------------------------------------------------------
  145.  
  146. Copyright 2003, 2005, 2006, 2009, 2010 by
  147. David Turner, Robert Wilhelm, and Werner Lemberg.
  148.  
  149. This  file is  part of  the FreeType  project, and  may only  be used,
  150. modified,  and distributed  under the  terms of  the  FreeType project
  151. license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
  152. this file you  indicate that you have read  the license and understand
  153. and accept it fully.
  154.  
  155.  
  156. --- end of INSTALL.ANY ---
  157.