Improve build documentation. Fixes #1012.
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
diff --git a/README b/README
index bb3858d..faad251 100644
--- a/README
+++ b/README
@@ -15,6 +15,9 @@ INFORMATION.
Read the files `docs/INSTALL*` for installation instructions; see the
file `docs/LICENSE.TXT` for the available licenses.
+For using FreeType's git repository instead of a distribution bundle,
+please read file `README.git`.
+
The FreeType 2 API reference is located in directory `docs/reference`;
use the file `index.html` as the top entry point. [Please note that
currently the search function for locally installed documentation
diff --git a/docs/INSTALL b/docs/INSTALL
index 4cede73..de51d78 100644
--- a/docs/INSTALL
+++ b/docs/INSTALL
@@ -7,7 +7,19 @@ overview of the documentation available:
I. Normal installation and upgrades
===================================
- 1. Unix Systems (including Mac OS X, Cygwin, and MSys on Windows)
+ 0. Modify `include/freetype/config/ftoption.h', if necessary, to
+ control how the FreeType library gets built. Normally, you don't
+ need to change anything.
+
+ Applications can't control FreeType's behaviour at build time.
+ To make applications control (some of) FreeType's behaviour at
+ run-time, look at the documentation of function
+ `FT_Property_Set'.
+
+ 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
@@ -26,10 +38,11 @@ I. Normal installation and upgrades
3. Other systems using GNU Make
- On non-Unix platforms, it is possible to build the library using
- 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, Visual C++, Borland C++, and more.
+ 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'.
diff --git a/docs/INSTALL.UNIX b/docs/INSTALL.UNIX
index c22df34..bdf42e2 100644
--- a/docs/INSTALL.UNIX
+++ b/docs/INSTALL.UNIX
@@ -44,14 +44,21 @@ or MSys on Win32:
sh autogen.sh
- In case of problems, you may need to install or upgrade Automake,
- Autoconf or Libtool. See README.git in the top-level directory
+ In case of problems, you may need to install or upgrade Automake,
+ Autoconf or Libtool. See `README.git' in the top-level directory
for more information.
3. Build and install the library
--------------------------------
+ Say
+
+ ./configure --help
+
+ to see the list of possible configuration options and important
+ environment variables.
+
The following should work on all Unix systems where the `make'
command invokes GNU Make:
@@ -75,6 +82,18 @@ or MSys on Win32:
If this still doesn't work, there must be a problem with your
system (e.g., you are using a very old version of GNU Make).
+ For library identification, FreeType's `configure' script uses the
+ `pkg-config' interface: Assuming it needs library `foo', it calls
+ the `pkg-config' program to find information on library `foo',
+ which in turn looks for a `foo.pc' file installed at the system.
+ Some platforms, however, don't come with `pkg-support'; you then
+ have to use environment variables as described by `configure
+ --help'. Example:
+
+ LIBPNG_CFLAGS="-I/path/to/libpng/include/directory" \
+ LIBPNG_LIBS="-L/path/to/libpng/lib/directory" \
+ configure ...
+
It is possible to compile FreeType in a different directory.
Assuming the FreeType source files in directory `/src/freetype' a
compilation in directory `foo' works as follows: