diff --git a/ChangeLog b/ChangeLog index 5b0c89836..50e6953bc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,13 @@ 2000-03-24 David Turner + * Jamrules, Jamfile, src/Jamfile, src/*/Jamfile: Adding jamfiles + to the source tree. see www.freetype.org/jam/index.html for details + + * Version 2.0.2 released. ========================= + 2001-03-20 Werner Lemberg * builds/win32/detekt.mk: Fix .PHONY target for Intel compiler. diff --git a/Jamfile b/Jamfile new file mode 100644 index 000000000..74492d341 --- /dev/null +++ b/Jamfile @@ -0,0 +1,40 @@ +# FreeType 2 Jamfile (c) 2001 David Turner +# + +# 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 ; +} + +FT2_INCLUDE = [ FT2_SubDir include ] ; +FT2_SRC = [ FT2_SubDir src ] ; + +FT2_LIB = $(LIBPREFIX)freetype ; + +# we need "freetype2/include" in the current include path in order to +# compile any part of FreeType 2 +# +SubDirHdr += $(FT2_INCLUDE) ; + +# uncomment the following line if you want to build individual source files +# for each FreeType 2 module. +# +# FT2_MULTI = true; + +# the file is used to define macros that are +# later used in #include statements.. it needs to be parsed in order to +# record these definitions.. +# +HDRMACRO [ FT2_SubDir include freetype config ft2build.h ] ; + +# now include the Jamfile in "freetype2/src", used to drive the +# compilation of each FreeType 2 component and/or module +# +SubInclude FT2_TOP src ; + + + diff --git a/Jamrules b/Jamrules new file mode 100644 index 000000000..a98dd817f --- /dev/null +++ b/Jamrules @@ -0,0 +1,54 @@ +# FreeType 2 JamRules (c) 2001 David Turner +# +# This file contains the Jam rules needed to build the FreeType 2 library +# it is shared by all Jamfiles and is included only once in the build +# process +# + + +# determine prefix of library file. We must use "libxxxxx" on Unix +# systems, while all other simply use the real name.. +# +if $(UNIX) +{ + LIBPREFIX ?= lib ; +} +else +{ + LIBPREFIX ?= "" ; +} + +# FT_TOP contains the location of the FreeType source directory. You can +# set it to a specific value if you want to compile the library as part +# of a larger project.. +# +FT2_TOP ?= $(DOT) ; + +# define a new rule used to declare a sub directory of the Nirvana +# source tree.. +# +rule FT2_SubDir +{ + if $(FT2_TOP) = $(DOT) + { + return [ FDirName $(<) ] ; + } + else + { + return [ FDirName $(FT2_TOP) $(<) ] ; + } +} + + + +# the directory "include" must be in the current include path +# when compiling any part of FreeType. We thus update the HDRS variable there +# +HDRS += [ FT2_SubDir include ] ; + +# we also set ALL_LOCATE_TARGET in order to place all object and library +# files in "objs" +# +ALL_LOCATE_TARGET ?= [ FT2_SubDir objs ] ; + + diff --git a/src/Jamfile b/src/Jamfile new file mode 100644 index 000000000..89cd844b3 --- /dev/null +++ b/src/Jamfile @@ -0,0 +1,28 @@ +SubDir FT2_TOP src ; + +# we need to add "freetype/src" to the current includ path in order +# to compile any part of FreeType 2.. +# +SubDirHdrs [ FT2_SubDir src ] ; + +# the file is used to define macros that are +# later used in #include statements.. it needs to be parsed in order to +# record these definitions.. +# +HDRMACRO [ FT2_SubDir include internal internal.h ] ; + +SubInclude FT2_TOP src autohint ; +SubInclude FT2_TOP src base ; +SubInclude FT2_TOP src cache ; +SubInclude FT2_TOP src cff ; +SubInclude FT2_TOP src cid ; +SubInclude FT2_TOP src pcf ; +SubInclude FT2_TOP src psaux ; +SubInclude FT2_TOP src psnames ; +SubInclude FT2_TOP src raster ; +SubInclude FT2_TOP src sfnt ; +SubInclude FT2_TOP src smooth ; +SubInclude FT2_TOP src truetype ; +SubInclude FT2_TOP src type1 ; +SubInclude FT2_TOP src winfonts ; + diff --git a/src/autohint/Jamfile b/src/autohint/Jamfile new file mode 100644 index 000000000..7fd35db10 --- /dev/null +++ b/src/autohint/Jamfile @@ -0,0 +1,21 @@ +SubDir FT2_TOP src autohint ; + +SubDirHdrs [ FT2_SubDir src autohint ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = ahangles.c ahglobal.c ahglyph.c ahhint.c ahmodule.c ; + } + else + { + _sources = autohint.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + + diff --git a/src/base/Jamfile b/src/base/Jamfile new file mode 100644 index 000000000..8a36d7653 --- /dev/null +++ b/src/base/Jamfile @@ -0,0 +1,31 @@ +SubDir FT2_TOP src base ; + +SubDirHdrs [ FT2_SubDir src base ] ; + + +# First of all, which files form the core / base of FT2 +# +ft2_base_sources = ftcalc.c ftextend.c ftlist.c ftobjs.c ftstream.c + ftoutln.c ftnames.c ; + +if $(FT2_MULTI) +{ + Library $(FT2_LIB) : $(ft2_base_sources) ; +} +else +{ + Library $(FT2_LIB) : ftbase.c ; +} + +# Add the optional/replaceable files +# +Library $(FT2_LIB) : ftsystem.c ftinit.c ftglyph.c ftmm.c ftbbox.c ftdebug.c ; + +# Add Macintosh-specific file to the library when necessary +# +if $(MAC) +{ + Library $(FT2_LIB) : ftmac.c ; +} + + diff --git a/src/cache/Jamfile b/src/cache/Jamfile new file mode 100644 index 000000000..00559681a --- /dev/null +++ b/src/cache/Jamfile @@ -0,0 +1,23 @@ +SubDir FT2_TOP src cache ; + +SubDirHdrs [ FT2_SubDir src cache ] ; + +ft2_cache_sources = ftlru.c ftcmanag.c ftcglyph.c ftcchunk.c + ftcsbits.c ftcimage.c ; + +# the file contains some macro definitions that are +# later used in #include statements related to the cache sub-system. +# it need to be parsed through a HDRMACRO rule for macro definitions +# +HDRMACRO [ FT2_SubDir include ftcache.h ] ; + +if $(FT2_MULTI) +{ + Library $(FT2_LIB) : $(ft2_cache_sources) ; +} +else +{ + Library $(FT2_LIB) : ftcache.c ; +} + + diff --git a/src/cff/Jamfile b/src/cff/Jamfile new file mode 100644 index 000000000..dbb91ed9b --- /dev/null +++ b/src/cff/Jamfile @@ -0,0 +1,21 @@ +SubDir FT2_TOP src cff ; + +SubDirHdrs [ FT2_SubDir src cff ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = cffdrivr.c cffgload.c cffload.c cffobjs.c cffparse.c ; + } + else + { + _sources = cff.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + + diff --git a/src/cid/Jamfile b/src/cid/Jamfile new file mode 100644 index 000000000..7db1f050a --- /dev/null +++ b/src/cid/Jamfile @@ -0,0 +1,21 @@ +SubDir FT2_TOP src cid ; + +SubDirHdrs [ FT2_SubDir src cid ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = cidobjs.c cidload.c cidgload.c cidriver.c cidparse.c ; + } + else + { + _sources = type1cid.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + + diff --git a/src/pcf/Jamfile b/src/pcf/Jamfile new file mode 100644 index 000000000..c9938e31a --- /dev/null +++ b/src/pcf/Jamfile @@ -0,0 +1,21 @@ +SubDir FT2_TOP src pcf ; + +SubDirHdrs [ FT2_SubDir src pcf ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = pcfdriver.c pcfread.c pcfutil.c ; + } + else + { + _sources = pcf.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + + diff --git a/src/psaux/Jamfile b/src/psaux/Jamfile new file mode 100644 index 000000000..5be193e93 --- /dev/null +++ b/src/psaux/Jamfile @@ -0,0 +1,16 @@ +SubDir FT2_TOP src psaux ; + +SubDirHdrs [ FT2_SubDir src psaux ] ; + +ft2_psaux_sources = psauxmod.c psobjs.c t1decode.c ; + +if $(FT2_MULTI) +{ + Library $(FT2_LIB) : $(ft2_psaux_sources) ; +} +else +{ + Library $(FT2_LIB) : psaux.c ; +} + + diff --git a/src/psnames/Jamfile b/src/psnames/Jamfile new file mode 100644 index 000000000..7e15b5193 --- /dev/null +++ b/src/psnames/Jamfile @@ -0,0 +1,20 @@ +SubDir FT2_TOP src psnames ; + +SubDirHdrs [ FT2_SubDir src psnames ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = psmodule.c ; + } + else + { + _sources = psnames.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + diff --git a/src/raster/Jamfile b/src/raster/Jamfile new file mode 100644 index 000000000..06f6f94e3 --- /dev/null +++ b/src/raster/Jamfile @@ -0,0 +1,21 @@ +SubDir FT2_TOP src raster ; + +SubDirHdrs [ FT2_SubDir src raster ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = ftraster.c ftrend1.c ; + } + else + { + _sources = raster.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + + diff --git a/src/sfnt/Jamfile b/src/sfnt/Jamfile new file mode 100644 index 000000000..ba2d57926 --- /dev/null +++ b/src/sfnt/Jamfile @@ -0,0 +1,21 @@ +SubDir FT2_TOP src sfnt ; + +SubDirHdrs [ FT2_SubDir src sfnt ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = sfobjs.c sfdriver.c ttcmap.c ttpost.c ttload.c ttsbit.c ; + } + else + { + _sources = sfnt.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + + diff --git a/src/smooth/Jamfile b/src/smooth/Jamfile new file mode 100644 index 000000000..df154919e --- /dev/null +++ b/src/smooth/Jamfile @@ -0,0 +1,16 @@ +SubDir FT2_TOP src smooth ; + +SubDirHdrs [ FT2_SubDir src smooth ] ; + +ft2_smooth_sources = ftgrays.c ftsmooth.c ; + +if $(FT2_MULTI) +{ + Library $(FT2_LIB) : $(ft2_smooth_sources) ; +} +else +{ + Library $(FT2_LIB) : smooth.c ; +} + + diff --git a/src/truetype/Jamfile b/src/truetype/Jamfile new file mode 100644 index 000000000..5012fba42 --- /dev/null +++ b/src/truetype/Jamfile @@ -0,0 +1,21 @@ +SubDir FT2_TOP src truetype ; + +SubDirHdrs [ FT2_SubDir src truetype ] ; + +{ + local _sources ; + + if $(FT2_MULTI) + { + _sources = ttdriver.c ttobjs.c ttpload.c ttgload.c ttinterp.c ; + } + else + { + _sources = truetype.c ; + } + + Library $(FT2_LIB) : $(_sources) ; +} + + + diff --git a/src/type1/Jamfile b/src/type1/Jamfile new file mode 100644 index 000000000..e40ba2684 --- /dev/null +++ b/src/type1/Jamfile @@ -0,0 +1,17 @@ +SubDir FT2_TOP src type1 ; + +SubDirHdrs [ FT2_SubDir src type1 ] ; + +ft2_type1_sources = t1afm.c t1driver.c t1objs.c t1load.c t1gload.c + t1parse.c ; + +if $(FT2_MULTI) +{ + Library $(FT2_LIB) : $(ft2_type1_sources) ; +} +else +{ + Library $(FT2_LIB) : type1.c ; +} + + diff --git a/src/winfonts/Jamfile b/src/winfonts/Jamfile new file mode 100644 index 000000000..da223426f --- /dev/null +++ b/src/winfonts/Jamfile @@ -0,0 +1,8 @@ +SubDir FT2_TOP src winfonts ; + +SubDirHdrs [ FT2_SubDir src winfonts ] ; + +Library $(FT2_LIB) : winfnt.c ; + + +