blob: af3f6e7a311d01a2ef7ef15835931db3f6054746 [file] [log] [blame]
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/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/ftpfr.c -- optional, see <freetype/ftpfr.h>
src/base/ftbdf.c -- optional, see <freetype/ftbdf.h>
src/base/ftwinfnt.c -- optional, see <freetype/ftwinfnt.h>
src/base/ftmac.c -- only on the Macintosh
-- other components (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/pfr/pfr.c -- PFR/TrueDoc font driver
src/bdf/bdf.c -- BDF font driver
src/pcf/pcf.c -- PCF 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
src/raster1/raster1.c -- monochrome rasterizer
src/smooth/smooth.c -- anti-aliasing rasterizer
Notes:
`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'
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] .
etc.
2. Compile sources
cc -c -Ifreetype2/include ftsystem.c
cc -c -Ifreetype2/include ftinit.c
cc -c -Ifreetype2/include ftdebug.c
cc -c -Ifreetype2/include ftbase.c
etc.
You don't need to define the FT_FLAT_COMPILATION macro (as this was
required in previous releases of FreeType 2).
--- end of INSTALL.ANY ---