fae3820764
This large patch changes the header file directory layout from `include/freetype/...' to `include/...', effectively removing one level. Since the file `ft2build.h' is also located in `include' (and it stays there even after installation), all FreeType header files are now in a single directory. Applications that use (a) `freetype-config' or FreeType's `pkg-config' file to get the include directory for the compiler, and (b) the documented way for header inclusion like #include <ft2build.h> #include FT_FREETYPE_H ... don't need any change to the source code. * include/freetype/*: Move up to... * include/*: ... this directory. * builds/amiga/include/freetype/*: Move up to... * builds/amiga/include/*: ... this directory. */*: Essentially do `s@/freetype/@/@' where appropriate. * CMakeList.txt: Simplify. * builds/unix/freetype-config.in, builds/unix/freetype2.in: For `--cflags', return a single directory. * builds/unix/install.mk (install): No longer try to remove `cache' and `internal' subdirectories; instead, remove the `freetype' subdirectory.
157 lines
5.8 KiB
Plaintext
157 lines
5.8 KiB
Plaintext
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/ftbbox.c -- recommended, see <ftbbox.h>
|
|
src/base/ftglyph.c -- recommended, see <ftglyph.h>
|
|
|
|
src/base/ftbdf.c -- optional, see <ftbdf.h>
|
|
src/base/ftbitmap.c -- optional, see <ftbitmap.h>
|
|
src/base/ftcid.c -- optional, see <ftcid.h>
|
|
src/base/ftfstype.c -- optional
|
|
src/base/ftgasp.c -- optional, see <ftgasp.h>
|
|
src/base/ftgxval.c -- optional, see <ftgxval.h>
|
|
src/base/ftlcdfil.c -- optional, see <ftlcdfil.h>
|
|
src/base/ftmm.c -- optional, see <ftmm.h>
|
|
src/base/ftotval.c -- optional, see <ftotval.h>
|
|
src/base/ftpatent.c -- optional
|
|
src/base/ftpfr.c -- optional, see <ftpfr.h>
|
|
src/base/ftstroke.c -- optional, see <ftstroke.h>
|
|
src/base/ftsynth.c -- optional, see <ftsynth.h>
|
|
src/base/fttype1.c -- optional, see <t1tables.h>
|
|
src/base/ftwinfnt.c -- optional, see <ftwinfnt.h>
|
|
src/base/ftxf86.c -- optional, see <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
|
|
formats)
|
|
|
|
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
|
|
|
|
|
|
Notes:
|
|
|
|
`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] .
|
|
etc.
|
|
|
|
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
|
|
etc.
|
|
|
|
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, 2013 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 ---
|