Sat, 03 Jan 2015 20:18:00 +0100
Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.
michael@0 | 1 | This document contains instructions on how to build the FreeType |
michael@0 | 2 | library on Unix systems. This also works for emulations like Cygwin |
michael@0 | 3 | or MSys on Win32: |
michael@0 | 4 | |
michael@0 | 5 | |
michael@0 | 6 | 1. Ensure that you are using GNU Make |
michael@0 | 7 | ------------------------------------- |
michael@0 | 8 | |
michael@0 | 9 | The FreeType build system _exclusively_ works with GNU Make. You |
michael@0 | 10 | will not be able to compile the library with the instructions |
michael@0 | 11 | below using any other alternative (including BSD Make). |
michael@0 | 12 | |
michael@0 | 13 | Check that you have GNU make by running the command: |
michael@0 | 14 | |
michael@0 | 15 | make -v |
michael@0 | 16 | |
michael@0 | 17 | This should dump some text that begins with: |
michael@0 | 18 | |
michael@0 | 19 | GNU Make <version number> |
michael@0 | 20 | Copyright (C) <year> Free Software Foundation Inc. |
michael@0 | 21 | |
michael@0 | 22 | Note that version 3.80 or higher is *required* or the build will |
michael@0 | 23 | fail. |
michael@0 | 24 | |
michael@0 | 25 | It is also fine to have GNU Make under another name (e.g. 'gmake') |
michael@0 | 26 | if you use the MAKE variable as described below. |
michael@0 | 27 | |
michael@0 | 28 | As a special exception, 'makepp' can also be used to build |
michael@0 | 29 | FreeType 2. See the file docs/MAKEPP for details. |
michael@0 | 30 | |
michael@0 | 31 | |
michael@0 | 32 | 2. Regenerate the configure script if needed |
michael@0 | 33 | -------------------------------------------- |
michael@0 | 34 | |
michael@0 | 35 | This only applies if you are building a git snapshot or checkout, |
michael@0 | 36 | *not* if you grabbed the sources of an official release. |
michael@0 | 37 | |
michael@0 | 38 | You need to invoke the `autogen.sh' script in the top-level |
michael@0 | 39 | directory in order to create the `configure' script for your |
michael@0 | 40 | platform. Normally, this simply means typing: |
michael@0 | 41 | |
michael@0 | 42 | sh autogen.sh |
michael@0 | 43 | |
michael@0 | 44 | In case of problems, you may need to install or upgrade Automake, |
michael@0 | 45 | Autoconf or Libtool. See README.git in the top-level directory |
michael@0 | 46 | for more information. |
michael@0 | 47 | |
michael@0 | 48 | |
michael@0 | 49 | 3. Build and install the library |
michael@0 | 50 | -------------------------------- |
michael@0 | 51 | |
michael@0 | 52 | The following should work on all Unix systems where the `make' |
michael@0 | 53 | command invokes GNU Make: |
michael@0 | 54 | |
michael@0 | 55 | ./configure [options] |
michael@0 | 56 | make |
michael@0 | 57 | make install (as root) |
michael@0 | 58 | |
michael@0 | 59 | The default installation path is `/usr/local'. It can be changed |
michael@0 | 60 | with the `--prefix=<path>' option. Example: |
michael@0 | 61 | |
michael@0 | 62 | ./configure --prefix=/usr |
michael@0 | 63 | |
michael@0 | 64 | When using a different command to invoke GNU Make, use the MAKE |
michael@0 | 65 | variable. For example, if `gmake' is the command to use on your |
michael@0 | 66 | system, do something like: |
michael@0 | 67 | |
michael@0 | 68 | MAKE=gmake ./configure [options] |
michael@0 | 69 | gmake |
michael@0 | 70 | gmake install (as root) |
michael@0 | 71 | |
michael@0 | 72 | If this still doesn't work, there must be a problem with your |
michael@0 | 73 | system (e.g., you are using a very old version of GNU Make). |
michael@0 | 74 | |
michael@0 | 75 | It is possible to compile FreeType in a different directory. |
michael@0 | 76 | Assuming the FreeType source files in directory `/src/freetype' a |
michael@0 | 77 | compilation in directory `foo' works as follows: |
michael@0 | 78 | |
michael@0 | 79 | cd foo |
michael@0 | 80 | /src/freetype/configure [options] |
michael@0 | 81 | make |
michael@0 | 82 | make install |
michael@0 | 83 | |
michael@0 | 84 | |
michael@0 | 85 | 3.1 Interdependency with HarfBuzz |
michael@0 | 86 | ................................. |
michael@0 | 87 | |
michael@0 | 88 | Note that there is a chicken-and-egg problem currently since the |
michael@0 | 89 | HarfBuzz library (used by the auto-hinter to improve support of |
michael@0 | 90 | OpenType fonts) depends on FreeType, which can be solved as |
michael@0 | 91 | follows in case HarfBuzz is not yet installed on your system. |
michael@0 | 92 | |
michael@0 | 93 | 1. Call FreeType's `configure' script with option |
michael@0 | 94 | `--without-harfbuzz', then compile and install FreeType. |
michael@0 | 95 | |
michael@0 | 96 | 2. Compile and install HarfBuzz. |
michael@0 | 97 | |
michael@0 | 98 | 3. Call FreeType's `configure' script without option |
michael@0 | 99 | `--without-harfbuzz' (after executing `make distclean'), then |
michael@0 | 100 | compile and install FreeType again. |
michael@0 | 101 | |
michael@0 | 102 | |
michael@0 | 103 | ---------------------------------------------------------------------- |
michael@0 | 104 | |
michael@0 | 105 | Copyright 2003-2007, 2013, 2014 by |
michael@0 | 106 | David Turner, Robert Wilhelm, and Werner Lemberg. |
michael@0 | 107 | |
michael@0 | 108 | This file is part of the FreeType project, and may only be used, |
michael@0 | 109 | modified, and distributed under the terms of the FreeType project |
michael@0 | 110 | license, LICENSE.TXT. By continuing to use, modify, or distribute |
michael@0 | 111 | this file you indicate that you have read the license and understand |
michael@0 | 112 | and accept it fully. |
michael@0 | 113 | |
michael@0 | 114 | |
michael@0 | 115 | --- end of INSTALL.UNIX --- |