Implement new, simplified module selection. With GNU make it is now
sufficient to modify a single file, `modules.cfg', to control the inclusion of modules and base extension files. This change also fixes the creation of ftmodule.h; it now depends on `modules.cfg' and thus is rebuilt only if necessary. Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the default location. * modules.cfg: New file. * builds/freetype.mk: Don't include `modules.mk'. Include all `rules.mk' files as specified in `modules.cfg'. (FTOPTION_FLAG, FTOPTION_H): New variables. (FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H. Add FTOPTION_FLAG. ($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST. (CONFIG_H): Add FTMODULE_H and FTOPTION_H. (INCLUDES): Add DEVEL_DIR. (INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ, OBJ_M, OBJ_S): Use `:=', not `='. (remove_ftmodule_h): New phony target to delete `ftmodule.h'. (distclean): Add remove_ftmodule_h. * builds/modules.mk: (MODULE_LIST): Removed. (make_module_list, clean_module_list): Replace targets with... (FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New variables. Reason for the change is that it is not possible to have a phony prerequisite which is run only if the target file must be rebuilt (phony prerequisites act like subroutines and are *always* executed). We only want to rebuild `ftmodule.h' if `module.cfg' is changed. Update all callers. ($FTMODULE_H)): Rule to create `ftmodule.h', depending on `modules.cfg'. * builds/toplevel.mk: Rewrite and simplify module handling. (MODULES_CFG, FTMODULE_H): New variables. Include MODULES_CFG. (MODULES): New variable to include all `module.mk' and `rules.mk' files. We no longer use make's `wildcard' function for this. * Makefile (USE_MODULES): Remove. Update all users. (OBJ_DIR): Define it here. * src/*/module.mk: Change make_module_list: foo foo: ... to FTMODULE_H_COMMANDS += FOO define FOO ... endef in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'. * src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS. * builds/unix/detect.mk (setup): Always execute `configure' script. (have_mk): Rename to... (have_Makefile): This. Don't use `strip' function. * builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is defined. (have_mk): Don't use `strip' function. Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test accordingly). * builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'. * builds/os2/os2-dev.mk, builds/unix/unix-dev.mk, builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define BUILD_DIR but DEVEL_DIR for development header files. * builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR), builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in (TOP_DIR, OBJ_DIR): Removed. Defined elsewhere. * builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR), builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere. * builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for development header files. Don't define PLATFORM. * configure: Copy `modules.cfg' to builddir if builddir != srcdir. Update snippet taken from autoconf's m4sh.m4 to current CVS version. Be more verbose. * include/freetype/config/ftmodule.h: Add comments -- this file is no longer used if FreeType is built with GNU make. * docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY, docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism. Other minor updates. * modules.txt: Removed. Contents included in `modules.cfg'. * include/freetype/internal/ftmemory.h (FT_QAlloc_Debug, FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos. * src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug, FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug) [FT_STRICT_ALIASING]: Implement.
This commit is contained in:
parent
5d146851df
commit
59939244ad
124
ChangeLog
124
ChangeLog
|
@ -1,9 +1,123 @@
|
||||||
|
2006-01-29 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
Implement new, simplified module selection. With GNU make it is now
|
||||||
|
sufficient to modify a single file, `modules.cfg', to control the
|
||||||
|
inclusion of modules and base extension files.
|
||||||
|
|
||||||
|
This change also fixes the creation of ftmodule.h; it now depends on
|
||||||
|
`modules.cfg' and thus is rebuilt only if necessary.
|
||||||
|
|
||||||
|
Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
|
||||||
|
default location.
|
||||||
|
|
||||||
|
* modules.cfg: New file.
|
||||||
|
|
||||||
|
* builds/freetype.mk: Don't include `modules.mk'.
|
||||||
|
Include all `rules.mk' files as specified in `modules.cfg'.
|
||||||
|
(FTOPTION_FLAG, FTOPTION_H): New variables.
|
||||||
|
(FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
|
||||||
|
Add FTOPTION_FLAG.
|
||||||
|
($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
|
||||||
|
(CONFIG_H): Add FTMODULE_H and FTOPTION_H.
|
||||||
|
(INCLUDES): Add DEVEL_DIR.
|
||||||
|
(INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
|
||||||
|
OBJ_M, OBJ_S): Use `:=', not `='.
|
||||||
|
(remove_ftmodule_h): New phony target to delete `ftmodule.h'.
|
||||||
|
(distclean): Add remove_ftmodule_h.
|
||||||
|
|
||||||
|
* builds/modules.mk: (MODULE_LIST): Removed.
|
||||||
|
(make_module_list, clean_module_list): Replace targets
|
||||||
|
with...
|
||||||
|
(FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
|
||||||
|
variables. Reason for the change is that it is not possible to have
|
||||||
|
a phony prerequisite which is run only if the target file must be
|
||||||
|
rebuilt (phony prerequisites act like subroutines and are *always*
|
||||||
|
executed). We only want to rebuild `ftmodule.h' if `module.cfg' is
|
||||||
|
changed.
|
||||||
|
Update all callers.
|
||||||
|
($FTMODULE_H)): Rule to create `ftmodule.h', depending on
|
||||||
|
`modules.cfg'.
|
||||||
|
|
||||||
|
* builds/toplevel.mk: Rewrite and simplify module handling.
|
||||||
|
(MODULES_CFG, FTMODULE_H): New variables.
|
||||||
|
Include MODULES_CFG.
|
||||||
|
(MODULES): New variable to include all `module.mk' and `rules.mk'
|
||||||
|
files. We no longer use make's `wildcard' function for this.
|
||||||
|
|
||||||
|
* Makefile (USE_MODULES): Remove. Update all users.
|
||||||
|
(OBJ_DIR): Define it here.
|
||||||
|
|
||||||
|
* src/*/module.mk: Change
|
||||||
|
|
||||||
|
make_module_list: foo
|
||||||
|
foo: ...
|
||||||
|
|
||||||
|
to
|
||||||
|
|
||||||
|
FTMODULE_H_COMMANDS += FOO
|
||||||
|
define FOO
|
||||||
|
...
|
||||||
|
endef
|
||||||
|
|
||||||
|
in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
|
||||||
|
|
||||||
|
* src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
|
||||||
|
|
||||||
|
* builds/unix/detect.mk (setup): Always execute `configure' script.
|
||||||
|
(have_mk): Rename to...
|
||||||
|
(have_Makefile): This.
|
||||||
|
Don't use `strip' function.
|
||||||
|
|
||||||
|
* builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
|
||||||
|
defined.
|
||||||
|
(have_mk): Don't use `strip' function.
|
||||||
|
Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
|
||||||
|
accordingly).
|
||||||
|
|
||||||
|
* builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
|
||||||
|
|
||||||
|
* builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
|
||||||
|
builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
|
||||||
|
BUILD_DIR but DEVEL_DIR for development header files.
|
||||||
|
|
||||||
|
* builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
|
||||||
|
builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
|
||||||
|
(TOP_DIR, OBJ_DIR): Removed. Defined elsewhere.
|
||||||
|
|
||||||
|
* builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
|
||||||
|
builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere.
|
||||||
|
|
||||||
|
* builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
|
||||||
|
development header files.
|
||||||
|
Don't define PLATFORM.
|
||||||
|
|
||||||
|
* configure: Copy `modules.cfg' to builddir if builddir != srcdir.
|
||||||
|
Update snippet taken from autoconf's m4sh.m4 to current CVS version.
|
||||||
|
Be more verbose.
|
||||||
|
|
||||||
|
* include/freetype/config/ftmodule.h: Add comments -- this file is
|
||||||
|
no longer used if FreeType is built with GNU make.
|
||||||
|
|
||||||
|
* docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
|
||||||
|
docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
|
||||||
|
Other minor updates.
|
||||||
|
|
||||||
|
* modules.txt: Removed. Contents included in `modules.cfg'.
|
||||||
|
|
||||||
|
|
||||||
|
* include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
|
||||||
|
FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
|
||||||
|
|
||||||
|
* src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
|
||||||
|
FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
|
||||||
|
[FT_STRICT_ALIASING]: Implement.
|
||||||
|
|
||||||
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
|
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
|
||||||
|
|
||||||
* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
|
* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
|
||||||
(cid_face_init), src/pfr/pfrobjs.c (pfr_face_init), src/type1/t1objs.c
|
(cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
|
||||||
(T1_Face_Init): Set face->height to
|
src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
|
||||||
MAX(1.2 * units_per_EM, ascender - descender).
|
units_per_EM, ascender - descender).
|
||||||
|
|
||||||
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
|
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
|
||||||
|
|
||||||
|
@ -13,8 +127,8 @@
|
||||||
|
|
||||||
* src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
|
* src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
|
||||||
|
|
||||||
* include/freetype/freetype.h (FT_FaceRec): Mention that fields may be
|
* include/freetype/freetype.h (FT_FaceRec): Mention that fields may
|
||||||
changed after file attachment.
|
be changed after file attachment.
|
||||||
|
|
||||||
2006-01-28 Werner Lemberg <wl@gnu.org>
|
2006-01-28 Werner Lemberg <wl@gnu.org>
|
||||||
|
|
||||||
|
|
12
Makefile
12
Makefile
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2002 by
|
# Copyright 1996-2000, 2002, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -18,8 +18,6 @@
|
||||||
PROJECT := freetype
|
PROJECT := freetype
|
||||||
PROJECT_TITLE := FreeType
|
PROJECT_TITLE := FreeType
|
||||||
|
|
||||||
USE_MODULES := 1
|
|
||||||
|
|
||||||
# The variable TOP_DIR holds the path to the topmost directory in the project
|
# The variable TOP_DIR holds the path to the topmost directory in the project
|
||||||
# engine source hierarchy. If it is not defined, default it to `.'.
|
# engine source hierarchy. If it is not defined, default it to `.'.
|
||||||
#
|
#
|
||||||
|
@ -27,6 +25,14 @@ ifndef TOP_DIR
|
||||||
TOP_DIR := .
|
TOP_DIR := .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# The variable OBJ_DIR gives the location where object files and the
|
||||||
|
# FreeType library are built.
|
||||||
|
#
|
||||||
|
ifndef OBJ_DIR
|
||||||
|
OBJ_DIR := $(TOP_DIR)/objs
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/toplevel.mk
|
include $(TOP_DIR)/builds/toplevel.mk
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -13,30 +13,12 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP_DIR
|
|
||||||
TOP_DIR := .
|
|
||||||
endif
|
|
||||||
|
|
||||||
DELETE := rm -f
|
DELETE := rm -f
|
||||||
SEP := /
|
SEP := /
|
||||||
BUILD_DIR := $(TOP_DIR)/builds/ansi
|
BUILD_DIR := $(TOP_DIR)/builds/ansi
|
||||||
PLATFORM := ansi
|
PLATFORM := ansi
|
||||||
|
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
|
||||||
#
|
|
||||||
# This lets you build the library in your own directory with something like
|
|
||||||
#
|
|
||||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
|
||||||
# set OBJ_DIR=.../path/to/obj/dir
|
|
||||||
# make -f $TOP_DIR/Makefile setup [options]
|
|
||||||
# make -f $TOP_DIR/Makefile
|
|
||||||
#
|
|
||||||
ifndef OBJ_DIR
|
|
||||||
OBJ_DIR := $(TOP_DIR)/objs
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# The directory where all library files are placed.
|
# The directory where all library files are placed.
|
||||||
#
|
#
|
||||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -15,30 +15,12 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP_DIR
|
|
||||||
TOP_DIR := .
|
|
||||||
endif
|
|
||||||
|
|
||||||
DELETE := rm -f
|
DELETE := rm -f
|
||||||
SEP := /
|
SEP := /
|
||||||
BUILD_DIR := $(TOP_DIR)/builds/beos
|
BUILD_DIR := $(TOP_DIR)/builds/beos
|
||||||
PLATFORM := beos
|
PLATFORM := beos
|
||||||
|
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
|
||||||
#
|
|
||||||
# This lets you build the library in your own directory with something like
|
|
||||||
#
|
|
||||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
|
||||||
# set OBJ_DIR=.../path/to/obj/dir
|
|
||||||
# make -f $TOP_DIR/Makefile setup [options]
|
|
||||||
# make -f $TOP_DIR/Makefile
|
|
||||||
#
|
|
||||||
ifndef OBJ_DIR
|
|
||||||
OBJ_DIR := $(TOP_DIR)/objs
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# The directory where all library files are placed.
|
# The directory where all library files are placed.
|
||||||
#
|
#
|
||||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003, 2005 by
|
# Copyright 1996-2000, 2003, 2005, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -23,20 +23,6 @@ PLATFORM := dos
|
||||||
#
|
#
|
||||||
E := .exe
|
E := .exe
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
|
||||||
#
|
|
||||||
# This lets you build the library in your own directory with something like
|
|
||||||
#
|
|
||||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
|
||||||
# set OBJ_DIR=.../path/to/obj/dir
|
|
||||||
# make -f %TOP_DIR%/Makefile setup [options]
|
|
||||||
# make -f %TOP_DIR%/Makefile
|
|
||||||
#
|
|
||||||
ifndef OBJ_DIR
|
|
||||||
OBJ_DIR := $(TOP_DIR)/objs
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# The directory where all library files are placed.
|
# The directory where all library files are placed.
|
||||||
#
|
#
|
||||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
# environment, or on the command line) are used:
|
# environment, or on the command line) are used:
|
||||||
#
|
#
|
||||||
# BUILD_DIR The architecture dependent directory,
|
# BUILD_DIR The architecture dependent directory,
|
||||||
# e.g. `$(TOP_DIR)/builds/unix'.
|
# e.g. `$(TOP_DIR)/builds/unix'. Added to INCLUDES also.
|
||||||
#
|
#
|
||||||
# OBJ_DIR The directory in which object files are created.
|
# OBJ_DIR The directory in which object files are created.
|
||||||
#
|
#
|
||||||
|
@ -30,7 +30,9 @@
|
||||||
# DOC_DIR The directory in which the API reference is created.
|
# DOC_DIR The directory in which the API reference is created.
|
||||||
#
|
#
|
||||||
# INCLUDES A list of directories to be included additionally.
|
# INCLUDES A list of directories to be included additionally.
|
||||||
# Usually empty.
|
#
|
||||||
|
# DEVEL_DIR Development directory which is added to the INCLUDES
|
||||||
|
# variable before the standard include directories.
|
||||||
#
|
#
|
||||||
# CFLAGS Compilation flags. This overrides the default settings
|
# CFLAGS Compilation flags. This overrides the default settings
|
||||||
# in the platform-specific configuration files.
|
# in the platform-specific configuration files.
|
||||||
|
@ -42,9 +44,9 @@
|
||||||
# file for `src/base/ftdebug.c'. [For a normal build, this
|
# file for `src/base/ftdebug.c'. [For a normal build, this
|
||||||
# file does nothing.]
|
# file does nothing.]
|
||||||
#
|
#
|
||||||
# FT_MODULE_LIST The file which contains the list of modules for the
|
# FTMODULE_H The file which contains the list of module classes for
|
||||||
# current build. Usually, this is automatically created by
|
# the current build. Usually, this is automatically
|
||||||
# `modules.mk'.
|
# created by `modules.mk'.
|
||||||
#
|
#
|
||||||
# BASE_OBJ_S
|
# BASE_OBJ_S
|
||||||
# BASE_OBJ_M A list of base objects (for single object and multiple
|
# BASE_OBJ_M A list of base objects (for single object and multiple
|
||||||
|
@ -115,15 +117,17 @@ PROJECT_LIBRARY := $(LIB_DIR)/$(LIBRARY).$A
|
||||||
# include paths
|
# include paths
|
||||||
#
|
#
|
||||||
# IMPORTANT NOTE: The architecture-dependent directory must ALWAYS be placed
|
# IMPORTANT NOTE: The architecture-dependent directory must ALWAYS be placed
|
||||||
# in front of the include list. Porters are then able to
|
# before the standard include list. Porters are then able to
|
||||||
# put their own version of some of the FreeType components
|
# put their own version of some of the FreeType components
|
||||||
# in the `freetype/builds/<system>' directory, as these
|
# in the `freetype/builds/<system>' directory, as these
|
||||||
# files will override the default sources.
|
# files will override the default sources.
|
||||||
#
|
#
|
||||||
INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) $(BUILD_DIR) \
|
INCLUDES := $(subst /,$(COMPILER_SEP),$(OBJ_DIR) \
|
||||||
|
$(DEVEL_DIR) \
|
||||||
|
$(BUILD_DIR) \
|
||||||
$(TOP_DIR)/include)
|
$(TOP_DIR)/include)
|
||||||
|
|
||||||
INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
INCLUDE_FLAGS := $(INCLUDES:%=$I%)
|
||||||
|
|
||||||
|
|
||||||
# C flags used for the compilation of an object file. This must include at
|
# C flags used for the compilation of an object file. This must include at
|
||||||
|
@ -137,19 +141,30 @@ INCLUDE_FLAGS = $(INCLUDES:%=$I%)
|
||||||
# FreeType. This is required to let our sources include the internal
|
# FreeType. This is required to let our sources include the internal
|
||||||
# headers (something forbidden by clients).
|
# headers (something forbidden by clients).
|
||||||
#
|
#
|
||||||
FT_CFLAGS = $(CPPFLAGS) $(INCLUDE_FLAGS) $(CFLAGS) $DFT2_BUILD_LIBRARY
|
# Finally, we define FT_CONFIG_MODULES_H so that the compiler uses the
|
||||||
|
# generated version of `ftmodule.h' in $(OBJ_DIR). If there is an
|
||||||
|
# `ftoption.h' files in $(OBJ_DIR), define FT_CONFIG_OPTIONS_H too.
|
||||||
|
#
|
||||||
|
ifneq ($(wildcard $(OBJ_DIR)/ftoption.h),)
|
||||||
|
FTOPTION_H := $(OBJ_DIR)/ftoption.h
|
||||||
|
FTOPTION_FLAG := $DFT_CONFIG_OPTIONS_H="<ftoption.h>"
|
||||||
|
endif
|
||||||
|
|
||||||
|
FT_CFLAGS = $(CPPFLAGS) \
|
||||||
|
$(INCLUDE_FLAGS) \
|
||||||
|
$(CFLAGS) \
|
||||||
|
$DFT2_BUILD_LIBRARY \
|
||||||
|
$DFT_CONFIG_MODULES_H="<ftmodule.h>" \
|
||||||
|
$(FTOPTION_FLAG)
|
||||||
FT_CC = $(CC) $(FT_CFLAGS)
|
FT_CC = $(CC) $(FT_CFLAGS)
|
||||||
FT_COMPILE = $(CC) $(ANSIFLAGS) $(FT_CFLAGS)
|
FT_COMPILE = $(CC) $(ANSIFLAGS) $(FT_CFLAGS)
|
||||||
|
|
||||||
|
|
||||||
# Include the `modules' rules file.
|
# Include the `exports' rules file.
|
||||||
#
|
|
||||||
include $(TOP_DIR)/builds/modules.mk
|
|
||||||
|
|
||||||
# Includes the 'exports' rules file.
|
|
||||||
#
|
#
|
||||||
include $(TOP_DIR)/builds/exports.mk
|
include $(TOP_DIR)/builds/exports.mk
|
||||||
|
|
||||||
|
|
||||||
# Initialize the list of objects.
|
# Initialize the list of objects.
|
||||||
#
|
#
|
||||||
OBJECTS_LIST :=
|
OBJECTS_LIST :=
|
||||||
|
@ -166,7 +181,9 @@ PUBLIC_H := $(wildcard $(PUBLIC_DIR)/*.h)
|
||||||
BASE_H := $(wildcard $(INTERNAL_DIR)/*.h) \
|
BASE_H := $(wildcard $(INTERNAL_DIR)/*.h) \
|
||||||
$(wildcard $(SERVICES_DIR)/*.h)
|
$(wildcard $(SERVICES_DIR)/*.h)
|
||||||
CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \
|
CONFIG_H := $(wildcard $(CONFIG_DIR)/*.h) \
|
||||||
$(wildcard $(BUILD_DIR)/freetype/config/*.h)
|
$(wildcard $(BUILD_DIR)/freetype/config/*.h) \
|
||||||
|
$(FTMODULE_H) \
|
||||||
|
$(FTOPTION_H)
|
||||||
CACHE_H := $(wildcard $(CACHE_DIR)/*.h)
|
CACHE_H := $(wildcard $(CACHE_DIR)/*.h)
|
||||||
DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h)
|
DEVEL_H := $(wildcard $(TOP_DIR)/devel/*.h)
|
||||||
|
|
||||||
|
@ -176,10 +193,10 @@ FREETYPE_H := $(PUBLIC_H) $(BASE_H) $(CONFIG_H) $(CACHE_H) $(DEVEL_H)
|
||||||
# ftsystem component
|
# ftsystem component
|
||||||
#
|
#
|
||||||
ifndef FTSYS_SRC
|
ifndef FTSYS_SRC
|
||||||
FTSYS_SRC = $(BASE_DIR)/ftsystem.c
|
FTSYS_SRC := $(BASE_DIR)/ftsystem.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
FTSYS_OBJ = $(OBJ_DIR)/ftsystem.$O
|
FTSYS_OBJ := $(OBJ_DIR)/ftsystem.$O
|
||||||
|
|
||||||
OBJECTS_LIST += $(FTSYS_OBJ)
|
OBJECTS_LIST += $(FTSYS_OBJ)
|
||||||
|
|
||||||
|
@ -190,10 +207,10 @@ $(FTSYS_OBJ): $(FTSYS_SRC) $(FREETYPE_H)
|
||||||
# ftdebug component
|
# ftdebug component
|
||||||
#
|
#
|
||||||
ifndef FTDEBUG_SRC
|
ifndef FTDEBUG_SRC
|
||||||
FTDEBUG_SRC = $(BASE_DIR)/ftdebug.c
|
FTDEBUG_SRC := $(BASE_DIR)/ftdebug.c
|
||||||
endif
|
endif
|
||||||
|
|
||||||
FTDEBUG_OBJ = $(OBJ_DIR)/ftdebug.$O
|
FTDEBUG_OBJ := $(OBJ_DIR)/ftdebug.$O
|
||||||
|
|
||||||
OBJECTS_LIST += $(FTDEBUG_OBJ)
|
OBJECTS_LIST += $(FTDEBUG_OBJ)
|
||||||
|
|
||||||
|
@ -203,7 +220,8 @@ $(FTDEBUG_OBJ): $(FTDEBUG_SRC) $(FREETYPE_H)
|
||||||
|
|
||||||
# Include all rule files from FreeType components.
|
# Include all rule files from FreeType components.
|
||||||
#
|
#
|
||||||
include $(wildcard $(SRC_DIR)/*/rules.mk)
|
include $(SRC_DIR)/base/rules.mk
|
||||||
|
include $(patsubst %,$(SRC_DIR)/%/rules.mk,$(MODULES))
|
||||||
|
|
||||||
|
|
||||||
# ftinit component
|
# ftinit component
|
||||||
|
@ -222,17 +240,14 @@ FTINIT_OBJ := $(OBJ_DIR)/ftinit.$O
|
||||||
|
|
||||||
OBJECTS_LIST += $(FTINIT_OBJ)
|
OBJECTS_LIST += $(FTINIT_OBJ)
|
||||||
|
|
||||||
$(FTINIT_OBJ): $(FTINIT_SRC) $(FREETYPE_H) $(FT_MODULE_LIST)
|
$(FTINIT_OBJ): $(FTINIT_SRC) $(FREETYPE_H)
|
||||||
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
|
$(FT_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
|
||||||
|
|
||||||
|
|
||||||
# All FreeType library objects
|
# All FreeType library objects.
|
||||||
#
|
#
|
||||||
# By default, we include the base layer extensions. These could be
|
OBJ_M := $(BASE_OBJ_M) $(BASE_EXT_OBJ) $(DRV_OBJS_M)
|
||||||
# omitted on builds which do not want them.
|
OBJ_S := $(BASE_OBJ_S) $(BASE_EXT_OBJ) $(DRV_OBJS_S)
|
||||||
#
|
|
||||||
OBJ_M = $(BASE_OBJ_M) $(BASE_EXT_OBJ) $(DRV_OBJS_M)
|
|
||||||
OBJ_S = $(BASE_OBJ_S) $(BASE_EXT_OBJ) $(DRV_OBJS_S)
|
|
||||||
|
|
||||||
|
|
||||||
# The target `multi' on the Make command line indicates that we want to
|
# The target `multi' on the Make command line indicates that we want to
|
||||||
|
@ -298,13 +313,18 @@ distclean_project_dos: clean_project_dos
|
||||||
-$(DELETE) $(subst /,\,$(PROJECT_LIBRARY) $(DISTCLEAN) $(NO_OUTPUT))
|
-$(DELETE) $(subst /,\,$(PROJECT_LIBRARY) $(DISTCLEAN) $(NO_OUTPUT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: remove_config_mk
|
.PHONY: remove_config_mk remove_ftmodule_h
|
||||||
|
|
||||||
# Remove configuration file (used for distclean).
|
# Remove configuration file (used for distclean).
|
||||||
#
|
#
|
||||||
remove_config_mk:
|
remove_config_mk:
|
||||||
-$(DELETE) $(subst /,$(SEP),$(CONFIG_MK) $(NO_OUTPUT))
|
-$(DELETE) $(subst /,$(SEP),$(CONFIG_MK) $(NO_OUTPUT))
|
||||||
|
|
||||||
|
# Remove module list (used for distclean).
|
||||||
|
#
|
||||||
|
remove_ftmodule_h:
|
||||||
|
-$(DELETE) $(subst /,$(SEP),$(FTMODULE_H) $(NO_OUTPUT))
|
||||||
|
|
||||||
|
|
||||||
.PHONY: clean distclean
|
.PHONY: clean distclean
|
||||||
|
|
||||||
|
@ -314,7 +334,7 @@ remove_config_mk:
|
||||||
# implementation.
|
# implementation.
|
||||||
#
|
#
|
||||||
clean: clean_project
|
clean: clean_project
|
||||||
distclean: distclean_project remove_config_mk
|
distclean: distclean_project remove_config_mk remove_ftmodule_h
|
||||||
-$(DELETE) $(subst /,$(SEP),$(DOC_DIR)/*.html $(NO_OUTPUT))
|
-$(DELETE) $(subst /,$(SEP),$(DOC_DIR)/*.html $(NO_OUTPUT))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -20,43 +20,45 @@
|
||||||
# This file is in charge of handling the generation of the modules list
|
# This file is in charge of handling the generation of the modules list
|
||||||
# file.
|
# file.
|
||||||
|
|
||||||
.PHONY: make_module_list clean_module_list
|
|
||||||
|
|
||||||
# MODULE_LIST, as its name suggests, indicates where the modules list
|
# Build the modules list.
|
||||||
# resides. For now, it is in `include/freetype/config/ftmodule.h'.
|
|
||||||
#
|
#
|
||||||
ifndef MODULE_LIST
|
$(FTMODULE_H): $(MODULES_CFG)
|
||||||
MODULE_LIST := $(TOP_DIR)/include/$(PROJECT)/config/ftmodule.h
|
$(FTMODULE_H_INIT)
|
||||||
endif
|
$(FTMODULE_H_CREATE)
|
||||||
|
$(FTMODULE_H_DONE)
|
||||||
# To build the modules list, we invoke the `make_module_list' target.
|
|
||||||
#
|
|
||||||
# This rule is commented out by default since FreeType comes already with
|
|
||||||
# an ftmodule.h file.
|
|
||||||
#
|
|
||||||
#$(MODULE_LIST): make_module_list
|
|
||||||
|
|
||||||
|
|
||||||
ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
|
ifneq ($(findstring $(PLATFORM),dos win32 win16 os2),)
|
||||||
OPEN_MODULE := @echo$(space)
|
OPEN_MODULE := @echo$(space)
|
||||||
CLOSE_MODULE := >> $(subst /,\,$(MODULE_LIST))
|
CLOSE_MODULE := >> $(subst /,\,$(FTMODULE_H))
|
||||||
REMOVE_MODULE := @-$(DELETE) $(subst /,\,$(MODULE_LIST))
|
REMOVE_MODULE := @-$(DELETE) $(subst /,\,$(FTMODULE_H))
|
||||||
else
|
else
|
||||||
OPEN_MODULE := @echo "
|
OPEN_MODULE := @echo "
|
||||||
CLOSE_MODULE := " >> $(MODULE_LIST)
|
CLOSE_MODULE := " >> $(FTMODULE_H)
|
||||||
REMOVE_MODULE := @-$(DELETE) $(MODULE_LIST)
|
REMOVE_MODULE := @-$(DELETE) $(FTMODULE_H)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
# Before the modules list file can be generated, we must remove the file in
|
define FTMODULE_H_INIT
|
||||||
# order to `clean' the list.
|
|
||||||
#
|
|
||||||
clean_module_list:
|
|
||||||
$(REMOVE_MODULE)
|
$(REMOVE_MODULE)
|
||||||
@-echo Regenerating modules list in $(MODULE_LIST)...
|
@-echo Generating modules list in $(FTMODULE_H)...
|
||||||
|
$(OPEN_MODULE)/* This is a generated file. */$(CLOSE_MODULE)
|
||||||
|
endef
|
||||||
|
|
||||||
make_module_list: clean_module_list
|
# It is no mistake that the final closing parenthesis is on the
|
||||||
|
# next line -- it produces proper newlines during the expansion
|
||||||
|
# of `foreach'.
|
||||||
|
#
|
||||||
|
define FTMODULE_H_CREATE
|
||||||
|
$(foreach COMMAND,$(FTMODULE_H_COMMANDS),$($(COMMAND))
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
|
||||||
|
define FTMODULE_H_DONE
|
||||||
|
$(OPEN_MODULE)/* EOF */$(CLOSE_MODULE)
|
||||||
@echo done.
|
@echo done.
|
||||||
|
endef
|
||||||
|
|
||||||
|
|
||||||
# $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver
|
# $(OPEN_DRIVER) & $(CLOSE_DRIVER) are used to specify a given font driver
|
||||||
# in the `module.mk' rules file.
|
# in the `module.mk' rules file.
|
||||||
|
@ -68,10 +70,10 @@ ECHO_DRIVER := @echo "* module:$(space)
|
||||||
ECHO_DRIVER_DESC := (
|
ECHO_DRIVER_DESC := (
|
||||||
ECHO_DRIVER_DONE := )"
|
ECHO_DRIVER_DONE := )"
|
||||||
|
|
||||||
# Each `module.mk' in the `src' sub-dirs is used to add one rule to the
|
# Each `module.mk' in the `src/*' subdirectories adds a variable with
|
||||||
# target `make_module_list'.
|
# commands to $(FTMODULE_H_COMMANDS). Note that we can't use SRC_DIR here.
|
||||||
#
|
#
|
||||||
include $(wildcard $(TOP_DIR)/src/*/module.mk)
|
-include $(patsubst %,$(TOP_DIR)/src/%/module.mk,$(MODULES))
|
||||||
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003, 2005 by
|
# Copyright 1996-2000, 2003, 2005, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -22,20 +22,6 @@ PLATFORM := os2
|
||||||
#
|
#
|
||||||
E := .exe
|
E := .exe
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
|
||||||
#
|
|
||||||
# This lets you build the library in your own directory with something like
|
|
||||||
#
|
|
||||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
|
||||||
# set OBJ_DIR=.../path/to/obj/dir
|
|
||||||
# make -f %TOP_DIR%/Makefile setup [options]
|
|
||||||
# make -f %TOP_DIR%/Makefile
|
|
||||||
#
|
|
||||||
ifndef OBJ_DIR
|
|
||||||
OBJ_DIR := $(TOP_DIR)/objs
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# The directory where all library files are placed.
|
# The directory where all library files are placed.
|
||||||
#
|
#
|
||||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -19,9 +19,12 @@ ifndef TOP_DIR
|
||||||
TOP_DIR := .
|
TOP_DIR := .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/os2/os2-def.mk
|
DEVEL_DIR := $(TOP_DIR)/devel
|
||||||
BUILD_DIR := $(TOP_DIR)/devel
|
|
||||||
|
|
||||||
|
# include OS/2-specific definitions
|
||||||
|
include $(TOP_DIR)/builds/os2/os2-def.mk
|
||||||
|
|
||||||
|
# include gcc-specific definitions
|
||||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||||
|
|
||||||
# include linking instructions
|
# include linking instructions
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2001, 2003 by
|
# Copyright 1996-2000, 2001, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -36,6 +36,7 @@
|
||||||
|
|
||||||
.PHONY: all setup distclean modules
|
.PHONY: all setup distclean modules
|
||||||
|
|
||||||
|
|
||||||
# The `space' variable is used to avoid trailing spaces in defining the
|
# The `space' variable is used to avoid trailing spaces in defining the
|
||||||
# `T' variable later.
|
# `T' variable later.
|
||||||
#
|
#
|
||||||
|
@ -43,6 +44,36 @@ empty :=
|
||||||
space := $(empty) $(empty)
|
space := $(empty) $(empty)
|
||||||
|
|
||||||
|
|
||||||
|
# The main configuration file, defining the `XXX_MODULES' variables. We
|
||||||
|
# prefer a `modules.cfg' file in OBJ_DIR over TOP_DIR.
|
||||||
|
#
|
||||||
|
ifndef MODULES_CFG
|
||||||
|
MODULES_CFG := $(TOP_DIR)/modules.cfg
|
||||||
|
ifneq ($(wildcard $(OBJ_DIR)/modules.cfg),)
|
||||||
|
MODULES_CFG := $(OBJ_DIR)/modules.cfg
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
# FTMODULE_H, as its name suggests, indicates where the FreeType module
|
||||||
|
# classes resides.
|
||||||
|
#
|
||||||
|
ifndef FTMODULE_H
|
||||||
|
FTMODULE_H := $(OBJ_DIR)/ftmodule.h
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
include $(MODULES_CFG)
|
||||||
|
|
||||||
|
|
||||||
|
# The list of modules we are using.
|
||||||
|
#
|
||||||
|
MODULES := $(FONT_MODULES) \
|
||||||
|
$(HINTING_MODULES) \
|
||||||
|
$(RASTER_MODULES) \
|
||||||
|
$(AUX_MODULES)
|
||||||
|
|
||||||
|
|
||||||
ifndef CONFIG_MK
|
ifndef CONFIG_MK
|
||||||
CONFIG_MK := config.mk
|
CONFIG_MK := config.mk
|
||||||
endif
|
endif
|
||||||
|
@ -71,33 +102,17 @@ endif
|
||||||
#
|
#
|
||||||
ifdef check_platform
|
ifdef check_platform
|
||||||
|
|
||||||
# This is the first rule `make' sees.
|
all modules: setup
|
||||||
#
|
|
||||||
all: setup
|
|
||||||
|
|
||||||
ifdef USE_MODULES
|
|
||||||
# If the module list $(MODULE_LIST) file is not present, generate it.
|
|
||||||
#
|
|
||||||
#modules: make_module_list setup
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/detect.mk
|
include $(TOP_DIR)/builds/detect.mk
|
||||||
|
|
||||||
ifdef USE_MODULES
|
|
||||||
include $(TOP_DIR)/builds/modules.mk
|
|
||||||
|
|
||||||
ifeq ($(wildcard $(MODULE_LIST)),)
|
|
||||||
setup: make_module_list
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# This rule makes sense for Unix only to remove files created by a run
|
# This rule makes sense for Unix only to remove files created by a run
|
||||||
# of the configure script which hasn't been successful (so that no
|
# of the configure script which hasn't been successful (so that no
|
||||||
# `config.mk' has been created). It uses the built-in $(RM) command of
|
# `config.mk' has been created). It uses the built-in $(RM) command of
|
||||||
# GNU make. Similarly, `nul' is created if e.g. `make setup win32' has
|
# GNU make. Similarly, `nul' is created if e.g. `make setup win32' has
|
||||||
# been erroneously used.
|
# been erroneously used.
|
||||||
#
|
#
|
||||||
# note: This test is duplicated in "builds/toplevel.mk".
|
# Note: This test is duplicated in `builds/unix/detect.mk'.
|
||||||
#
|
#
|
||||||
is_unix := $(strip $(wildcard /sbin/init) \
|
is_unix := $(strip $(wildcard /sbin/init) \
|
||||||
$(wildcard /usr/sbin/init) \
|
$(wildcard /usr/sbin/init) \
|
||||||
|
@ -126,14 +141,25 @@ else
|
||||||
#
|
#
|
||||||
all: single
|
all: single
|
||||||
|
|
||||||
ifdef USE_MODULES
|
|
||||||
modules: make_module_list
|
|
||||||
endif
|
|
||||||
|
|
||||||
BUILD_PROJECT := yes
|
BUILD_PROJECT := yes
|
||||||
include $(CONFIG_MK)
|
include $(CONFIG_MK)
|
||||||
|
|
||||||
endif # test check_platform
|
endif # test check_platform
|
||||||
|
|
||||||
|
|
||||||
|
# We always need the list of modules in ftmodule.h.
|
||||||
|
#
|
||||||
|
all setup: $(FTMODULE_H)
|
||||||
|
|
||||||
|
|
||||||
|
# The `modules' target unconditionally rebuilds the module list.
|
||||||
|
#
|
||||||
|
modules:
|
||||||
|
$(FTMODULE_H_INIT)
|
||||||
|
$(FTMODULE_H_CREATE)
|
||||||
|
$(FTMODULE_H_DONE)
|
||||||
|
|
||||||
|
include $(TOP_DIR)/builds/modules.mk
|
||||||
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2002, 2003, 2004 by
|
# Copyright 1996-2000, 2002, 2003, 2004, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -66,23 +66,23 @@ ifeq ($(PLATFORM),unix)
|
||||||
# platform).
|
# platform).
|
||||||
#
|
#
|
||||||
CONFIG_FILE := unix.mk
|
CONFIG_FILE := unix.mk
|
||||||
setup: $(BUILD_DIR)/unix-def.mk
|
|
||||||
unix: setup
|
unix: setup
|
||||||
|
must_configure := 1
|
||||||
.PHONY: unix
|
.PHONY: unix
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
setup: std_setup
|
have_Makefile := $(wildcard $(OBJ_DIR)/Makefile)
|
||||||
|
|
||||||
have_mk := $(strip $(wildcard $(OBJ_DIR)/Makefile))
|
setup: std_setup
|
||||||
ifneq ($(have_mk),)
|
ifdef must_configure
|
||||||
|
ifneq ($(have_Makefile),)
|
||||||
# we are building FT2 not in the src tree
|
# we are building FT2 not in the src tree
|
||||||
$(BUILD_DIR)/unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in
|
|
||||||
$(TOP_DIR)/builds/unix/configure $(CFG)
|
$(TOP_DIR)/builds/unix/configure $(CFG)
|
||||||
else
|
else
|
||||||
$(BUILD_DIR)/unix-def.mk: $(TOP_DIR)/builds/unix/unix-def.in
|
|
||||||
cd builds/unix; ./configure $(CFG)
|
cd builds/unix; ./configure $(CFG)
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
endif # test PLATFORM unix
|
endif # test PLATFORM unix
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2002, 2003 by
|
# Copyright 1996-2000, 2002, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -24,8 +24,8 @@
|
||||||
|
|
||||||
# Unix installation and deinstallation targets.
|
# Unix installation and deinstallation targets.
|
||||||
#
|
#
|
||||||
# note that we don't install internal headers since 2.2.0, and
|
# Note that we no longer install internal headers, and we remove any
|
||||||
# we remove any 'internal' directory found in $(includedir)/freetype2/freetype
|
# `internal' subdirectory found in `$(includedir)/freetype2/freetype'.
|
||||||
#
|
#
|
||||||
install: $(PROJECT_LIBRARY)
|
install: $(PROJECT_LIBRARY)
|
||||||
$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
|
$(MKINSTALLDIRS) $(DESTDIR)$(libdir) \
|
||||||
|
@ -54,6 +54,8 @@ install: $(PROJECT_LIBRARY)
|
||||||
$(DESTDIR)$(includedir)/ft2build.h
|
$(DESTDIR)$(includedir)/ft2build.h
|
||||||
$(INSTALL_DATA) $(OBJ_BUILD)/ftconfig.h \
|
$(INSTALL_DATA) $(OBJ_BUILD)/ftconfig.h \
|
||||||
$(DESTDIR)$(includedir)/freetype2/freetype/config/ftconfig.h
|
$(DESTDIR)$(includedir)/freetype2/freetype/config/ftconfig.h
|
||||||
|
$(INSTALL_DATA) $(OBJ_BUILD)/ftmodule.h \
|
||||||
|
$(DESTDIR)$(includedir)/freetype2/freetype/config/ftmodule.h
|
||||||
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
|
$(INSTALL_SCRIPT) -m 755 $(OBJ_BUILD)/freetype-config \
|
||||||
$(DESTDIR)$(bindir)/freetype-config
|
$(DESTDIR)$(bindir)/freetype-config
|
||||||
$(INSTALL_SCRIPT) -m 644 $(BUILD_DIR)/freetype2.m4 \
|
$(INSTALL_SCRIPT) -m 644 $(BUILD_DIR)/freetype2.m4 \
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2002, 2004 by
|
# Copyright 1996-2000, 2002, 2004, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -13,9 +13,6 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
ifndef TOP_DIR
|
|
||||||
TOP_DIR := .
|
|
||||||
endif
|
|
||||||
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
|
TOP_DIR := $(shell cd $(TOP_DIR); pwd)
|
||||||
|
|
||||||
DELETE := @RMF@
|
DELETE := @RMF@
|
||||||
|
@ -61,20 +58,6 @@ datadir := @datadir@
|
||||||
version_info := @version_info@
|
version_info := @version_info@
|
||||||
|
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
|
||||||
#
|
|
||||||
# This lets you build the library in your own directory with something like
|
|
||||||
#
|
|
||||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
|
||||||
# set OBJ_DIR=.../path/to/obj/dir
|
|
||||||
# make -f $TOP_DIR/Makefile setup [options]
|
|
||||||
# make -f $TOP_DIR/Makefile
|
|
||||||
#
|
|
||||||
ifndef OBJ_DIR
|
|
||||||
OBJ_DIR := $(shell cd $(TOP_DIR)/objs; pwd)
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# The directory where all library files are placed.
|
# The directory where all library files are placed.
|
||||||
#
|
#
|
||||||
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -16,9 +16,9 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/unix/unixddef.mk
|
DEVEL_DIR := $(TOP_DIR)/devel
|
||||||
BUILD_DIR := $(TOP_DIR)/devel
|
|
||||||
|
|
||||||
|
include $(TOP_DIR)/builds/unix/unixddef.mk
|
||||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||||
include $(TOP_DIR)/builds/link_std.mk
|
include $(TOP_DIR)/builds/link_std.mk
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2002, 2004 by
|
# Copyright 1996-2000, 2002, 2004, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -16,14 +16,14 @@
|
||||||
BUILD_DIR := $(TOP_DIR)/builds/unix
|
BUILD_DIR := $(TOP_DIR)/builds/unix
|
||||||
PLATFORM := unix
|
PLATFORM := unix
|
||||||
|
|
||||||
have_mk := $(strip $(wildcard $(BUILD_DIR)/unix-def.mk))
|
have_mk := $(wildcard $(OBJ_DIR)/unix-def.mk)
|
||||||
ifneq ($(have_mk),)
|
ifneq ($(have_mk),)
|
||||||
include $(BUILD_DIR)/unix-def.mk
|
# We are building FreeType 2 not in the src tree.
|
||||||
include $(BUILD_DIR)/unix-cc.mk
|
|
||||||
else
|
|
||||||
# we are building FT2 not in the src tree
|
|
||||||
include $(OBJ_DIR)/unix-def.mk
|
include $(OBJ_DIR)/unix-def.mk
|
||||||
include $(OBJ_DIR)/unix-cc.mk
|
include $(OBJ_DIR)/unix-cc.mk
|
||||||
|
else
|
||||||
|
include $(BUILD_DIR)/unix-def.mk
|
||||||
|
include $(BUILD_DIR)/unix-cc.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef BUILD_PROJECT
|
ifdef BUILD_PROJECT
|
||||||
|
@ -54,8 +54,9 @@ ifdef CLEAN_LIBRARY
|
||||||
endif
|
endif
|
||||||
$(LINK_LIBRARY)
|
$(LINK_LIBRARY)
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/unix/install.mk
|
include $(TOP_DIR)/builds/unix/install.mk
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -23,11 +23,7 @@ DELETE := rm -f
|
||||||
SEP := /
|
SEP := /
|
||||||
|
|
||||||
# we use a special devel ftoption.h
|
# we use a special devel ftoption.h
|
||||||
BUILD_DIR := $(TOP_DIR)/devel
|
DEVEL_DIR := $(TOP_DIR)/devel
|
||||||
|
|
||||||
# do not set the platform to `unix', or libtool will trick you
|
|
||||||
PLATFORM := unixdev
|
|
||||||
|
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
# The directory where all object files are placed.
|
||||||
#
|
#
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -13,8 +13,9 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
DEVEL_DIR := $(TOP_DIR)/devel
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||||
BUILD_DIR := $(TOP_DIR)/devel
|
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/compiler/bcc-dev.mk
|
include $(TOP_DIR)/builds/compiler/bcc-dev.mk
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003 by
|
# Copyright 1996-2000, 2003, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -23,8 +23,9 @@ ifndef TOP_DIR
|
||||||
TOP_DIR := .
|
TOP_DIR := .
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
DEVEL_DIR := $(TOP_DIR)/devel
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/win32/win32-def.mk
|
include $(TOP_DIR)/builds/win32/win32-def.mk
|
||||||
BUILD_DIR := $(TOP_DIR)/devel
|
|
||||||
|
|
||||||
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
include $(TOP_DIR)/builds/compiler/gcc-dev.mk
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2003, 2005 by
|
# Copyright 1996-2000, 2003, 2005, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -22,19 +22,6 @@ PLATFORM := win32
|
||||||
#
|
#
|
||||||
E := .exe
|
E := .exe
|
||||||
|
|
||||||
# The directory where all object files are placed.
|
|
||||||
#
|
|
||||||
# This lets you build the library in your own directory with something like
|
|
||||||
#
|
|
||||||
# set TOP_DIR=.../path/to/freetype2/top/dir...
|
|
||||||
# set OBJ_DIR=.../path/to/obj/dir
|
|
||||||
# make -f %TOP_DIR%/Makefile setup [options]
|
|
||||||
# make -f %TOP_DIR%/Makefile
|
|
||||||
#
|
|
||||||
ifndef OBJ_DIR
|
|
||||||
OBJ_DIR := $(TOP_DIR)/objs
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
# The directory where all library files are placed.
|
# The directory where all library files are placed.
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Copyright 2002, 2003, 2004, 2005 by
|
# Copyright 2002, 2003, 2004, 2005, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -30,7 +30,8 @@ if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Uh, oh. This is taken from autoconf. They know what they are doing...
|
# Get `dirname' functionality. This is taken and adapted from autoconf's
|
||||||
|
# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED).
|
||||||
|
|
||||||
if expr a : '\(a\)' >/dev/null 2>&1; then
|
if expr a : '\(a\)' >/dev/null 2>&1; then
|
||||||
ft_expr=expr
|
ft_expr=expr
|
||||||
|
@ -45,10 +46,22 @@ $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
X"$0" : 'X\(/\)' \| \
|
X"$0" : 'X\(/\)' \| \
|
||||||
. : '\(.\)' 2>/dev/null ||
|
. : '\(.\)' 2>/dev/null ||
|
||||||
echo X"$0" |
|
echo X"$0" |
|
||||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||||
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
|
s//\1/
|
||||||
/^X\(\/\/\)$/{ s//\1/; q; }
|
q
|
||||||
/^X\(\/\).*/{ s//\1/; q; }
|
}
|
||||||
|
/^X\(\/\/\)[^/].*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\/\)$/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
|
/^X\(\/\).*/{
|
||||||
|
s//\1/
|
||||||
|
q
|
||||||
|
}
|
||||||
s/.*/./; q'`
|
s/.*/./; q'`
|
||||||
|
|
||||||
abs_curr_dir=`pwd`
|
abs_curr_dir=`pwd`
|
||||||
|
@ -58,6 +71,9 @@ abs_ft2_dir=`cd "$ft2_dir" && pwd`
|
||||||
|
|
||||||
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
if test "$abs_curr_dir" != "$abs_ft2_dir"; then
|
||||||
mkdir reference
|
mkdir reference
|
||||||
|
echo "Copying \`modules.cfg'"
|
||||||
|
cp $abs_ft2_dir/modules.cfg $abs_curr_dir
|
||||||
|
echo "Generating \`Makefile'"
|
||||||
echo "TOP_DIR := $abs_ft2_dir" > Makefile
|
echo "TOP_DIR := $abs_ft2_dir" > Makefile
|
||||||
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
|
echo "OBJ_DIR := $abs_curr_dir" >> Makefile
|
||||||
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
|
echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile
|
||||||
|
|
|
@ -15,6 +15,14 @@ LATEST CHANGES BETWEEN 2.2.0 and 2.1.10
|
||||||
|
|
||||||
II. IMPORTANT CHANGES
|
II. IMPORTANT CHANGES
|
||||||
|
|
||||||
|
- FreeType's build mechanism has been redesigned. With GNU make
|
||||||
|
it is now sufficient in most cases to edit two files:
|
||||||
|
`modules.cfg', to select the library components, and the
|
||||||
|
configuration file `include/freetype/config/ftoption.h' (which
|
||||||
|
can be copied to the objects directory). Removing unused module
|
||||||
|
directories to prevent its compilation and editing
|
||||||
|
`include/freetype/config/ftmodule.h' is no longer necessary.
|
||||||
|
|
||||||
- The LIGHT hinting algorithm produces more pleasant results.
|
- The LIGHT hinting algorithm produces more pleasant results.
|
||||||
Also, using the FT_LOAD_TARGET_LIGHT flags within FT_Load_Glyph
|
Also, using the FT_LOAD_TARGET_LIGHT flags within FT_Load_Glyph
|
||||||
always forces auto-hinting, as a special exception.
|
always forces auto-hinting, as a special exception.
|
||||||
|
|
|
@ -2,52 +2,51 @@ How to customize the compilation of the library
|
||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
FreeType is highly customizable to fit various needs, and this
|
FreeType is highly customizable to fit various needs, and this
|
||||||
document describes how it is possible to select options and components
|
document describes how it is possible to select options and
|
||||||
at compilation time.
|
components at compilation time.
|
||||||
|
|
||||||
|
|
||||||
I. Configuration macros
|
I. Configuration macros
|
||||||
|
|
||||||
The file found in `include/freetype/config/ftoption.h' contains a list
|
The file found in `include/freetype/config/ftoption.h' contains a
|
||||||
of commented configuration macros that can be toggled by developers to
|
list of commented configuration macros that can be toggled by
|
||||||
indicate which features should be active while building the library.
|
developers to indicate which features should be active while
|
||||||
|
building the library.
|
||||||
|
|
||||||
These options range from debug level to availability of certain
|
These options range from debug level to availability of certain
|
||||||
features, like native TrueType hinting through a bytecode interpreter.
|
features, like native TrueType hinting through a bytecode
|
||||||
|
interpreter.
|
||||||
|
|
||||||
We invite you to read this file for more information. You can change
|
We invite you to read this file for more information. You can
|
||||||
the file's content to suit your needs, or override it with one of the
|
change the file's content to suit your needs, or override it with
|
||||||
techniques described below.
|
one of the techniques described below.
|
||||||
|
|
||||||
|
|
||||||
II. Modules list
|
II. Modules list
|
||||||
|
|
||||||
The file found in `include/freetype/config/ftmodule.h' contains a list
|
If you use GNU make please edit the top-level file `modules.cfg'.
|
||||||
of names corresponding to the modules and font drivers to be
|
It contains a list of available FreeType modules and extensions to
|
||||||
statically compiled in the FreeType library during the build.
|
be compiled. Change it to suit your own preferences. Be aware that
|
||||||
|
certain modules depend on others, as described in the file. GNU
|
||||||
|
make uses `modules.cfg' to generate `ftmodule.h' (in the object
|
||||||
|
directory).
|
||||||
|
|
||||||
You can change it to suit your own preferences. Be aware that certain
|
If you don't use GNU make you have to manually edit the file
|
||||||
modules depend on others, as described by the file `modules.txt' in
|
`include/freetype/config/ftmodule.h' (which is *not* used with if
|
||||||
this directory.
|
compiled with GNU make) to add or remove the drivers and components
|
||||||
|
you want to compile into the library. See `INSTALL.ANY' for more
|
||||||
You can modify the file's content to suit your needs, or override it
|
information.
|
||||||
at compile time with one of the methods described below.
|
|
||||||
|
|
||||||
Note that you also have to rename the various `*.mk' files in the
|
|
||||||
module directories which you want to exclude so that the extension
|
|
||||||
isn't `.mk' -- GNU make uses a simple globbing mechanism to include
|
|
||||||
all those files.
|
|
||||||
|
|
||||||
|
|
||||||
III. System interface
|
III. System interface
|
||||||
|
|
||||||
FreeType's default interface to the system (i.e., the parts that deal
|
FreeType's default interface to the system (i.e., the parts that
|
||||||
with memory management and i/o streams) is located in
|
deal with memory management and i/o streams) is located in
|
||||||
`src/base/ftsystem.c'.
|
`src/base/ftsystem.c'.
|
||||||
|
|
||||||
The current implementation uses standard C library calls to manage
|
The current implementation uses standard C library calls to manage
|
||||||
memory and to read font files. It is however possible to write custom
|
memory and to read font files. It is however possible to write
|
||||||
implementations to suit specific systems.
|
custom implementations to suit specific systems.
|
||||||
|
|
||||||
To tell the GNU Make-based build system to use a custom system
|
To tell the GNU Make-based build system to use a custom system
|
||||||
interface, you have to define the environment variable FTSYS_SRC to
|
interface, you have to define the environment variable FTSYS_SRC to
|
||||||
|
@ -70,14 +69,24 @@ III. System interface
|
||||||
IV. Overriding default configuration and module headers
|
IV. Overriding default configuration and module headers
|
||||||
|
|
||||||
It is possible to override the default configuration and module
|
It is possible to override the default configuration and module
|
||||||
headers without changing the original files. There are two ways to do
|
headers without changing the original files. There are three ways
|
||||||
that:
|
to do that:
|
||||||
|
|
||||||
|
|
||||||
1. Using the C include path
|
1. With GNU make
|
||||||
|
|
||||||
Use the C include path to ensure that your own versions of the files
|
[This is actually a combination of method 2 and 3.]
|
||||||
are used at compile time when the lines
|
|
||||||
|
Just put your custom `ftoption.h' file into the objects directory
|
||||||
|
(normally `<topdir>/objs'), which GNU make prefers over the
|
||||||
|
standard location. No action is needed for `ftmodule.h' because
|
||||||
|
it is generated automatically in the objects directory.
|
||||||
|
|
||||||
|
|
||||||
|
2. Using the C include path
|
||||||
|
|
||||||
|
Use the C include path to ensure that your own versions of the
|
||||||
|
files are used at compile time when the lines
|
||||||
|
|
||||||
#include FT_CONFIG_OPTIONS_H
|
#include FT_CONFIG_OPTIONS_H
|
||||||
#include FT_CONFIG_MODULES_H
|
#include FT_CONFIG_MODULES_H
|
||||||
|
@ -100,7 +109,7 @@ IV. Overriding default configuration and module headers
|
||||||
before the FreeType 2 `include'.
|
before the FreeType 2 `include'.
|
||||||
|
|
||||||
|
|
||||||
2. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
|
3. Redefining FT_CONFIG_OPTIONS_H and FT_CONFIG_MODULES_H
|
||||||
|
|
||||||
Another way to do the same thing is to redefine the macros used to
|
Another way to do the same thing is to redefine the macros used to
|
||||||
name the configuration headers. To do so, you need a custom
|
name the configuration headers. To do so, you need a custom
|
||||||
|
@ -126,16 +135,16 @@ IV. Overriding default configuration and module headers
|
||||||
and change the C include path to ensure that `custom' is always
|
and change the C include path to ensure that `custom' is always
|
||||||
placed before the FT2 `include' during compilation.
|
placed before the FT2 `include' during compilation.
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright 2003, 2005 by
|
Copyright 2003, 2005, 2006 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
modified, and distributed under the terms of the FreeType project
|
modified, and distributed under the terms of the FreeType project
|
||||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
file you indicate that you have read the license and understand and
|
this file you indicate that you have read the license and understand
|
||||||
accept it fully.
|
and accept it fully.
|
||||||
|
|
||||||
|
|
||||||
--- end of CUSTOMIZE ---
|
--- end of CUSTOMIZE ---
|
||||||
|
|
38
docs/INSTALL
38
docs/INSTALL
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
There are several ways to build the FreeType library, depending on your
|
There are several ways to build the FreeType library, depending on
|
||||||
system and the level of customization you need. Here is a short
|
your system and the level of customization you need. Here is a short
|
||||||
overview of the documentation available:
|
overview of the documentation available:
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,8 +16,9 @@ I. Normal installation and upgrades
|
||||||
2. Unix Systems (as well as Cygwin or MSys on Windows)
|
2. Unix Systems (as well as Cygwin or MSys on Windows)
|
||||||
|
|
||||||
Please read *both* `UPGRADE.UNX' and `INSTALL.UNX' to install or
|
Please read *both* `UPGRADE.UNX' and `INSTALL.UNX' to install or
|
||||||
upgrade FreeType 2 on a Unix system. Note that you *need* GNU Make,
|
upgrade FreeType 2 on a Unix system. Note that you *need* GNU
|
||||||
since other make tools won't work (this includes BSD Make).
|
Make for automatic compilation, since other make tools won't work
|
||||||
|
(this includes BSD Make).
|
||||||
|
|
||||||
|
|
||||||
3. On VMS with the `mms' build tool
|
3. On VMS with the `mms' build tool
|
||||||
|
@ -27,10 +28,10 @@ I. Normal installation and upgrades
|
||||||
|
|
||||||
4. Other systems using GNU Make
|
4. Other systems using GNU Make
|
||||||
|
|
||||||
On non-Unix platforms, it is possible to build the library using GNU
|
On non-Unix platforms, it is possible to build the library using
|
||||||
Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]! This
|
GNU Make utility. Note that *NO OTHER MAKE TOOL WILL WORK*[2]!
|
||||||
methods supports several compilers on Windows, OS/2, and BeOS,
|
This methods supports several compilers on Windows, OS/2, and
|
||||||
including MinGW, Visual C++, Borland C++, and more.
|
BeOS, including MinGW, Visual C++, Borland C++, and more.
|
||||||
|
|
||||||
Instructions are provided in the file `INSTALL.GNU'.
|
Instructions are provided in the file `INSTALL.GNU'.
|
||||||
|
|
||||||
|
@ -38,8 +39,8 @@ I. Normal installation and upgrades
|
||||||
5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
5. With an IDE Project File (e.g., for Visual Studio or CodeWarrior)
|
||||||
|
|
||||||
We provide a small number of `project files' for various IDEs to
|
We provide a small number of `project files' for various IDEs to
|
||||||
automatically build the library as well. Note that these files are
|
automatically build the library as well. Note that these files
|
||||||
not supported and only sporadically maintained by FreeType
|
are not supported and only sporadically maintained by FreeType
|
||||||
developers, so don't expect them to work in each release.
|
developers, so don't expect them to work in each release.
|
||||||
|
|
||||||
To find them, have a look at the content of the `builds/<system>'
|
To find them, have a look at the content of the `builds/<system>'
|
||||||
|
@ -48,8 +49,9 @@ I. Normal installation and upgrades
|
||||||
|
|
||||||
6. From you own IDE, or own Makefiles
|
6. From you own IDE, or own Makefiles
|
||||||
|
|
||||||
If you want to create your own project file, follow the instructions
|
If you want to create your own project file, follow the
|
||||||
given in the `INSTALL.ANY' document of this directory.
|
instructions given in the `INSTALL.ANY' document of this
|
||||||
|
directory.
|
||||||
|
|
||||||
|
|
||||||
II. Custom builds of the library
|
II. Custom builds of the library
|
||||||
|
@ -60,7 +62,7 @@ II. Custom builds of the library
|
||||||
For more details read the file `CUSTOMIZE'.
|
For more details read the file `CUSTOMIZE'.
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
[1] More details on: http://www.freetype.org/patents.html
|
[1] More details on: http://www.freetype.org/patents.html
|
||||||
|
|
||||||
|
@ -72,16 +74,16 @@ II. Custom builds of the library
|
||||||
for more information; you need version 1.19 or newer, and you must
|
for more information; you need version 1.19 or newer, and you must
|
||||||
pass option `--norc-substitution'.
|
pass option `--norc-substitution'.
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright 2000, 2001, 2002, 2003, 2004, 2005 by
|
Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
modified, and distributed under the terms of the FreeType project
|
modified, and distributed under the terms of the FreeType project
|
||||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
file you indicate that you have read the license and understand and
|
this file you indicate that you have read the license and understand
|
||||||
accept it fully.
|
and accept it fully.
|
||||||
|
|
||||||
|
|
||||||
--- end of INSTALL ---
|
--- end of INSTALL ---
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
Instructions on how to build FreeType with your own build tool
|
Instructions on how to build FreeType with your own build tool
|
||||||
==============================================================
|
==============================================================
|
||||||
|
|
||||||
See the file `CUSTOMIZE' to learn how to customize FreeType to specific
|
See the file `CUSTOMIZE' to learn how to customize FreeType to
|
||||||
environments.
|
specific environments.
|
||||||
|
|
||||||
|
|
||||||
I. Standard procedure
|
I. Standard procedure
|
||||||
|
@ -13,17 +13,17 @@ I. Standard procedure
|
||||||
|
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
|
|
||||||
which are not correctly supported by this compiler while being ISO C
|
which are not correctly supported by this compiler while being ISO
|
||||||
compliant!
|
C compliant!
|
||||||
|
|
||||||
* You need to add the directories `freetype2/include' to your include
|
* You need to add the directories `freetype2/include' to your
|
||||||
path when compiling the library.
|
include path when compiling the library.
|
||||||
|
|
||||||
* FreeType 2 is made of several components; each of them is located in
|
* FreeType 2 is made of several components; each of them is located
|
||||||
a subdirectory of `freetype2/src'. For example,
|
in a subdirectory of `freetype2/src'. For example,
|
||||||
`freetype2/src/truetype/' contains the TrueType font driver.
|
`freetype2/src/truetype/' contains the TrueType font driver.
|
||||||
|
|
||||||
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones:
|
* DO NOT COMPILE ALL C FILES! Rather, compile the following ones.
|
||||||
|
|
||||||
-- base components (required)
|
-- base components (required)
|
||||||
|
|
||||||
|
@ -63,7 +63,8 @@ I. Standard procedure
|
||||||
src/type42/type42.c -- Type 42 font driver
|
src/type42/type42.c -- Type 42 font driver
|
||||||
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
|
src/winfonts/winfnt.c -- Windows FONT / FNT font driver
|
||||||
|
|
||||||
-- rasterizers (optional; at least one is needed for vector formats)
|
-- rasterizers (optional; at least one is needed for
|
||||||
|
vector formats)
|
||||||
|
|
||||||
src/raster/raster.c -- monochrome rasterizer
|
src/raster/raster.c -- monochrome rasterizer
|
||||||
src/smooth/smooth.c -- anti-aliasing rasterizer
|
src/smooth/smooth.c -- anti-aliasing rasterizer
|
||||||
|
@ -90,8 +91,10 @@ I. Standard procedure
|
||||||
`type42.c' needs `truetype.c'
|
`type42.c' needs `truetype.c'
|
||||||
|
|
||||||
|
|
||||||
Read the file `CUSTOMIZE' in case you want to compile only a subset of
|
Read the file `CUSTOMIZE' in case you want to compile only a subset
|
||||||
the drivers, renderers, and optional modules.
|
of the drivers, renderers, and optional modules; a detailed
|
||||||
|
description of the various base extension is given in the top-level
|
||||||
|
file `modules.cfg'.
|
||||||
|
|
||||||
You are done. In case of problems, see the archives of the FreeType
|
You are done. In case of problems, see the archives of the FreeType
|
||||||
development mailing list.
|
development mailing list.
|
||||||
|
@ -118,19 +121,19 @@ II. Support for flat-directory compilation
|
||||||
cc -c -Ifreetype2/include ftbase.c
|
cc -c -Ifreetype2/include ftbase.c
|
||||||
etc.
|
etc.
|
||||||
|
|
||||||
You don't need to define the FT_FLAT_COMPILATION macro (as this was
|
You don't need to define the FT_FLAT_COMPILATION macro (as this
|
||||||
required in previous releases of FreeType 2).
|
was required in previous releases of FreeType 2).
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright 2003, 2005, 2006 by
|
Copyright 2003, 2005, 2006 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
modified, and distributed under the terms of the FreeType project
|
modified, and distributed under the terms of the FreeType project
|
||||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
file you indicate that you have read the license and understand and
|
this file you indicate that you have read the license and understand
|
||||||
accept it fully.
|
and accept it fully.
|
||||||
|
|
||||||
|
|
||||||
--- end of INSTALL.ANY ---
|
--- end of INSTALL.ANY ---
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
This document contains instructions how to build the FreeType library on
|
This document contains instructions how to build the FreeType library
|
||||||
non-Unix systems with the help of GNU Make. Note that if you are
|
on non-Unix systems with the help of GNU Make. Note that if you are
|
||||||
running Cygwin or MSys in Windows, you should follow the instructions in
|
running Cygwin or MSys in Windows, you should follow the instructions
|
||||||
the file INSTALL.UNX instead.
|
in the file INSTALL.UNX instead.
|
||||||
|
|
||||||
|
|
||||||
FreeType 2 includes a powerful and flexible build system that allows
|
FreeType 2 includes a powerful and flexible build system that allows
|
||||||
you to easily compile it on a great variety of platforms from the
|
you to easily compile it on a great variety of platforms from the
|
||||||
command line. To do so, just follow these simple instructions:
|
command line. To do so, just follow these simple instructions.
|
||||||
|
|
||||||
1. Install GNU Make
|
1. Install GNU Make
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
Because GNU Make is the only Make tool supported to compile FreeType
|
Because GNU Make is the only Make tool supported to compile
|
||||||
2, you should install it on your machine.
|
FreeType 2, you should install it on your machine.
|
||||||
|
|
||||||
The FreeType 2 build system relies on many features special to GNU
|
The FreeType 2 build system relies on many features special to GNU
|
||||||
Make.
|
Make.
|
||||||
|
@ -41,10 +41,10 @@ the file INSTALL.UNX instead.
|
||||||
2. Invoke `make'
|
2. Invoke `make'
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
Go to the root directory of FreeType 2, then simply invoke GNU Make
|
Go to the root directory of FreeType 2, then simply invoke GNU
|
||||||
from the command line. This will launch the FreeType 2 host
|
Make from the command line. This will launch the FreeType 2 host
|
||||||
platform detection routines. A summary will be displayed, for
|
platform detection routines. A summary will be displayed, for
|
||||||
example, on Win32:
|
example, on Win32.
|
||||||
|
|
||||||
|
|
||||||
==============================================================
|
==============================================================
|
||||||
|
@ -54,8 +54,8 @@ the file INSTALL.UNX instead.
|
||||||
|
|
||||||
platform win32
|
platform win32
|
||||||
compiler gcc
|
compiler gcc
|
||||||
configuration directory ./builds/win32
|
configuration directory .\builds\win32
|
||||||
configuration rules ./builds/win32/w32-gcc.mk
|
configuration rules .\builds\win32\w32-gcc.mk
|
||||||
|
|
||||||
If this does not correspond to your system or settings please
|
If this does not correspond to your system or settings please
|
||||||
remove the file 'config.mk' from this directory then read the
|
remove the file 'config.mk' from this directory then read the
|
||||||
|
@ -84,13 +84,13 @@ the file INSTALL.UNX instead.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
to use Visual C++ on Win32, type: "make setup visualc"
|
to use Visual C++ on Win32, type: `make setup visualc'
|
||||||
to use Borland C++ on Win32, type "make setup bcc32"
|
to use Borland C++ on Win32, type `make setup bcc32'
|
||||||
to use Watcom C++ on Win32, type "make setup watcom"
|
to use Watcom C++ on Win32, type `make setup watcom'
|
||||||
to use Intel C++ on Win32, type "make setup intelc"
|
to use Intel C++ on Win32, type `make setup intelc'
|
||||||
to use LCC-Win32 on Win32, type: "make setup lcc"
|
to use LCC-Win32 on Win32, type: `make setup lcc'
|
||||||
to use Watcom C++ on OS/2, type "make setup watcom"
|
to use Watcom C++ on OS/2, type `make setup watcom'
|
||||||
to use VisualAge C++ on OS/2, type "make setup visualage"
|
to use VisualAge C++ on OS/2, type `make setup visualage'
|
||||||
|
|
||||||
The <compiler> name to use is platform-dependent. The list of
|
The <compiler> name to use is platform-dependent. The list of
|
||||||
available compilers for your system is available in the file
|
available compilers for your system is available in the file
|
||||||
|
@ -103,8 +103,8 @@ the file INSTALL.UNX instead.
|
||||||
4. Configure the build system for an unknown platform/compiler
|
4. Configure the build system for an unknown platform/compiler
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
The auto-detection/setup phase of the build system copies a file to
|
The auto-detection/setup phase of the build system copies a file
|
||||||
the current directory under the name `config.mk'.
|
to the current directory under the name `config.mk'.
|
||||||
|
|
||||||
For example, on OS/2+gcc, it would simply copy
|
For example, on OS/2+gcc, it would simply copy
|
||||||
`builds/os2/os2-gcc.mk' to `./config.mk'.
|
`builds/os2/os2-gcc.mk' to `./config.mk'.
|
||||||
|
@ -113,11 +113,11 @@ the file INSTALL.UNX instead.
|
||||||
manually the configuration sub-makefile to `./config.mk' and go to
|
manually the configuration sub-makefile to `./config.mk' and go to
|
||||||
step 5.
|
step 5.
|
||||||
|
|
||||||
Note that this file is a sub-Makefile used to specify Make variables
|
Note that this file is a sub-Makefile used to specify Make
|
||||||
for compiler and linker invocation during the build. You can easily
|
variables for compiler and linker invocation during the build.
|
||||||
create your own version from one of the existing configuration
|
You can easily create your own version from one of the existing
|
||||||
files, then copy it to the current directory under the name
|
configuration files, then copy it to the current directory under
|
||||||
`./config.mk'.
|
the name `./config.mk'.
|
||||||
|
|
||||||
|
|
||||||
5. Build the library
|
5. Build the library
|
||||||
|
@ -126,30 +126,34 @@ the file INSTALL.UNX instead.
|
||||||
The auto-detection/setup phase should have copied a file in the
|
The auto-detection/setup phase should have copied a file in the
|
||||||
current directory, called `./config.mk'. This file contains
|
current directory, called `./config.mk'. This file contains
|
||||||
definitions of various Make variables used to invoke the compiler
|
definitions of various Make variables used to invoke the compiler
|
||||||
and linker during the build.
|
and linker during the build. [It has also generated a file called
|
||||||
|
`ftmodule.h' in the objects directory (which is normally
|
||||||
|
`<toplevel>/objs/'); please read the file `docs/CUSTOMIZE' for
|
||||||
|
customization of FreeType.]
|
||||||
|
|
||||||
To launch the build, simply invoke GNU Make again: The top Makefile
|
To launch the build, simply invoke GNU Make again: The top
|
||||||
will detect the configuration file and run the build with it.
|
Makefile will detect the configuration file and run the build with
|
||||||
|
it.
|
||||||
|
|
||||||
|
|
||||||
Final note
|
Final note
|
||||||
|
|
||||||
The build system builds a statically linked library of the font
|
The build system builds a statically linked library of the font
|
||||||
engine in the `objs' directory. It does _not_ support the build of
|
engine in the `objs' directory. It does _not_ support the build
|
||||||
DLLs on Windows and OS/2. If you need these, you have to either use
|
of DLLs on Windows and OS/2. If you need these, you have to
|
||||||
an IDE-specific project file, or follow the instructions in
|
either use an IDE-specific project file, or follow the
|
||||||
`INSTALL.ANY' to create your own Makefiles.
|
instructions in `INSTALL.ANY' to create your own Makefiles.
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright 2003, 2004, 2005 by
|
Copyright 2003, 2004, 2005, 2006 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
modified, and distributed under the terms of the FreeType project
|
modified, and distributed under the terms of the FreeType project
|
||||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
file you indicate that you have read the license and understand and
|
this file you indicate that you have read the license and understand
|
||||||
accept it fully.
|
and accept it fully.
|
||||||
|
|
||||||
|
|
||||||
--- end of INSTALL.GNU ---
|
--- end of INSTALL.GNU ---
|
||||||
|
|
|
@ -1,32 +1,32 @@
|
||||||
This document contains instructions on how to build the FreeType library
|
This document contains instructions on how to build the FreeType
|
||||||
on Unix systems. This also works for emulations like Cygwin or MSys on
|
library on Unix systems. This also works for emulations like Cygwin
|
||||||
Win32:
|
or MSys on Win32:
|
||||||
|
|
||||||
|
|
||||||
1. Ensure that you are using GNU Make
|
1. Ensure that you are using GNU Make
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
The FreeType build system _exclusively_ works with GNU Make. You
|
The FreeType build system _exclusively_ works with GNU Make. You
|
||||||
will not be able to compile the library with the instructions below
|
will not be able to compile the library with the instructions
|
||||||
using any other alternative (including BSD Make).
|
below using any other alternative (including BSD Make).
|
||||||
|
|
||||||
[Well, this is not really correct. Recently, a perl implementation
|
[Well, this is not really correct. A few years ago a perl
|
||||||
of make called `makepp' has appeared which can also build FreeType 2
|
implementation of make called `makepp' has appeared which can also
|
||||||
successfully on Unix platforms. See
|
build FreeType 2 successfully on Unix platforms. See
|
||||||
|
|
||||||
http://makepp.sourceforge.net
|
http://makepp.sourceforge.net
|
||||||
|
|
||||||
for more details; you need version 1.19 or newer, and you must pass
|
for more details; you need version 1.19 or newer, and you must
|
||||||
option `--norc-substitution'.]
|
pass option `--norc-substitution'.]
|
||||||
|
|
||||||
Trying to compile the library with a different Make tool will print
|
Trying to compile the library with a different Make tool will
|
||||||
a message like:
|
print a message like:
|
||||||
|
|
||||||
Sorry, GNU make is required to build FreeType2.
|
Sorry, GNU make is required to build FreeType2.
|
||||||
|
|
||||||
and the build process will be aborted. If this happens, install GNU
|
and the build process will be aborted. If this happens, install
|
||||||
Make on your system, and use the GNUMAKE environment variable to
|
GNU Make on your system, and use the GNUMAKE environment variable
|
||||||
name it.
|
to name it, if necessary.
|
||||||
|
|
||||||
|
|
||||||
2. Build and install the library
|
2. Build and install the library
|
||||||
|
@ -52,8 +52,8 @@ Win32:
|
||||||
gmake
|
gmake
|
||||||
gmake install (as root)
|
gmake install (as root)
|
||||||
|
|
||||||
If this still doesn't work, there must be a problem with your system
|
If this still doesn't work, there must be a problem with your
|
||||||
(e.g., you are using a very old version of GNU Make).
|
system (e.g., you are using a very old version of GNU Make).
|
||||||
|
|
||||||
It is possible to compile FreeType in a different directory.
|
It is possible to compile FreeType in a different directory.
|
||||||
Assuming the FreeType source files in directory `/src/freetype' a
|
Assuming the FreeType source files in directory `/src/freetype' a
|
||||||
|
@ -64,16 +64,16 @@ Win32:
|
||||||
make
|
make
|
||||||
make install
|
make install
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
Copyright 2003, 2004, 2005 by
|
Copyright 2003, 2004, 2005, 2006 by
|
||||||
David Turner, Robert Wilhelm, and Werner Lemberg.
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
This file is part of the FreeType project, and may only be used,
|
This file is part of the FreeType project, and may only be used,
|
||||||
modified, and distributed under the terms of the FreeType project
|
modified, and distributed under the terms of the FreeType project
|
||||||
license, LICENSE.TXT. By continuing to use, modify, or distribute this
|
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
file you indicate that you have read the license and understand and
|
this file you indicate that you have read the license and understand
|
||||||
accept it fully.
|
and accept it fully.
|
||||||
|
|
||||||
|
|
||||||
--- end of INSTALL.UNX ---
|
--- end of INSTALL.UNX ---
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
This file shows the interdependencies of various FreeType modules.
|
|
||||||
|
|
||||||
Note that the use of `psnames' can be controlled in ftconfig.h
|
|
||||||
(FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
|
|
||||||
|
|
||||||
module dependency
|
|
||||||
---------------------------------------
|
|
||||||
cff sfnt, pshinter, psnames
|
|
||||||
cid psaux, pshinter, psnames
|
|
||||||
truetype sfnt
|
|
||||||
type1 psaux, pshinter, psnames
|
|
||||||
type42 truetype
|
|
||||||
psaux psnames
|
|
||||||
sfnt psnames
|
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Copyright 2001, 2002 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 modules.txt ---
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
/*
|
||||||
|
* This file registers the FreeType modules compiled into the library.
|
||||||
|
*
|
||||||
|
* If you use GNU make, this file IS NOT USED! Instead, it is created in
|
||||||
|
* the objects directory (normally `<topdir>/objs/') based on information
|
||||||
|
* from `<topdir>/modules.cfg'.
|
||||||
|
*
|
||||||
|
* Please read `docs/INSTALL.ANY' and `docs/CUSTOMIZE' how to compile
|
||||||
|
* FreeType without GNU make.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
FT_USE_MODULE(autofit_module_class)
|
FT_USE_MODULE(autofit_module_class)
|
||||||
FT_USE_MODULE(tt_driver_class)
|
FT_USE_MODULE(tt_driver_class)
|
||||||
FT_USE_MODULE(t1_driver_class)
|
FT_USE_MODULE(t1_driver_class)
|
||||||
|
@ -16,3 +28,5 @@ FT_USE_MODULE(ft_smooth_renderer_class)
|
||||||
FT_USE_MODULE(ft_smooth_lcd_renderer_class)
|
FT_USE_MODULE(ft_smooth_lcd_renderer_class)
|
||||||
FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
|
FT_USE_MODULE(ft_smooth_lcdv_renderer_class)
|
||||||
FT_USE_MODULE(bdf_driver_class)
|
FT_USE_MODULE(bdf_driver_class)
|
||||||
|
|
||||||
|
/* EOF */
|
||||||
|
|
|
@ -108,7 +108,6 @@ FT_BEGIN_HEADER
|
||||||
FT_BASE( FT_Pointer )
|
FT_BASE( FT_Pointer )
|
||||||
FT_QAlloc_Debug( FT_Memory memory,
|
FT_QAlloc_Debug( FT_Memory memory,
|
||||||
FT_Long size,
|
FT_Long size,
|
||||||
void* P,
|
|
||||||
FT_Error *p_error,
|
FT_Error *p_error,
|
||||||
const char* file_name,
|
const char* file_name,
|
||||||
FT_Long line_no );
|
FT_Long line_no );
|
||||||
|
@ -133,7 +132,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
FT_BASE( void )
|
FT_BASE( void )
|
||||||
FT_Free_Debug( FT_Memory memory,
|
FT_Free_Debug( FT_Memory memory,
|
||||||
FT_Pointer block,
|
const void *P,
|
||||||
const char* file_name,
|
const char* file_name,
|
||||||
FT_Long line_no );
|
FT_Long line_no );
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,227 @@
|
||||||
|
# modules.cfg
|
||||||
|
#
|
||||||
|
# Copyright 2005 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.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# In case you compile the FreeType library with GNU make or makepp, this
|
||||||
|
# file controls which components are built into the library. Otherwise,
|
||||||
|
# please read this file for information on the various modules and its
|
||||||
|
# dependencies, then follow the instructions in the file `docs/INSTALL.ANY'.
|
||||||
|
#
|
||||||
|
# To deactivate a module, simply comment out the corresponding line. To
|
||||||
|
# activate a module, remove the comment character.
|
||||||
|
#
|
||||||
|
# Note that many modules and components are further controlled with macros
|
||||||
|
# in the file `include/freetype/config/ftoption.h'.
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
#### font modules -- at least one is required
|
||||||
|
####
|
||||||
|
#### The order given here (from top to down) is the order used for testing
|
||||||
|
#### font formats in the compiled library.
|
||||||
|
####
|
||||||
|
|
||||||
|
# TrueType font driver.
|
||||||
|
#
|
||||||
|
# This driver needs the `sfnt' module.
|
||||||
|
FONT_MODULES += truetype
|
||||||
|
|
||||||
|
# PostScript Type 1 font driver.
|
||||||
|
#
|
||||||
|
# This driver needs the `psaux', `pshinter', and `psnames' modules.
|
||||||
|
FONT_MODULES += type1
|
||||||
|
|
||||||
|
# CFF/OpenType font driver.
|
||||||
|
#
|
||||||
|
# This driver needs the `sfnt', `pshinter', and `psnames' modules.
|
||||||
|
FONT_MODULES += cff
|
||||||
|
|
||||||
|
# Type 1 CID-keyed font driver.
|
||||||
|
#
|
||||||
|
# This driver needs the `psaux', `pshinter', and `psnames' modules.
|
||||||
|
FONT_MODULES += cid
|
||||||
|
|
||||||
|
# PFR/TrueDoc font driver. See optional extension ftpfr.c below also.
|
||||||
|
FONT_MODULES += pfr
|
||||||
|
|
||||||
|
# PostScript Type 42 font driver.
|
||||||
|
#
|
||||||
|
# This driver needs the `truetype' module.
|
||||||
|
FONT_MODULES += type42
|
||||||
|
|
||||||
|
# Windows FONT/FNT font driver. See optional extension ftwinfnt.c below
|
||||||
|
# also.
|
||||||
|
FONT_MODULES += winfonts
|
||||||
|
|
||||||
|
# PCF font driver.
|
||||||
|
FONT_MODULES += pcf
|
||||||
|
|
||||||
|
# BDF font driver. See optional extension ftbdf.c below also.
|
||||||
|
FONT_MODULES += bdf
|
||||||
|
|
||||||
|
# SFNT files support. If used without `truetype' or `cff', it supports
|
||||||
|
# bitmap-only fonts within an SFNT wrapper.
|
||||||
|
#
|
||||||
|
# This driver needs the `psnames' module.
|
||||||
|
FONT_MODULES += sfnt
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
#### hinting modules
|
||||||
|
####
|
||||||
|
|
||||||
|
# FreeType's auto hinter.
|
||||||
|
HINTING_MODULES += autofit
|
||||||
|
|
||||||
|
# PostScript hinter.
|
||||||
|
HINTING_MODULES += pshinter
|
||||||
|
|
||||||
|
# The TrueType hinting engine doesn't have a module of its own but is
|
||||||
|
# controlled in file include/freetype/config/ftoption.h
|
||||||
|
# (TT_CONFIG_OPTION_BYTECODE_INTERPRETER and friends).
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
#### raster modules -- at least one is required for vector font formats
|
||||||
|
####
|
||||||
|
|
||||||
|
# Monochrome rasterizer.
|
||||||
|
RASTER_MODULES += raster
|
||||||
|
|
||||||
|
# Anti-aliasing rasterizer.
|
||||||
|
RASTER_MODULES += smooth
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
#### auxiliary modules
|
||||||
|
####
|
||||||
|
|
||||||
|
# FreeType's cache sub-system (quite stable but still in beta -- this means
|
||||||
|
# that its public API is subject to change if necessary). See
|
||||||
|
# include/freetype/ftcache.h.
|
||||||
|
AUX_MODULES += cache
|
||||||
|
|
||||||
|
# TrueType GX/AAT table validation. Needs ftgxval.c below.
|
||||||
|
# AUX_MODULES += gxvalid
|
||||||
|
|
||||||
|
# Support for streams compressed with gzip (files with suffix .gz).
|
||||||
|
#
|
||||||
|
# See include/freetype/ftgzip.h for the API.
|
||||||
|
AUX_MODULES += gzip
|
||||||
|
|
||||||
|
# Support for streams compressed with LZW (files with suffix .Z).
|
||||||
|
#
|
||||||
|
# See include/freetype/ftlzw.h for the API.
|
||||||
|
AUX_MODULES += lzw
|
||||||
|
|
||||||
|
# OpenType table validation. Needs ftotval.c below.
|
||||||
|
#
|
||||||
|
# AUX_MODULES += otvalid
|
||||||
|
|
||||||
|
# Auxiliary PostScript driver component to share common code.
|
||||||
|
#
|
||||||
|
# This module depends on `psnames'.
|
||||||
|
AUX_MODULES += psaux
|
||||||
|
|
||||||
|
# Support for PostScript glyph names.
|
||||||
|
#
|
||||||
|
# This module can be controlled in ftconfig.h
|
||||||
|
# (FT_CONFIG_OPTION_POSTSCRIPT_NAMES).
|
||||||
|
AUX_MODULES += psnames
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
#### base module extensions
|
||||||
|
####
|
||||||
|
|
||||||
|
# Exact bounding box calculation.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftbbox.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftbbox.c
|
||||||
|
|
||||||
|
# Access BDF-specific strings. Needs BDF font driver.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftbdf.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftbdf.c
|
||||||
|
|
||||||
|
# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
|
||||||
|
# 8bpp format, and for emboldening of bitmap glyphs..
|
||||||
|
#
|
||||||
|
# See include/freetype/ftbitmap.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftbitmap.c
|
||||||
|
|
||||||
|
# Convenience functions to handle glyphs.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftglyph.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftglyph.c
|
||||||
|
|
||||||
|
# Interface for gxvalid module (which is required).
|
||||||
|
#
|
||||||
|
# See include/freetype/ftgxval.h for the API.
|
||||||
|
# BASE_EXTENSIONS += ftgxval.c
|
||||||
|
|
||||||
|
# Multiple Master font interface.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftmm.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftmm.c
|
||||||
|
|
||||||
|
# Interface for otvalid module (which is required).
|
||||||
|
#
|
||||||
|
# See include/freetype/ftotval.h for the API.
|
||||||
|
# BASE_EXTENSIONS += ftotval.c
|
||||||
|
|
||||||
|
# Interface for accessing PFR-specific data. Needs PFR font driver.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftpfr.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftpfr.c
|
||||||
|
|
||||||
|
# Path stroker.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftstroke.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftstroke.c
|
||||||
|
|
||||||
|
# Support for synthetic embolding and slanting of fonts.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftsynth.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftsynth.c
|
||||||
|
|
||||||
|
# Interface to access data specific to PostScript Type 1 and Type 2 (CFF)
|
||||||
|
# fonts.
|
||||||
|
#
|
||||||
|
# See include/freetype/t1tables.h for the API.
|
||||||
|
BASE_EXTENSIONS += fttype1.c
|
||||||
|
|
||||||
|
# Interface for accessing data specific to Windows FNT files. Needs winfnt
|
||||||
|
# driver.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftwinfnt.h for the API.
|
||||||
|
BASE_EXTENSIONS += ftwinfnt.c
|
||||||
|
|
||||||
|
# Support functions for X11. Useful only for building the XFree86 font
|
||||||
|
# server.
|
||||||
|
#
|
||||||
|
# See include/freetype/ftxf86.h for the API.
|
||||||
|
# BASE_EXTENSIONS += ftxf86.c
|
||||||
|
|
||||||
|
|
||||||
|
####
|
||||||
|
#### The components `ftsystem.c' (for memory allocation and stream I/O
|
||||||
|
#### management) and `ftdebug.c' (for emitting debug messages to the user)
|
||||||
|
#### are controlled with the following variables.
|
||||||
|
####
|
||||||
|
#### ftsystem.c: $(FTSYS_SRC)
|
||||||
|
#### ftdebug.c: $(FTDEBUG_SRC)
|
||||||
|
####
|
||||||
|
#### Please refer to docs/CUSTOMIZE for details.
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_autofit_module
|
FTMODULE_H_COMMANDS += AUTOFIT_MODULE
|
||||||
|
|
||||||
make_module_list: add_autofit_module
|
define AUTOFIT_MODULE
|
||||||
|
|
||||||
add_autofit_module:
|
|
||||||
$(OPEN_DRIVER)autofit_module_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)autofit_module_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)autofit $(ECHO_DRIVER_DESC)automatic hinting module$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)autofit $(ECHO_DRIVER_DESC)automatic hinting module$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Memory debugger (body). */
|
/* Memory debugger (body). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2001, 2002, 2003, 2004, 2005 by */
|
/* Copyright 2001, 2002, 2003, 2004, 2005, 2006 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -887,6 +887,115 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef FT_STRICT_ALIASING
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Pointer )
|
||||||
|
FT_Alloc_Debug( FT_Memory memory,
|
||||||
|
FT_Long size,
|
||||||
|
FT_Error *p_error,
|
||||||
|
const char* file_name,
|
||||||
|
FT_Long line_no )
|
||||||
|
{
|
||||||
|
FT_MemTable table = (FT_MemTable)memory->user;
|
||||||
|
|
||||||
|
|
||||||
|
if ( table )
|
||||||
|
{
|
||||||
|
table->file_name = file_name;
|
||||||
|
table->line_no = line_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FT_Alloc( memory, size, p_error );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Pointer )
|
||||||
|
FT_Realloc_Debug( FT_Memory memory,
|
||||||
|
FT_Long current,
|
||||||
|
FT_Long size,
|
||||||
|
void* block,
|
||||||
|
FT_Error *p_error,
|
||||||
|
const char* file_name,
|
||||||
|
FT_Long line_no )
|
||||||
|
{
|
||||||
|
FT_MemTable table = (FT_MemTable)memory->user;
|
||||||
|
|
||||||
|
|
||||||
|
if ( table )
|
||||||
|
{
|
||||||
|
table->file_name = file_name;
|
||||||
|
table->line_no = line_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FT_Realloc( memory, current, size, block, p_error );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Pointer )
|
||||||
|
FT_QAlloc_Debug( FT_Memory memory,
|
||||||
|
FT_Long size,
|
||||||
|
FT_Error *p_error,
|
||||||
|
const char* file_name,
|
||||||
|
FT_Long line_no )
|
||||||
|
{
|
||||||
|
FT_MemTable table = (FT_MemTable)memory->user;
|
||||||
|
|
||||||
|
|
||||||
|
if ( table )
|
||||||
|
{
|
||||||
|
table->file_name = file_name;
|
||||||
|
table->line_no = line_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FT_QAlloc( memory, size, p_error );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Pointer )
|
||||||
|
FT_QRealloc_Debug( FT_Memory memory,
|
||||||
|
FT_Long current,
|
||||||
|
FT_Long size,
|
||||||
|
void* block,
|
||||||
|
FT_Error *p_error,
|
||||||
|
const char* file_name,
|
||||||
|
FT_Long line_no )
|
||||||
|
{
|
||||||
|
FT_MemTable table = (FT_MemTable)memory->user;
|
||||||
|
|
||||||
|
|
||||||
|
if ( table )
|
||||||
|
{
|
||||||
|
table->file_name = file_name;
|
||||||
|
table->line_no = line_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FT_QRealloc( memory, current, size, block, p_error );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Free_Debug( FT_Memory memory,
|
||||||
|
const void *P,
|
||||||
|
const char* file_name,
|
||||||
|
FT_Long line_no )
|
||||||
|
{
|
||||||
|
FT_MemTable table = (FT_MemTable)memory->user;
|
||||||
|
|
||||||
|
|
||||||
|
if ( table )
|
||||||
|
{
|
||||||
|
table->file_name = file_name;
|
||||||
|
table->line_no = line_no;
|
||||||
|
}
|
||||||
|
|
||||||
|
FT_Free( memory, (void *)P );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#else /* !FT_STRICT_ALIASING */
|
||||||
|
|
||||||
|
|
||||||
FT_BASE_DEF( FT_Error )
|
FT_BASE_DEF( FT_Error )
|
||||||
FT_Alloc_Debug( FT_Memory memory,
|
FT_Alloc_Debug( FT_Memory memory,
|
||||||
FT_Long size,
|
FT_Long size,
|
||||||
|
@ -988,6 +1097,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* !FT_STRICT_ALIASING */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ft_mem_source_compare( const void* p1,
|
ft_mem_source_compare( const void* p1,
|
||||||
const void* p2 )
|
const void* p2 )
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
# Copyright 1996-2000, 2002, 2003, 2004, 2005 by
|
# Copyright 1996-2000, 2002, 2003, 2004, 2005, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
@ -46,23 +46,11 @@ BASE_SRC := $(BASE_DIR)/ftapi.c \
|
||||||
|
|
||||||
# Base layer `extensions' sources
|
# Base layer `extensions' sources
|
||||||
#
|
#
|
||||||
# An extension is added to the library file (.a or .lib) as a separate
|
# An extension is added to the library file as a separate object. It is
|
||||||
# object. It will then be linked to the final executable only if one of its
|
# then linked to the final executable only if one of its symbols is used by
|
||||||
# symbols is used by the application.
|
# the application.
|
||||||
#
|
#
|
||||||
BASE_EXT_SRC := $(BASE_DIR)/ftbitmap.c \
|
BASE_EXT_SRC := $(patsubst %,$(BASE_DIR)/%,$(BASE_EXTENSIONS))
|
||||||
$(BASE_DIR)/ftbbox.c \
|
|
||||||
$(BASE_DIR)/ftbdf.c \
|
|
||||||
$(BASE_DIR)/ftglyph.c \
|
|
||||||
$(BASE_DIR)/ftgxval.c \
|
|
||||||
$(BASE_DIR)/ftmm.c \
|
|
||||||
$(BASE_DIR)/ftotval.c \
|
|
||||||
$(BASE_DIR)/ftpfr.c \
|
|
||||||
$(BASE_DIR)/ftstroke.c \
|
|
||||||
$(BASE_DIR)/ftsynth.c \
|
|
||||||
$(BASE_DIR)/fttype1.c \
|
|
||||||
$(BASE_DIR)/ftwinfnt.c \
|
|
||||||
$(BASE_DIR)/ftxf86.c
|
|
||||||
|
|
||||||
# Default extensions objects
|
# Default extensions objects
|
||||||
#
|
#
|
||||||
|
|
|
@ -24,12 +24,11 @@
|
||||||
# THE SOFTWARE.
|
# THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_bdf_driver
|
FTMODULE_H_COMMANDS += BDF_DRIVER
|
||||||
|
|
||||||
make_module_list: add_bdf_driver
|
define BDF_DRIVER
|
||||||
|
|
||||||
add_bdf_driver:
|
|
||||||
$(OPEN_DRIVER)bdf_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)bdf_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)bdf $(ECHO_DRIVER_DESC)bdf bitmap fonts$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)bdf $(ECHO_DRIVER_DESC)bdf bitmap fonts$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_cff_driver
|
FTMODULE_H_COMMANDS += CFF_DRIVER
|
||||||
|
|
||||||
make_module_list: add_cff_driver
|
define CFF_DRIVER
|
||||||
|
|
||||||
add_cff_driver:
|
|
||||||
$(OPEN_DRIVER)cff_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)cff_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)cff $(ECHO_DRIVER_DESC)OpenType fonts with extension *.otf$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)cff $(ECHO_DRIVER_DESC)OpenType fonts with extension *.otf$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_type1cid_driver
|
FTMODULE_H_COMMANDS += TYPE1CID_DRIVER
|
||||||
|
|
||||||
make_module_list: add_type1cid_driver
|
define TYPE1CID_DRIVER
|
||||||
|
|
||||||
add_type1cid_driver:
|
|
||||||
$(OPEN_DRIVER)t1cid_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)t1cid_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)cid $(ECHO_DRIVER_DESC)Postscript CID-keyed fonts, no known extension$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)cid $(ECHO_DRIVER_DESC)Postscript CID-keyed fonts, no known extension$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_gxvalid_module
|
FTMODULE_H_COMMANDS += GXVALID_MODULE
|
||||||
|
|
||||||
make_module_list: add_gxvalid_module
|
define GXVALID_MODULE
|
||||||
|
|
||||||
add_gxvalid_module:
|
|
||||||
$(OPEN_DRIVER)gxvalid_module_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)gxvalid_module_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)gxvalid $(ECHO_DRIVER_DESC)TrueTypeGX/AAT validation module$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)gxvalid $(ECHO_DRIVER_DESC)TrueTypeGX/AAT validation module$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_otvalid_module
|
FTMODULE_H_COMMANDS += OTVALID_MODULE
|
||||||
|
|
||||||
make_module_list: add_otvalid_module
|
define OTVALID_MODULE
|
||||||
|
|
||||||
add_otvalid_module:
|
|
||||||
$(OPEN_DRIVER)otvalid_module_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)otvalid_module_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)otvalid $(ECHO_DRIVER_DESC)OpenType validation module$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)otvalid $(ECHO_DRIVER_DESC)OpenType validation module$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -24,12 +24,11 @@
|
||||||
# THE SOFTWARE.
|
# THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_pcf_driver
|
FTMODULE_H_COMMANDS += PCF_DRIVER
|
||||||
|
|
||||||
make_module_list: add_pcf_driver
|
define PCF_DRIVER
|
||||||
|
|
||||||
add_pcf_driver:
|
|
||||||
$(OPEN_DRIVER)pcf_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)pcf_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)pcf $(ECHO_DRIVER_DESC)pcf bitmap fonts$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)pcf $(ECHO_DRIVER_DESC)pcf bitmap fonts$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_pfr_driver
|
FTMODULE_H_COMMANDS += PFR_DRIVER
|
||||||
|
|
||||||
make_module_list: add_pfr_driver
|
define PFR_DRIVER
|
||||||
|
|
||||||
add_pfr_driver:
|
|
||||||
$(OPEN_DRIVER)pfr_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)pfr_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)pfr $(ECHO_DRIVER_DESC)PFR/TrueDoc font files with extension *.pfr$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)pfr $(ECHO_DRIVER_DESC)PFR/TrueDoc font files with extension *.pfr$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_psaux_module
|
FTMODULE_H_COMMANDS += PSAUX_MODULE
|
||||||
|
|
||||||
make_module_list: add_psaux_module
|
define PSAUX_MODULE
|
||||||
|
|
||||||
add_psaux_module:
|
|
||||||
$(OPEN_DRIVER)psaux_module_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)psaux_module_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)psaux $(ECHO_DRIVER_DESC)Postscript Type 1 & Type 2 helper module$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)psaux $(ECHO_DRIVER_DESC)Postscript Type 1 & Type 2 helper module$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_pshinter_module
|
FTMODULE_H_COMMANDS += PSHINTER_MODULE
|
||||||
|
|
||||||
make_module_list: add_pshinter_module
|
define PSHINTER_MODULE
|
||||||
|
|
||||||
add_pshinter_module:
|
|
||||||
$(OPEN_DRIVER)pshinter_module_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)pshinter_module_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)pshinter $(ECHO_DRIVER_DESC)Postscript hinter module$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)pshinter $(ECHO_DRIVER_DESC)Postscript hinter module$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_psnames_module
|
FTMODULE_H_COMMANDS += PSNAMES_MODULE
|
||||||
|
|
||||||
make_module_list: add_psnames_module
|
define PSNAMES_MODULE
|
||||||
|
|
||||||
add_psnames_module:
|
|
||||||
$(OPEN_DRIVER)psnames_module_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)psnames_module_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)psnames $(ECHO_DRIVER_DESC)Postscript & Unicode Glyph name handling$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)psnames $(ECHO_DRIVER_DESC)Postscript & Unicode Glyph name handling$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_raster_module
|
FTMODULE_H_COMMANDS += RASTER_MODULE
|
||||||
|
|
||||||
make_module_list: add_raster_module
|
define RASTER_MODULE
|
||||||
|
|
||||||
add_raster_module:
|
|
||||||
$(OPEN_DRIVER)ft_raster1_renderer_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)ft_raster1_renderer_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)raster $(ECHO_DRIVER_DESC)monochrome bitmap renderer$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)raster $(ECHO_DRIVER_DESC)monochrome bitmap renderer$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_sfnt_module
|
FTMODULE_H_COMMANDS += SFNT_MODULE
|
||||||
|
|
||||||
make_module_list: add_sfnt_module
|
define SFNT_MODULE
|
||||||
|
|
||||||
add_sfnt_module:
|
|
||||||
$(OPEN_DRIVER)sfnt_module_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)sfnt_module_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)sfnt $(ECHO_DRIVER_DESC)helper module for TrueType & OpenType formats$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)sfnt $(ECHO_DRIVER_DESC)helper module for TrueType & OpenType formats$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,16 +13,15 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_smooth_renderer
|
FTMODULE_H_COMMANDS += SMOOTH_RENDERER
|
||||||
|
|
||||||
make_module_list: add_smooth_renderer
|
define SMOOTH_RENDERER
|
||||||
|
|
||||||
add_smooth_renderer:
|
|
||||||
$(OPEN_DRIVER)ft_smooth_renderer_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)ft_smooth_renderer_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer$(ECHO_DRIVER_DONE)
|
||||||
$(OPEN_DRIVER)ft_smooth_lcd_renderer_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)ft_smooth_lcd_renderer_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer for LCDs$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer for LCDs$(ECHO_DRIVER_DONE)
|
||||||
$(OPEN_DRIVER)ft_smooth_lcdv_renderer_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)ft_smooth_lcdv_renderer_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer for vertical LCDs$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)smooth $(ECHO_DRIVER_DESC)anti-aliased bitmap renderer for vertical LCDs$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_truetype_driver
|
FTMODULE_H_COMMANDS += TRUETYPE_DRIVER
|
||||||
|
|
||||||
make_module_list: add_truetype_driver
|
define TRUETYPE_DRIVER
|
||||||
|
|
||||||
add_truetype_driver:
|
|
||||||
$(OPEN_DRIVER)tt_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)tt_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC)Windows/Mac font files with extension *.ttf or *.ttc$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)truetype $(ECHO_DRIVER_DESC)Windows/Mac font files with extension *.ttf or *.ttc$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_type1_driver
|
FTMODULE_H_COMMANDS += TYPE1_DRIVER
|
||||||
|
|
||||||
make_module_list: add_type1_driver
|
define TYPE1_DRIVER
|
||||||
|
|
||||||
add_type1_driver:
|
|
||||||
$(OPEN_DRIVER)t1_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)t1_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)type1 $(ECHO_DRIVER_DESC)Postscript font files with extension *.pfa or *.pfb$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)type1 $(ECHO_DRIVER_DESC)Postscript font files with extension *.pfa or *.pfb$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,12 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_type42_driver
|
FTMODULE_H_COMMANDS += TYPE42_DRIVER
|
||||||
|
|
||||||
make_module_list: add_type42_driver
|
define TYPE42_DRIVER
|
||||||
|
|
||||||
add_type42_driver:
|
|
||||||
$(OPEN_DRIVER)t42_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)t42_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)type42 $(ECHO_DRIVER_DESC)Type 42 font files with no known extension$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)type42 $(ECHO_DRIVER_DESC)Type 42 font files with no known extension$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
# EOF
|
# EOF
|
||||||
|
|
|
@ -13,11 +13,11 @@
|
||||||
# fully.
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
.PHONY: add_windows_driver
|
FTMODULE_H_COMMANDS += WINDOWS_DRIVER
|
||||||
|
|
||||||
make_module_list: add_windows_driver
|
define WINDOWS_DRIVER
|
||||||
|
|
||||||
add_windows_driver:
|
|
||||||
$(OPEN_DRIVER)winfnt_driver_class$(CLOSE_DRIVER)
|
$(OPEN_DRIVER)winfnt_driver_class$(CLOSE_DRIVER)
|
||||||
$(ECHO_DRIVER)winfnt $(ECHO_DRIVER_DESC)Windows bitmap fonts with extension *.fnt or *.fon$(ECHO_DRIVER_DONE)
|
$(ECHO_DRIVER)winfnt $(ECHO_DRIVER_DESC)Windows bitmap fonts with extension *.fnt or *.fon$(ECHO_DRIVER_DONE)
|
||||||
|
endef
|
||||||
|
|
||||||
|
# EOF
|
||||||
|
|
Loading…
Reference in New Issue