[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ft-devel] module inclusion/exclusion (was: Migrating layout table valid
From: |
Detlef Würkner |
Subject: |
[ft-devel] module inclusion/exclusion (was: Migrating layout table validation code to a new CVS module) |
Date: |
Sun, 20 Nov 2005 09:31:33 +0100 |
address@hidden (Werner LEMBERG) wrote:
> I'll try to modify the building system of FreeType to make it easier
> to include and remove modules. Then, the default will be simply to
> exclude both ftvalid and gxvalid. After this, we have *enough* time
> to fix those issues step by step.
[...]
> > About plugin, it is good idea (although I'm afraid that FreeType is
> > very very widely used on platforms without dlopen etc), but it will
> > be long way work. It should be FreeType3, even if the binary
> > compatibility is kept.
>
> Indeed, it will take some time to find proper solutions. No need to
> hurry.
For systems that dont support dlopen() and only support static linking,
the Amiga build can be used as example. It builds a libft2.a with all
modules and contains a ftmodule.h file that starts like
/*
* To avoid that all your programs include all FreeType modules,
* you copy the following piece of source code into your own
* source file and specify which modules you really need in your
* application by uncommenting the appropriate lines.
*/
/*
//#define FT_USE_AUTOFIT // autofitter
//#define FT_USE_RASTER // monochrome rasterizer
//#define FT_USE_SMOOTH // anti-aliasing rasterizer
//#define FT_USE_TT // truetype font driver
//#define FT_USE_T1 // type1 font driver
//#define FT_USE_T42 // type42 font driver
//#define FT_USE_T1CID // cid-keyed type1 font driver // no cmap support
//#define FT_USE_CFF // opentype font driver
//#define FT_USE_BDF // bdf bitmap font driver
//#define FT_USE_PCF // pcf bitmap font driver
//#define FT_USE_PFR // pfr font driver
//#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
//#define FT_USE_OTV // opentype validator
//#define FT_USE_GXV // truetype gx validator
#include "FT:src/base/ftinit.c"
*/
This way its possible to define at compile time which modules shall be
linked from libft2.a. When not using this, all modules will be included
because libft2.a contains a default version of
ftinit.o/FT_Add_Default_Modules().
So when you add support for dlopen() etc and dynamic loading of modules
it would be nice if thats placed in a separate file so its only an
optional solution. And sorry if you already had that in mind :)
Ciao, Detlef
--
_ // address@hidden
\X/ Detlef Wuerkner, Langgoens/Germany