freetype/INSTALL

149 lines
4.4 KiB
Plaintext
Raw Normal View History

In order to build the library, read the `BUILD' document in the `docs'
2000-12-14 22:57:17 +00:00
directory. This is only a quick starter.
2000-07-26 19:13:51 +00:00
2000-10-31 20:42:18 +00:00
2000-12-14 22:57:17 +00:00
I. From the command line
------------------------
2001-05-30 07:53:37 +00:00
There are two ways to quickly build FreeType 2 from the command
line.
2001-05-29 10:52:34 +00:00
2001-05-30 07:53:37 +00:00
The first, and favorite one, is to use the "Jam" build tool. Jam is
a highly portable replacement for Make whose control files do not
2001-05-29 10:52:34 +00:00
depend on the current platform or compiler toolset.
2001-05-30 07:53:37 +00:00
For more information, please see:
http://www.freetype.org/jam/index.html
2001-05-29 10:52:34 +00:00
The second one is to use "GNU Make" (and NO OTHER MAKE TOOL).
2001-05-30 07:53:37 +00:00
1. Building FT2 with "Jam"
--------------------------
2001-05-29 10:52:34 +00:00
2001-05-30 07:53:37 +00:00
Once you've got *our version* of the Jam tool installed on your
system, simply go to the top-level FT2 directory, then type
2001-05-29 10:52:34 +00:00
"jam"
2001-05-30 07:53:37 +00:00
on the command line. This will build the library and place it in
the "objs" directory.
2001-05-29 10:52:34 +00:00
2001-05-30 07:53:37 +00:00
By default, a static library is built. On Unix systems, it is
possible to build a shared library through the "libtool" script.
You need to have libtool installed on your system, then re-define
a few environment variables before invoking Jam, as in
2001-05-29 10:52:34 +00:00
export CC="libtool --mode=compile"
export LINK="libtool --mode=link"
jam
2001-05-30 07:53:37 +00:00
In later releases of FT2, building shared libraries with Jam
should become automatic.
2001-05-29 10:52:34 +00:00
2001-05-30 07:53:37 +00:00
2. Building FT2 with "GNU Make"
-------------------------------
2001-05-29 10:52:34 +00:00
You need to have GNU Make (version 3.78.1 or newer) installed on
your system to compile the library from the command line. This will
_NOT_ work with other make tools (including BSD make)!
2000-12-14 22:57:17 +00:00
[Well, this is not really correct. Recently, a perl implementation
of make called `makepp' has appeared which can also build FreeType 2
successfully on Unix platforms. See http://LNC.usc.edu/~holt/makepp
for more details.]
- Go to the `freetype2' directory.
2000-12-14 22:57:17 +00:00
- Unix (any C compiler should work):
- make setup (don't worry, this will invoke a configure script)
- make
- make install
2000-12-14 22:57:17 +00:00
Alternatively, you can pass parameters to the configure script
within the CFG variable, as in:
- make setup CFG="--prefix=/usr"
- make
- make install
2000-07-26 19:13:51 +00:00
2001-05-29 10:52:34 +00:00
2000-12-14 22:57:17 +00:00
- Windows:
2000-07-26 19:13:51 +00:00
2000-12-14 22:57:17 +00:00
We provide a version of GNU Make for Win32 on the FreeType site.
See http://www.freetype.org/download.html for details.
2000-10-31 20:42:18 +00:00
2000-12-14 22:57:17 +00:00
- gcc (Mingw, _not_ CygWin):
2000-12-14 22:57:17 +00:00
- make setup
- make
2000-07-26 19:13:51 +00:00
2000-12-14 22:57:17 +00:00
- Visual C++:
2000-12-14 22:57:17 +00:00
- make setup visualc
- make
2000-12-14 22:57:17 +00:00
- other compilers:
2001-05-29 10:52:34 +00:00
- make setup bcc32 -> Borland C++ 32 bits
- make setup intelc -> Intel C++
- make setup watcom -> Watcom C++
- make setup lcc -> Win32-LCC
2000-10-31 20:42:18 +00:00
2000-12-14 22:57:17 +00:00
II. In your own environment (IDE)
---------------------------------
2000-10-31 20:42:18 +00:00
* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H. * docs/docmaker.py: Added generation of INDEX link in table of contents. * INSTALL, docs/BUILD: Updated documentation to indicate that the compilation process has changed slightly (no more `src' required in * builds/*/*-def.mk: Changed the objects directory from "obj" to "objs". * include/freetype/config/ftheader.h: Removed obsolete macros like FT_SOURCE_FILE, etc. and added cache-specific macro definitions that were previously defined in <freetype/ftcache.h>. Added comments to be included in a new API Reference section. * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each component needs to add its own directory to the include path at compile time. Modified all "rules.mk" and "descrip.mms" accordingly. * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove compiler warnings in pedantic modes. * include/config/ft2build.h, include/config/ftheader.h: The file top-level <ft2build.h>. * include/config/ftheader.h: Added new section describing the #include macros. the Type 2 glyph charstring (used by conversion programs). * docs/docmaker.py: Added cross-references generation as well as seac emulation provided by the Type 2 endchar operator. * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, Added support for clipped direct rendering in the smooth renderer. * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
2001-03-20 22:58:56 +00:00
You need to add the directories "freetype2/include" to your include
path when compiling the library.
* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H. * docs/docmaker.py: Added generation of INDEX link in table of contents. * INSTALL, docs/BUILD: Updated documentation to indicate that the compilation process has changed slightly (no more `src' required in * builds/*/*-def.mk: Changed the objects directory from "obj" to "objs". * include/freetype/config/ftheader.h: Removed obsolete macros like FT_SOURCE_FILE, etc. and added cache-specific macro definitions that were previously defined in <freetype/ftcache.h>. Added comments to be included in a new API Reference section. * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each component needs to add its own directory to the include path at compile time. Modified all "rules.mk" and "descrip.mms" accordingly. * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove compiler warnings in pedantic modes. * include/config/ft2build.h, include/config/ftheader.h: The file top-level <ft2build.h>. * include/config/ftheader.h: Added new section describing the #include macros. the Type 2 glyph charstring (used by conversion programs). * docs/docmaker.py: Added cross-references generation as well as seac emulation provided by the Type 2 endchar operator. * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, Added support for clipped direct rendering in the smooth renderer. * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
2001-03-20 22:58:56 +00:00
FreeType 2 is made of several components; each one of them is
located in a subdirectory of "freetype2/src". For example,
`freetype2/src/truetype/' contains the TrueType font driver.
* builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. Renamed "ftnames.h" to "ftsnames.h", and FT_NAMES_H to FT_SFNT_NAMES_H. * docs/docmaker.py: Added generation of INDEX link in table of contents. * INSTALL, docs/BUILD: Updated documentation to indicate that the compilation process has changed slightly (no more `src' required in * builds/*/*-def.mk: Changed the objects directory from "obj" to "objs". * include/freetype/config/ftheader.h: Removed obsolete macros like FT_SOURCE_FILE, etc. and added cache-specific macro definitions that were previously defined in <freetype/ftcache.h>. Added comments to be included in a new API Reference section. * src/*/*: Removed the use of FT_SOURCE_FILE, etc. Now, each component needs to add its own directory to the include path at compile time. Modified all "rules.mk" and "descrip.mms" accordingly. * src/cid/cidobjs.c, src/cid/cidload.c, src/pcf/pcfread.c, src/type1/t1load.c, src/type1/t1objs.c: Added a few casts to remove compiler warnings in pedantic modes. * include/config/ft2build.h, include/config/ftheader.h: The file top-level <ft2build.h>. * include/config/ftheader.h: Added new section describing the #include macros. the Type 2 glyph charstring (used by conversion programs). * docs/docmaker.py: Added cross-references generation as well as seac emulation provided by the Type 2 endchar operator. * src/cid/cidafm.c, src/cid/cidafm.h: removed un-needed files, Added support for clipped direct rendering in the smooth renderer. * src/cff/t2objs.c (T2_Init_Face): For pure CFF fonts, set
2001-03-20 22:58:56 +00:00
DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
-- base components (required)
src/base/ftsystem.c
src/base/ftinit.c
src/base/ftdebug.c
src/base/ftbase.c
src/base/ftglyph.c
src/base/ftbbox.c
src/base/ftmm.c
2000-12-14 22:57:17 +00:00
src/base/ftmac.c -- only on the Macintosh
-- other components are optional
2000-12-14 22:57:17 +00:00
src/autohint/autohint.c -- auto hinting module
src/cache/ftcache.c -- cache sub-system (in beta)
2001-05-30 07:53:37 +00:00
src/sfnt/sfnt.c -- SFNT files support
(TrueType & OpenType)
2000-12-14 22:57:17 +00:00
src/cff/cff.c -- CFF/OpenType font driver
src/psnames/psnames.c -- Postscript glyph names support
src/psaux/psaux.c -- Postscript Type 1 parsing
src/truetype/truetype.c -- TrueType font driver
src/type1/type1.c -- Type 1 font driver
src/cid/type1cid.c -- Type 1 CID-keyed font driver
src/winfonts/winfonts.c -- Windows FONT / FNT font driver
Note:
`truetype.c' needs `sfnt.c' and `psnames.c'
`type1.c' needs `psaux.c' and `psnames.c'
`type1cid.c' needs `psaux.c' and `psnames.c'
`cff.c' needs `sfnt.c', `psaux.c', and `psnames.c'
2000-10-31 20:42:18 +00:00
etc.
2001-05-30 07:53:37 +00:00
For more information, please consult "docs/BUILD".
--- end of INSTALL --