blob: 2bed537d22486f2fb11fdff9b48c1391fad56d8a [file] [log] [blame]
Werner Lemberg89184192021-01-16 07:53:09 +01001README.git
Werner Lemberg5e32a032021-07-03 20:24:16 +02002==========
3
4
5repository issues
6-----------------
Werner Lemberg89184192021-01-16 07:53:09 +01007
Werner Lemberg1578e572021-03-16 06:59:01 +01008FreeType's official repository site is
9
10 https://gitlab.freedesktop.org/freetype ,
11
12from which the 'freetype.git' and 'freetype-demos.git' repositories
13can be cloned in the usual way.
14
15 git clone https://gitlab.freedesktop.org/freetype/freetype.git
16 git clone https://gitlab.freedesktop.org/freetype/freetype-demos.git
17
18If you want to use the Savannah mirror instead, you have to do a
19slightly different incantation because the repository names contain
20digit '2' for historical reasons.
21
22 git clone \
23 https://git.savannah.nongnu.org/git/freetype/freetype2.git \
24 freetype
25 git clone \
26 https://git.savannah.nongnu.org/git/freetype/freetype2-demos.git \
27 freetype-demos
28
29
Werner Lemberg5e32a032021-07-03 20:24:16 +020030standard builds with `configure`
31--------------------------------
32
33The git repository doesn't contain pre-built configuration scripts for
Werner Lembergb4119a92005-05-24 13:46:17 +000034UNIXish platforms. To generate them say
35
36 sh autogen.sh
37
38which in turn depends on the following packages:
Werner Lembergb0db0fc2005-03-05 17:05:35 +000039
Werner Lemberga984fda2008-06-09 21:02:13 +000040 automake (1.10.1)
41 libtool (2.2.4)
42 autoconf (2.62)
Werner Lembergb0db0fc2005-03-05 17:05:35 +000043
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +000044The versions given in parentheses are known to work. Newer versions
Werner Lemberg89184192021-01-16 07:53:09 +010045should work too, of course. Note that `autogen.sh` also sets up
46proper file permissions for the `configure` and auxiliary scripts.
Werner Lembergb0db0fc2005-03-05 17:05:35 +000047
Werner Lemberg5e32a032021-07-03 20:24:16 +020048The `autogen.sh` script checks whether the versions of the above three
49tools match the numbers above. Otherwise it will complain and suggest
50either upgrading or using environment variables to point to more
51recent versions of the required tools.
David Turner9750fcb2007-01-04 23:14:48 +000052
Werner Lemberg89184192021-01-16 07:53:09 +010053Note that `aclocal` is provided by the 'automake' package on Linux,
54and that `libtoolize` is called `glibtoolize` on Darwin (OS X).
David Turner9750fcb2007-01-04 23:14:48 +000055
56
Werner Lemberg5e32a032021-07-03 20:24:16 +020057alternative build methods
58-------------------------
59
Werner Lemberg89184192021-01-16 07:53:09 +010060For static builds that don't use platform-specific optimizations, no
Werner Lembergb0db0fc2005-03-05 17:05:35 +000061configure script is necessary at all; saying
62
63 make setup ansi
64 make
65
Werner Lemberg5e32a032021-07-03 20:24:16 +020066should work on all platforms that have GNU `make` (or `makepp`).
67
68A build with `cmake` or `meson` can be done directly from the git
69repository. However, if you want to use the `FT_DEBUG_LOGGING` macro
70(see file `docs/DEBUG` for more information) it is currently mandatory
71to execute `autogen.sh` in advance; this script clones the 'dlg' git
72submodule and copies some files into FreeType's source tree.
Werner Lemberg60a04df2005-06-04 23:04:30 +000073
74
Werner Lemberg5e32a032021-07-03 20:24:16 +020075contributing
76------------
Priyesh Kumarab0ea062020-08-28 11:28:17 +053077
Werner Lembergb0f86752021-01-16 08:57:33 +010078If you want to contribute to FreeType it is recommended to install the
79`git-merge-changelog` program we use a `ChangeLog` file, which often
80prevents simple merging due to conflicts. Most GNU/Linux
81distributions have a package for this program; otherwise you can
82install it via the 'gnulib' git repository. Detailed instructions can
83be found at the beginning of
84
85 https://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/git-merge-changelog.c
86
87To make it actually work, add to file `.git/config` in the FreeType
88git repository (or to your `$HOME/.gitconfig` file) the lines
89
90 [merge "merge-changelog"]
91 name = GNU-style ChangeLog merge driver
92 driver = /usr/local/bin/git-merge-changelog %O %A %B
93
94
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +000095----------------------------------------------------------------------
96
Werner Lembergb6e8a712021-01-17 07:18:48 +010097Copyright (C) 2005-2021 by
Werner Lemberg4ea0a7f2007-01-05 09:03:31 +000098David Turner, Robert Wilhelm, and Werner Lemberg.
99
100This file is part of the FreeType project, and may only be used,
101modified, and distributed under the terms of the FreeType project
102license, LICENSE.TXT. By continuing to use, modify, or distribute
103this file you indicate that you have read the license and understand
104and accept it fully.
105
106
Werner Lemberg8c4b4622010-07-12 21:25:01 +0200107--- end of README.git ---