| Index: third_party/freetype2/src/Jamfile
|
| diff --git a/third_party/freetype2/src/Jamfile b/third_party/freetype2/src/Jamfile
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..7db26305002303acfbc67cb516088f6fe5781b1f
|
| --- /dev/null
|
| +++ b/third_party/freetype2/src/Jamfile
|
| @@ -0,0 +1,209 @@
|
| +# FreeType 2 top Jamfile.
|
| +#
|
| +# Copyright 2001-2015 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.
|
| +
|
| +
|
| +# The HDRMACRO is already defined in FTJam and is used to add
|
| +# the content of certain macros to the list of included header
|
| +# files.
|
| +#
|
| +# We can compile FreeType 2 with classic Jam however thanks to
|
| +# the following code
|
| +#
|
| +if ! $(JAM_TOOLSET)
|
| +{
|
| + rule HDRMACRO
|
| + {
|
| + # nothing
|
| + }
|
| +}
|
| +
|
| +
|
| +# We need to invoke a SubDir rule if the FT2 source directory top is not the
|
| +# current directory. This allows us to build FreeType 2 as part of a larger
|
| +# project easily.
|
| +#
|
| +if $(FT2_TOP) != $(DOT)
|
| +{
|
| + SubDir FT2_TOP ;
|
| +}
|
| +
|
| +
|
| +# The following macros define the include directory, the source directory,
|
| +# and the final library name (without library extensions). They can be
|
| +# replaced by other definitions when the library is compiled as part of
|
| +# a larger project.
|
| +#
|
| +
|
| +# Name of FreeType include directory during compilation.
|
| +# This is relative to FT2_TOP.
|
| +#
|
| +FT2_INCLUDE_DIR ?= include ;
|
| +
|
| +# Name of FreeType source directory during compilation.
|
| +# This is relative to FT2_TOP.
|
| +#
|
| +FT2_SRC_DIR ?= src ;
|
| +
|
| +# Name of final library, without extension.
|
| +#
|
| +FT2_LIB ?= $(LIBPREFIX)freetype ;
|
| +
|
| +
|
| +# Define FT2_BUILD_INCLUDE to point to your build-specific directory.
|
| +# This is prepended to FT2_INCLUDE_DIR. It can be used to specify
|
| +# the location of a custom <ft2build.h> which will point to custom
|
| +# versions of `ftmodule.h' and `ftoption.h', for example.
|
| +#
|
| +FT2_BUILD_INCLUDE ?= ;
|
| +
|
| +# The list of modules to compile on any given build of the library.
|
| +# By default, this will contain _all_ modules defined in FT2_SRC_DIR.
|
| +#
|
| +# IMPORTANT: You'll need to change the content of `ftmodule.h' as well
|
| +# if you modify this list or provide your own.
|
| +#
|
| +FT2_COMPONENTS ?= autofit # auto-fitter
|
| + base # base component (public APIs)
|
| + bdf # BDF font driver
|
| + bzip2 # support for bzip2-compressed PCF font
|
| + cache # cache sub-system
|
| + cff # CFF/CEF font driver
|
| + cid # PostScript CID-keyed font driver
|
| + gzip # support for gzip-compressed PCF font
|
| + lzw # support for LZW-compressed PCF font
|
| + pcf # PCF font driver
|
| + pfr # PFR/TrueDoc font driver
|
| + psaux # common PostScript routines module
|
| + pshinter # PostScript hinter module
|
| + psnames # PostScript names handling
|
| + raster # monochrome rasterizer
|
| + sfnt # SFNT-based format support routines
|
| + smooth # anti-aliased rasterizer
|
| + truetype # TrueType font driver
|
| + type1 # PostScript Type 1 font driver
|
| + type42 # PostScript Type 42 (embedded TrueType) driver
|
| + winfonts # Windows FON/FNT font driver
|
| + ;
|
| +
|
| +
|
| +# Don't touch.
|
| +#
|
| +FT2_INCLUDE = $(FT2_BUILD_INCLUDE)
|
| + [ FT2_SubDir $(FT2_INCLUDE_DIR) ] ;
|
| +
|
| +FT2_SRC = [ FT2_SubDir $(FT2_SRC_DIR) ] ;
|
| +
|
| +# Location of API Reference Documentation
|
| +#
|
| +if $(DOC_DIR)
|
| +{
|
| + DOC_DIR = $(DOCDIR:T) ;
|
| +}
|
| +else
|
| +{
|
| + DOC_DIR = docs/reference ;
|
| +}
|
| +
|
| +
|
| +# Only used by FreeType developers.
|
| +#
|
| +if $(DEBUG_HINTER)
|
| +{
|
| + CCFLAGS += -DDEBUG_HINTER ;
|
| +}
|
| +
|
| +
|
| +# We need `include' in the current include path in order to
|
| +# compile any part of FreeType 2.
|
| +#
|
| +HDRS += $(FT2_INCLUDE) ;
|
| +
|
| +
|
| +# We need to #define FT2_BUILD_LIBRARY so that our sources find the
|
| +# internal headers
|
| +#
|
| +CCFLAGS += -DFT2_BUILD_LIBRARY ;
|
| +
|
| +# Uncomment the following line if you want to build individual source files
|
| +# for each FreeType 2 module. This is only useful during development, and
|
| +# is better defined as an environment variable anyway!
|
| +#
|
| +# FT2_MULTI = true ;
|
| +
|
| +
|
| +# The files `ftheader.h', `internal.h', and `ftserv.h' are used to define
|
| +# macros that are later used in #include statements. They need to be parsed
|
| +# in order to record these definitions.
|
| +#
|
| +HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) freetype config ftheader.h ] ;
|
| +HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) freetype internal internal.h ] ;
|
| +HDRMACRO [ FT2_SubDir $(FT2_INCLUDE_DIR) freetype internal ftserv.h ] ;
|
| +
|
| +
|
| +# Now include the Jamfile in `freetype2/src', used to drive the compilation
|
| +# of each FreeType 2 component and/or module.
|
| +#
|
| +SubInclude FT2_TOP $(FT2_SRC_DIR) ;
|
| +
|
| +# Handle the generation of the `ftexport.sym' file, which contains the list
|
| +# of exported symbols. This can be used on Unix by libtool.
|
| +#
|
| +SubInclude FT2_TOP $(FT2_SRC_DIR) tools ;
|
| +
|
| +rule GenExportSymbols
|
| +{
|
| + local apinames = apinames$(SUFEXE) ;
|
| + local headers = [ Glob $(2) : *.h ] ;
|
| +
|
| + LOCATE on $(1) = $(ALL_LOCATE_TARGET) ;
|
| +
|
| + APINAMES on $(1) = apinames$(SUFEXE) ;
|
| +
|
| + Depends $(1) : $(apinames) $(headers) ;
|
| + GenExportSymbols1 $(1) : $(headers) ;
|
| + Clean clean : $(1) ;
|
| +}
|
| +
|
| +actions GenExportSymbols1 bind APINAMES
|
| +{
|
| + $(APINAMES) $(2) > $(1)
|
| +}
|
| +
|
| +GenExportSymbols ftexport.sym : include include/cache ;
|
| +
|
| +# Test files (hinter debugging). Only used by FreeType developers.
|
| +#
|
| +if $(DEBUG_HINTER)
|
| +{
|
| + SubInclude FT2_TOP tests ;
|
| +}
|
| +
|
| +rule RefDoc
|
| +{
|
| + Depends $1 : all ;
|
| + NotFile $1 ;
|
| + Always $1 ;
|
| +}
|
| +
|
| +actions RefDoc
|
| +{
|
| + python $(FT2_SRC)/tools/docmaker/docmaker.py
|
| + --prefix=ft2
|
| + --title=FreeType-2.6.2
|
| + --output=$(DOC_DIR)
|
| + $(FT2_INCLUDE)/freetype/*.h
|
| + $(FT2_INCLUDE)/freetype/config/*.h
|
| +}
|
| +
|
| +RefDoc refdoc ;
|
| +
|
| +
|
| +# end of top Jamfile
|
|
|