|
1
|
+# Building FreeType
|
1
|
2
|
|
2
|
3
|
There are several ways to build the FreeType library, depending on
|
3
|
4
|
your system and the level of customization you need. Here is a short
|
4
|
5
|
overview of the documentation available:
|
5
|
6
|
|
6
|
7
|
|
7
|
|
-I. Prerequisites and dependencies
|
8
|
|
-=================================
|
|
8
|
+## A. Prerequisites and dependencies
|
9
|
9
|
|
10
|
10
|
FreeType is a low level C library that only depends on the standard
|
11
|
11
|
C library with very few platform-dependent optimizations utilized at
|
... |
... |
@@ -24,10 +24,9 @@ I. Prerequisites and dependencies |
24
|
24
|
run-time; look at the documentation of function `FT_Property_Set`.
|
25
|
25
|
|
26
|
26
|
|
27
|
|
-II. Normal installation and upgrades
|
28
|
|
-====================================
|
|
27
|
+## B. Normal installation and upgrades
|
29
|
28
|
|
30
|
|
- 1. Unix and Unix-like systems
|
|
29
|
+1. Unix and Unix-like systems
|
31
|
30
|
|
32
|
31
|
This also includes MacOS, Cygwin, MinGW + MSYS, Mingw-w64 + MSYS2,
|
33
|
32
|
and possibly other, similar environments.
|
... |
... |
@@ -40,7 +39,7 @@ II. Normal installation and upgrades |
40
|
39
|
GNU Make VERSION 3.81 OR NEWER IS NEEDED!
|
41
|
40
|
|
42
|
41
|
|
43
|
|
- 2. Other systems using GNU Make
|
|
42
|
+2. Other systems using GNU Make
|
44
|
43
|
|
45
|
44
|
On some non-Unix platforms, it is possible to build the library
|
46
|
45
|
using only the GNU Make utility. Note that *NO OTHER MAKE TOOL
|
... |
... |
@@ -51,19 +50,19 @@ II. Normal installation and upgrades |
51
|
50
|
Instructions are provided in the file `INSTALL.GNU`.
|
52
|
51
|
|
53
|
52
|
|
54
|
|
- 3. Other build tools and platforms.
|
|
53
|
+3. Other build tools and platforms.
|
55
|
54
|
|
56
|
55
|
A few other tools can be used to build FreeType. You can find
|
57
|
56
|
the corresponding instruction files in the FreeType root folder
|
58
|
57
|
or the builds/ sub-folder.
|
59
|
58
|
|
60
|
|
- CMake :: see `CMakeLists.txt` for more information
|
61
|
|
- Meson :: see `meson.build` for more information
|
62
|
|
- MSBuild :: see `builds/windows/vc2010/freetype.vcxproj`
|
63
|
|
- MMS :: see `vms_make.com` and `docs/INSTALL.VMS`
|
|
59
|
+ |CMake | see `CMakeLists.txt` for more information |
|
|
60
|
+ |Meson | see `meson.build` for more information |
|
|
61
|
+ |MSBuild | see `builds/windows/vc2010/freetype.vcxproj` |
|
|
62
|
+ |MMS | see `vms_make.com` and `docs/INSTALL.VMS` |
|
64
|
63
|
|
65
|
64
|
|
66
|
|
- 4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
|
65
|
+4. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
67
|
66
|
|
68
|
67
|
We provide a small number of 'project files' for various IDEs to
|
69
|
68
|
automatically build the library as well. Note that these files
|
... |
... |
@@ -74,22 +73,63 @@ II. Normal installation and upgrades |
74
|
73
|
directory, where <system> stands for your OS or environment.
|
75
|
74
|
|
76
|
75
|
|
77
|
|
- 5. From you own IDE, or own Makefiles
|
|
76
|
+5. From you own IDE, or own Makefiles
|
78
|
77
|
|
79
|
78
|
If you want to create your own project file, follow the
|
80
|
79
|
instructions given in the `INSTALL.ANY` document of this
|
81
|
80
|
directory.
|
82
|
81
|
|
83
|
82
|
|
84
|
|
-III. Custom builds of the library
|
85
|
|
-=================================
|
|
83
|
+## C. Custom builds of the library
|
86
|
84
|
|
87
|
85
|
Customizing the compilation of FreeType is easy, and allows you to
|
88
|
86
|
select only the components of the font engine that you really need.
|
89
|
87
|
For more details read the file `CUSTOMIZE`.
|
90
|
88
|
|
|
89
|
+## D. Standard builds with `configure`
|
91
|
90
|
|
92
|
|
-----------------------------------------------------------------------
|
|
91
|
+ The git repository doesn't contain pre-built configuration scripts for
|
|
92
|
+ UNIXish platforms. To generate them say
|
|
93
|
+
|
|
94
|
+ sh autogen.sh
|
|
95
|
+
|
|
96
|
+ which in turn depends on the following packages:
|
|
97
|
+
|
|
98
|
+ automake (1.10.1)
|
|
99
|
+ libtool (2.2.4)
|
|
100
|
+ autoconf (2.62)
|
|
101
|
+
|
|
102
|
+ The versions given in parentheses are known to work. Newer versions
|
|
103
|
+ should work too, of course. Note that `autogen.sh` also sets up
|
|
104
|
+ proper file permissions for the `configure` and auxiliary scripts.
|
|
105
|
+
|
|
106
|
+ The `autogen.sh` script checks whether the versions of the above three
|
|
107
|
+ tools match the numbers above. Otherwise it will complain and suggest
|
|
108
|
+ either upgrading or using environment variables to point to more
|
|
109
|
+ recent versions of the required tools.
|
|
110
|
+
|
|
111
|
+ Note that `aclocal` is provided by the 'automake' package on Linux,
|
|
112
|
+ and that `libtoolize` is called `glibtoolize` on Darwin (OS X).
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+## E. Alternative build methods
|
|
116
|
+
|
|
117
|
+ For static builds that don't use platform-specific optimizations, no
|
|
118
|
+ configure script is necessary at all; saying
|
|
119
|
+
|
|
120
|
+ make setup ansi
|
|
121
|
+ make
|
|
122
|
+
|
|
123
|
+ should work on all platforms that have GNU `make` (or `makepp`).
|
|
124
|
+
|
|
125
|
+ A build with `cmake` or `meson` can be done directly from the git
|
|
126
|
+ repository. However, if you want to use the `FT_DEBUG_LOGGING` macro
|
|
127
|
+ (see file `docs/DEBUG` for more information) it is currently mandatory
|
|
128
|
+ to execute `autogen.sh` in advance; this script clones the 'dlg' git
|
|
129
|
+ submodule and copies some files into FreeType's source tree.
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+---
|
93
|
133
|
|
94
|
134
|
[1] make++, a make tool written in Perl, has sufficient support of GNU
|
95
|
135
|
make extensions to build FreeType. See
|
... |
... |
@@ -99,7 +139,7 @@ III. Custom builds of the library |
99
|
139
|
for more information; you need version 2.0 or newer, and you must
|
100
|
140
|
pass option `--norc-substitution`.
|
101
|
141
|
|
102
|
|
-----------------------------------------------------------------------
|
|
142
|
+---
|
103
|
143
|
|
104
|
144
|
Copyright (C) 2000-2023 by
|
105
|
145
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
... |
... |
@@ -110,5 +150,3 @@ license, LICENSE.TXT. By continuing to use, modify, or distribute |
110
|
150
|
this file you indicate that you have read the license and understand
|
111
|
151
|
and accept it fully.
|
112
|
152
|
|
113
|
|
-
|
114
|
|
---- end of INSTALL --- |