blob: b8ba9b4c3b39c44efd3eccb3aea4d5da302b6c16 [file] [log] [blame]
README.git
----------
FreeType's official repository site is
https://gitlab.freedesktop.org/freetype ,
from which the 'freetype.git' and 'freetype-demos.git' repositories
can be cloned in the usual way.
git clone https://gitlab.freedesktop.org/freetype/freetype.git
git clone https://gitlab.freedesktop.org/freetype/freetype-demos.git
If you want to use the Savannah mirror instead, you have to do a
slightly different incantation because the repository names contain
digit '2' for historical reasons.
git clone \
https://git.savannah.nongnu.org/git/freetype/freetype2.git \
freetype
git clone \
https://git.savannah.nongnu.org/git/freetype/freetype2-demos.git \
freetype-demos
The git archive doesn't contain pre-built configuration scripts for
UNIXish platforms. To generate them say
sh autogen.sh
which in turn depends on the following packages:
automake (1.10.1)
libtool (2.2.4)
autoconf (2.62)
The versions given in parentheses are known to work. Newer versions
should work too, of course. Note that `autogen.sh` also sets up
proper file permissions for the `configure` and auxiliary scripts.
The `autogen.sh` script now checks the versions of the above three
packages whether they match the numbers above. Otherwise it will
complain and suggest either upgrading or using an environment variable
to point to a more recent version of the required tool(s).
Note that `aclocal` is provided by the 'automake' package on Linux,
and that `libtoolize` is called `glibtoolize` on Darwin (OS X).
For static builds that don't use platform-specific optimizations, no
configure script is necessary at all; saying
make setup ansi
make
should work on all platforms that have GNU `make` (or `makepp`).
Similarly, a build with `cmake` or `meson` can be done directly from
the git repository.
For using the `FT_DEBUG_LOGGING` macro while debugging (see file
`docs/DEBUG` for more information) the following git commands are
necessary to check out the 'dlg' library as a git submodule.
git submodule init
git submodule update
If you want to contribute to FreeType it is recommended to install the
`git-merge-changelog` program – we use a `ChangeLog` file, which often
prevents simple merging due to conflicts. Most GNU/Linux
distributions have a package for this program; otherwise you can
install it via the 'gnulib' git repository. Detailed instructions can
be found at the beginning of
https://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/git-merge-changelog.c
To make it actually work, add to file `.git/config` in the FreeType
git repository (or to your `$HOME/.gitconfig` file) the lines
[merge "merge-changelog"]
name = GNU-style ChangeLog merge driver
driver = /usr/local/bin/git-merge-changelog %O %A %B
----------------------------------------------------------------------
Copyright (C) 2005-2021 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 README.git ---