[squeak-dev] Re: How to compile FreeType Plugin (FT2Plugin)?

Bert Freudenberg bert at freudenbergs.de
Fri Mar 14 21:36:57 UTC 2008


On Mar 14, 2008, at 21:50 , Takashi Yamamiya wrote:

> Hi Bert,
>
> Actually this was what I was about to ask you next;)
>
> On Fri, Mar 14, 2008 at 2:48 AM, Bert Freudenberg <bert at freudenbergs.de 
> > wrote:
>> On Mar 13, 2008, at 23:28 , Takashi Yamamiya wrote:
>> > What I did is to load:
>> >
>> > - FreeTypeBitBltSimulation.1.cs
>> > - Freetype-Base-tween.71
>> > - Freetype-Plugin-JMM.53
>> >
>> > and edit platforms/unix/plugins/FT2Plugin/Makefile.inc like:
>> > XCPPFLAGS=      $$(freetype-config --cflags) $$(freetype-config --
>> > cflags)/freetype
>> > XLDFLAGS=       $$(freetype-config --libs)
>>  That's not the right way to do it. Instead, you should use an  
>> autoconf
>> macro like the DBusPlugin does. The package name is freetype2.
>
> I made acinclude.m4:
> PKG_CHECK_MODULES(FREETYPE,freetype2,,AC_PLUGIN_DISABLE)
> AC_PLUGIN_DEFINE_UNQUOTED(FREETYPE_CFLAGS,$FREETYPE_CFLAGS)
> AC_PLUGIN_DEFINE_UNQUOTED(FREETYPE_LIBS,$FREETYPE_LIBS)
>
> and Makefile.inc:
> XCPPFLAGS= [FREETYPE_CFLAGS]
> XLDFLAGS=  [FREETYPE_LIBS]
>
> in platforms/unix/plugins/FT2Plugin. I just did copy and paste from
> RomePlugin (I'm curious why RomePlugin is here in olpc branch, but
> this is a different topic).

Because it has the Pango primitives, which we actually wanted to use.  
Maybe one day Yoshiki finishes the image-side of things.

> But "[FREETYPE_CFLAGS]" was just copied to bld/FT2Plugin/Makefile
> without substitution. I'm completely a beginner of autoconf, so could
> give me a start point to learn about that? where did $FREETYPE_CFLAGS
> come from, and how can I make it work?

Did you remake the autoconf files? Type "make" in platforms/unix/config.

>> Also, why does the "freetype" subdirectory have to be listed  
>> explicitly?
>
> Because freetype-config --cflags answers -I/usr/include/freetype2 but
> tttables.h is /usr/include/freetype2/freetype.
>
> FT2Plugin class >> declareCVarsIn:
>
> cg addHeaderFile: '<ft2build.h>'.
> cg addHeaderFile: '<tttables.h>'.
> cg addHeaderFile: 'FT_FREETYPE_H'.
> cg addHeaderFile: 'FT_OUTLINE_H'.
> cg var: 'library' declareC: 'FT_Library library'.
> cg var: 'errorCode' type: 'int'.

Then I guess this should be changed to

cg addHeaderFile: '<freetype/tttables.h>'.

- Bert -




More information about the Squeak-dev mailing list