1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
There are several ways to build the FreeType library, depending on
your system and the level of customization you need. Here is a short
overview of the documentation available:
I. Prerequisites and dependencies
=================================
FreeType is a low level C library that only depends on the standard
C library with very few platform-dependent optimizations utilized at
build time. Any C99-compliant compiler should be able to compile
FreeType. System libraries, such as zlib, Gzip, bzip2, Brotli,
and libpng, might be used to handle compressed fonts or decode
embedded PNG glyphs.
FreeType auto-configuration scripts should be able to detect the
prerequisites if the necessary headers are available at the default
locations. Otherwise, modify `include/freetype/config/ftoption.h`
to control how the FreeType library gets built. Normally, you don't
need to change anything.
Applications have very limited control over FreeType's behaviour at
run-time; look at the documentation of function `FT_Property_Set`.
II. Normal installation and upgrades
====================================
1. Unix and Unix-like systems
This also includes MacOS, Cygwin, MinGW + MSYS, Mingw-w64 + MSYS2,
and possibly other, similar environments.
Please read `INSTALL.UNIX` to install or upgrade FreeType 2 on a
Unix system. Note that you *need* GNU Make for automatic
compilation, since other make tools won't work (this includes BSD
Make).
GNU Make VERSION 3.81 OR NEWER IS NEEDED!
2. Other systems using GNU Make
On some non-Unix platforms, it is possible to build the library
using only the GNU Make utility. Note that *NO OTHER MAKE TOOL
WILL WORK*[1]! This methods supports several compilers on
Windows, OS/2, and BeOS, including MinGW* (without MSYS*), Visual
C++, Borland C++, and more.
Instructions are provided in the file `INSTALL.GNU`.
3. Other build tools and platforms.
A few other tools can be used to build FreeType. You can find
the corresponding instruction files in the FreeType root folder
or the builds/ sub-folder.
CMake :: see `CMakeLists.txt` for more information
Meson :: see `meson.build` for more information
MSBuild :: see `builds/windows/vc2010/freetype.vcxproj`
MMS :: see `vms_make.com` and `docs/INSTALL.VMS`
4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
We provide a small number of 'project files' for various IDEs to
automatically build the library as well. Note that these files
are not actively supported by FreeType developers, they can break
or become obsolete.
To find them, have a look at the content of the `builds/<system>`
directory, where <system> stands for your OS or environment.
5. From you own IDE, or own Makefiles
If you want to create your own project file, follow the
instructions given in the `INSTALL.ANY` document of this
directory.
III. Custom builds of the library
=================================
Customizing the compilation of FreeType is easy, and allows you to
select only the components of the font engine that you really need.
For more details read the file `CUSTOMIZE`.
----------------------------------------------------------------------
[1] make++, a make tool written in Perl, has sufficient support of GNU
make extensions to build FreeType. See
https://makepp.sourceforge.net
for more information; you need version 2.0 or newer, and you must
pass option `--norc-substitution`.
----------------------------------------------------------------------
Copyright (C) 2000-2023 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 ---