freetype
[Top][All Lists]
Advanced

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

Re: [ft] Freetype x86


From: J Decker
Subject: Re: [ft] Freetype x86
Date: Thu, 21 May 2015 11:22:26 -0700



On Mon, May 18, 2015 at 4:06 AM, Semeriak, AleksandraX <address@hidden> wrote:
Hello Werner,

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 ?

that looks like a third party site to freetype, and being a wiki can't you?
Besides the fact that the topic there seems to be OpenGL programming not 'how to load a font' it doesn't seem like a good place to make such modification.
It looks to me that freetype is a configure based build?  I guess it's primary build required Jam ( http://www.freetype.org/jam/ ) ... It's been a while since I've dug through a 'how to build freetype'  for which there seems to be 
http://www.freetype.org/freetype1/docs/faq/freetype1.txt  (question 1 is 'how do I build') 
and http://www.freetype.org/developer.html that mentions possible required tools.

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.

They say that 'jam makes things easier than make' but looking through that now I don't see simplicity.
Cmake also scans sources or enables appropriate build environments to generate dependencies for headers.... but since I rarely change freetype headers or do development, that doesn't matter as much to me as a freetype library consumer. 

For Me, building for android was a simple as setting the toolchain for cmake and rebuilding everything as usual; so I initially didn't see the complication of the issue.... 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.


Not to mention the complication of having to figure out how to get Jam to build on some other environments for just building this one library (I recall there was 1 other project that had jam support; but forget what it was)

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.


 
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?

Please let me know in case of any questions. Looking forward to your response.

Sincerely,

Aleksandra Semeriak
Intel Software Partner Program
+44 3300088836
address@hidden
aleksandra.semeriak.work

 Please consider the environment before printing this email.
Intel is committed to protecting your privacy. For more information about Intel's Privacy Notice, please visit www.intel.com/privacy
or write Intel Corporation, ATTN Privacy, Mailstop RNB4-145, 2200 Mission College Blvd., Santa Clara, CA 95054 USA.




if( NEED_FREETYPE )

SET( FBASEDIR src/contrib/freetype-2.5.0.1/src )

Set( ExternalExtraDefinitions ${ExternalExtraDefinitions} FREETYPE_SOURCE FT2_BUILD_LIBRARY )

SET( FT_SRCS autofit/autofit.c  base/ftbase.c  bdf/bdf.c 
cache/ftcache.c  cff/cff.c  cid/type1cid.c  lzw/ftlzw.c  gzip/ftgzip.c 
otvalid/otvalid.c  pcf/pcf.c  pfr/pfr.c  psnames/psmodule.c 
psaux/psaux.c  pshinter/pshinter.c  raster/raster.c  sfnt/sfnt.c 
smooth/smooth.c  truetype/truetype.c  type1/type1.c  type42/type42.c 
winfonts/winfnt.c  base/ftbitmap.c  base/ftgasp.c  base/ftglyph.c 
base/ftgxval.c  base/ftinit.c  base/ftmm.c  base/ftotval.c 
base/ftpfr.c  base/ftstroke.c  base/ftsynth.c  base/ftsystem.c 
base/fttype1.c  base/ftwinfnt.c  base/ftxf86.c  )

include_directories( ${FBASEDIR}/../include )

# build actual freetype source list
FOREACH( SRC ${FT_SRCS} )
  LIST( APPEND FREETYPE_SOURCE ${FBASEDIR}/${SRC} )
ENDFOREACH()

# for multi-project IDEs like Visual Studio
source_group("Source Files\\Freetype-2.5.0.1 Library" FILES ${FREETYPE_SOURCE})
endif(NEED_FREETYPE)

 
....
#and then later something like ... 
add_library( freetype ${FREETYPE_SOURCE} )
SET_TARGET_PROPERTIES( freetype PROPERTIES
                  COMPILE_DEFINITIONS "${ExternalExtraDefinitions}"
)


reply via email to

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