freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft] Freetype x86


From: Behdad Esfahbod
Subject: Re: [ft] Freetype x86
Date: Tue, 18 Aug 2015 10:49:09 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0

Hi there,

Sorry for the 2.5 month late reply!  I'm cleaning inbox now.

On 15-06-03 06:06 AM, Werner LEMBERG wrote:
> 
> Hello Aleksandra,
> hello J,
> 
> 
> finally I've reached your responses while wading through my pile of
> e-mails :-)
> 
>> We have been looking into the use of Freetype and the compatibility
>> with x86 devices, and as you noted in your first email, it should
>> run on any platform, as it creates Libs/armeabi/libfreetype.so,
>> libs/armeabi-v7a/libfreetype.so or libs/x86/libfreetype.so depending
>> on the APP_ABI configuration of the software developer.  Therefore
>> my question would be if you provide specific scripts to developers
>> using Freetype to build their library or is this the main source
>> that developers use:
>> http://en.wikibooks.org/wiki/OpenGL_Programming/Installation/Android_NDK#FreeType
>> ?
> 
> FreeType doesn't provide such scripts.  I'm sorry to say that my
> knowledge of Android device programming is zero, so I can't tell you
> whether this OpenGL guide works in general.
> 
>> In that case, since the wiki-resource doesn't have any mention of
>> the creation of x86 libs for the developers, would it be possible
>> for you to add the instructions for developers to inform them about
>> the possibility of setting their APP_ABI as APP_ABI:=all or
>> APP_ABI:=armeabi-v7a x86 to create applications with x86 support?
> 
> Of course I'm willing to add information to both the FreeType
> documentation and the build scripts that is necessary to make
> compilation work on specific targets.  The very problem is that I'm
> not the right person to write it.  I've CCed Behdad Esfahbod, a Google
> developer who is actively working for Android.  Maybe he can give
> advice or point to proper instructions.

I don't know what you are trying to do, but I've found that FreeType's
configure system run against an Android NDK works fine.

behdad

> Note that the OpenGL recipe given in the above link is quite specific
> and probably too limiting in general.  In particular, it essentially
> disables FreeType's support of color Emojis, as far as I can see (due
> to the `--with-png=no' configure switch).  There is also an
> intertwined dependency on the HarfBuzz library if you need good
> auto-hinting support of various scripts.  Today, a generic compilation
> of FreeType enabling all features needs three steps, assuming that you
> start from scratch.
> 
>   1. Compile FreeType.
>   2. Compile HarfBuzz (which needs FreeType).
>   3. Compile FreeType again – now the configure script finds the
>      HarfBuzz library and uses it unconditionally.
> 
>> It looks to me that freetype is a configure based build?
> 
> Yes.  This is what we actively use.
> 
>> I guess it's primary build required Jam
>> (http://www.freetype.org/jam/)
> 
> No, it was always just an alternative way to compile FreeType.  I must
> admit that support for Jam in FreeType is very weak today, since none
> of the core developers use it (any more).  The `support' is mainly my
> try to stay in sync with the files in the repository, but it isn't
> actively tested.
> 
>> Many years ago I just made a cmake code snippet to build freetype
>> for my own purposes (added at end) that makes the list of sources
>> that I can add to my external 3rd party library build as
>> ${FREETYPE_SOURCE}; but that's certainly far from the standard.
> 
> What I've just said about Jam essentially holds for CMake support
> also: The `CMakeLists.txt' control file was contributed, and I try to
> hold it in sync without using it.
> 
>> For Me, building for android was a simple as setting the toolchain
>> for cmake and rebuilding everything as usual;
> 
> Good to know.  Have you used FreeType's `CMakeLists.txt'?  Right now,
> it contains specific support for OS X and iOS.  Is there something to
> add for Android's NDK?
> 
>> [...] but looking now Freetype is kind of a legacy product and there
>> is a lot of scripts under <freetype>/builds but none there say
>> 'android' or 'arm'...  and unless one assumed android would just be
>> 'some unix thing that supports configure' it wouldn't really be
>> clear how to build it.
> 
> Yes, I consider Android to be `some unix thing' – it's essentially a
> Linux kernel, right?
> 
> By the way, looking into the `config' git repository (which holds
> the newest versions of `config.guess' and `config.sub'),
> 
>   http://git.savannah.gnu.org/cgit/config.git   ,
> 
> I don't see any recent commits related to the Intel architecture, so I
> conclude that the necessary Intel ABI targets for Android are already
> there, and the standard
> 
>   configure; make; make install
> 
> incantation should work out of the box if you provide the necessary
> cross compilation switches.  In other words, generic instructions how
> to use the Android NDK for Intel should apply to the FreeType library
> also.
> 
>> at least Freetype sources themselves are somewhat easily gathered
>> since each 'module' has a single source that includes all related
>> sources for that module instead of having to enumerate absolutely
>> every source in the tree somehow.
> 
> You can also go one step further and use Vinnie Falco's FreeType
> amalgamation, cf.
> 
>   https://github.com/vinniefalco/FreeTypeAmalgam
> 
> Those files are for an older FreeType version, but there's a link to
> the necessary scripts to recreate it.  After doing this, you have a
> single file that contains the whole FreeType library!  However, I've
> never used it, so there might be additional issues due to linking with
> other libraries like PNG or HarfBuzz.
> 
> 
>     Werner
> 

-- 
behdad
http://behdad.org/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]