Werner Lemberg | 8918419 | 2021-01-16 07:53:09 +0100 | [diff] [blame] | 1 | README.git |
| 2 | ---------- |
| 3 | |
Werner Lemberg | 1578e57 | 2021-03-16 06:59:01 +0100 | [diff] [blame^] | 4 | FreeType's official repository site is |
| 5 | |
| 6 | https://gitlab.freedesktop.org/freetype , |
| 7 | |
| 8 | from which the 'freetype.git' and 'freetype-demos.git' repositories |
| 9 | can be cloned in the usual way. |
| 10 | |
| 11 | git clone https://gitlab.freedesktop.org/freetype/freetype.git |
| 12 | git clone https://gitlab.freedesktop.org/freetype/freetype-demos.git |
| 13 | |
| 14 | If you want to use the Savannah mirror instead, you have to do a |
| 15 | slightly different incantation because the repository names contain |
| 16 | digit '2' for historical reasons. |
| 17 | |
| 18 | git clone \ |
| 19 | https://git.savannah.nongnu.org/git/freetype/freetype2.git \ |
| 20 | freetype |
| 21 | git clone \ |
| 22 | https://git.savannah.nongnu.org/git/freetype/freetype2-demos.git \ |
| 23 | freetype-demos |
| 24 | |
| 25 | |
Werner Lemberg | 0fbdf11 | 2009-07-15 07:50:06 +0200 | [diff] [blame] | 26 | The git archive doesn't contain pre-built configuration scripts for |
Werner Lemberg | b4119a9 | 2005-05-24 13:46:17 +0000 | [diff] [blame] | 27 | UNIXish platforms. To generate them say |
| 28 | |
| 29 | sh autogen.sh |
| 30 | |
| 31 | which in turn depends on the following packages: |
Werner Lemberg | b0db0fc | 2005-03-05 17:05:35 +0000 | [diff] [blame] | 32 | |
Werner Lemberg | a984fda | 2008-06-09 21:02:13 +0000 | [diff] [blame] | 33 | automake (1.10.1) |
| 34 | libtool (2.2.4) |
| 35 | autoconf (2.62) |
Werner Lemberg | b0db0fc | 2005-03-05 17:05:35 +0000 | [diff] [blame] | 36 | |
Werner Lemberg | 4ea0a7f | 2007-01-05 09:03:31 +0000 | [diff] [blame] | 37 | The versions given in parentheses are known to work. Newer versions |
Werner Lemberg | 8918419 | 2021-01-16 07:53:09 +0100 | [diff] [blame] | 38 | should work too, of course. Note that `autogen.sh` also sets up |
| 39 | proper file permissions for the `configure` and auxiliary scripts. |
Werner Lemberg | b0db0fc | 2005-03-05 17:05:35 +0000 | [diff] [blame] | 40 | |
Werner Lemberg | 8918419 | 2021-01-16 07:53:09 +0100 | [diff] [blame] | 41 | The `autogen.sh` script now checks the versions of the above three |
| 42 | packages whether they match the numbers above. Otherwise it will |
| 43 | complain and suggest either upgrading or using an environment variable |
| 44 | to point to a more recent version of the required tool(s). |
David Turner | 9750fcb | 2007-01-04 23:14:48 +0000 | [diff] [blame] | 45 | |
Werner Lemberg | 8918419 | 2021-01-16 07:53:09 +0100 | [diff] [blame] | 46 | Note that `aclocal` is provided by the 'automake' package on Linux, |
| 47 | and that `libtoolize` is called `glibtoolize` on Darwin (OS X). |
David Turner | 9750fcb | 2007-01-04 23:14:48 +0000 | [diff] [blame] | 48 | |
| 49 | |
Werner Lemberg | 8918419 | 2021-01-16 07:53:09 +0100 | [diff] [blame] | 50 | For static builds that don't use platform-specific optimizations, no |
Werner Lemberg | b0db0fc | 2005-03-05 17:05:35 +0000 | [diff] [blame] | 51 | configure script is necessary at all; saying |
| 52 | |
| 53 | make setup ansi |
| 54 | make |
| 55 | |
Werner Lemberg | 8918419 | 2021-01-16 07:53:09 +0100 | [diff] [blame] | 56 | should work on all platforms that have GNU `make` (or `makepp`). |
| 57 | Similarly, a build with `cmake` or `meson` can be done directly from |
| 58 | the git repository. |
Werner Lemberg | 60a04df | 2005-06-04 23:04:30 +0000 | [diff] [blame] | 59 | |
| 60 | |
Werner Lemberg | 8918419 | 2021-01-16 07:53:09 +0100 | [diff] [blame] | 61 | For using the `FT_DEBUG_LOGGING` macro while debugging (see file |
| 62 | `docs/DEBUG` for more information) the following git commands are |
| 63 | necessary to check out the 'dlg' library as a git submodule. |
Priyesh Kumar | ab0ea06 | 2020-08-28 11:28:17 +0530 | [diff] [blame] | 64 | |
| 65 | git submodule init |
| 66 | git submodule update |
| 67 | |
| 68 | |
Werner Lemberg | b0f8675 | 2021-01-16 08:57:33 +0100 | [diff] [blame] | 69 | If you want to contribute to FreeType it is recommended to install the |
| 70 | `git-merge-changelog` program – we use a `ChangeLog` file, which often |
| 71 | prevents simple merging due to conflicts. Most GNU/Linux |
| 72 | distributions have a package for this program; otherwise you can |
| 73 | install it via the 'gnulib' git repository. Detailed instructions can |
| 74 | be found at the beginning of |
| 75 | |
| 76 | https://git.savannah.gnu.org/cgit/gnulib.git/tree/lib/git-merge-changelog.c |
| 77 | |
| 78 | To make it actually work, add to file `.git/config` in the FreeType |
| 79 | git repository (or to your `$HOME/.gitconfig` file) the lines |
| 80 | |
| 81 | [merge "merge-changelog"] |
| 82 | name = GNU-style ChangeLog merge driver |
| 83 | driver = /usr/local/bin/git-merge-changelog %O %A %B |
| 84 | |
| 85 | |
Werner Lemberg | 4ea0a7f | 2007-01-05 09:03:31 +0000 | [diff] [blame] | 86 | ---------------------------------------------------------------------- |
| 87 | |
Werner Lemberg | b6e8a71 | 2021-01-17 07:18:48 +0100 | [diff] [blame] | 88 | Copyright (C) 2005-2021 by |
Werner Lemberg | 4ea0a7f | 2007-01-05 09:03:31 +0000 | [diff] [blame] | 89 | David Turner, Robert Wilhelm, and Werner Lemberg. |
| 90 | |
| 91 | This file is part of the FreeType project, and may only be used, |
| 92 | modified, and distributed under the terms of the FreeType project |
| 93 | license, LICENSE.TXT. By continuing to use, modify, or distribute |
| 94 | this file you indicate that you have read the license and understand |
| 95 | and accept it fully. |
| 96 | |
| 97 | |
Werner Lemberg | 8c4b462 | 2010-07-12 21:25:01 +0200 | [diff] [blame] | 98 | --- end of README.git --- |