[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/
- Re: [ft] Freetype x86,
Behdad Esfahbod <=