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 21:17:42 +01:00
|
|
|
# modules.cfg
|
|
|
|
#
|
2006-02-22 09:23:35 +01:00
|
|
|
# Copyright 2005, 2006 by
|
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 21:17:42 +01:00
|
|
|
# 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.
|
2006-02-22 08:59:35 +01:00
|
|
|
BASE_EXTENSIONS += ftotval.c
|
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 21:17:42 +01:00
|
|
|
|
|
|
|
# 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.
|
2006-02-22 08:59:35 +01:00
|
|
|
BASE_EXTENSIONS += ftxf86.c
|
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 21:17:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
####
|
|
|
|
#### 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
|