ScummVM logo Forum Index - ScummVM website - Contact us - Buy Supported Games: GOG.com Rules - Search - Register - Login curved edge
Folder Forum Index > Android Port > daily build "X86" without mp3 ogg zlib flac suppor
daily build "X86" without mp3 ogg zlib flac suppor
  Author    Thread Reply to topic
moturimi



Joined: 09 Oct 2006
Posts: 8
daily build "X86" without mp3 ogg zlib flac suppor 

Is there a reason why the daily X86 optimized build has not been compiled with zlib, mp3 or any other sound compression support?

 Reply with quote  
Post Sun Mar 16, 2014 4:34 pm 
 View user's profile Send private message
digitall
ScummVM Developer


Joined: 02 Aug 2012
Posts: 941
 

Firstly, I assume you are referring to the buildbot nightly development build for android-x86:
http://buildbot.scummvm.org/snapshots/master/android_x86-master-latest.zip

This isn't "optimised" for x86. We use native code via the Android NDK and thus the previous Android releases would only run on ARM devices... which is most of the deployed Android devices.

I have added the MIPS and x86 builders to the buildbot only very recently as an experimental support for MIPS and x86 Android devices... thus this is very experimental i.e. Your mileage may vary. Please bear this in mind when using these builds.

As for the missing libraries, I have yet to compile the 3rd party libraries for the MIPS and x86 builders and thus they are not present. I will get to this in the next few days... hopefully.

 Reply with quote  
Post Mon Mar 17, 2014 1:09 am 
 View user's profile Send private message
moturimi



Joined: 09 Oct 2006
Posts: 8
 

Thank you for the extensive explanation!

 Reply with quote  
Post Tue Mar 18, 2014 5:58 pm 
 View user's profile Send private message
Sir^Knigget



Joined: 09 Dec 2012
Posts: 3
 

Hi digitall, are there any updates regarding libmad \ libvorbisidec support in the x86 build?

If it's done, I would appreciate if you share the static libs that you compiled for x86 Android (libmad.a and libvorbisidec.a).

Thanks!

 Reply with quote  
Post Sun May 04, 2014 11:37 am 
 View user's profile Send private message Send e-mail
digitall
ScummVM Developer


Joined: 02 Aug 2012
Posts: 941
 

There are no updates currently. I will get to fixing this when I have some time.

I do not intend to share the compiled static libraries as I don't think it is a good idea as it encourages pinning on a specific version as a binary dependency.

I will instead ensure that the Android compilation pages have sufficient instructions for compiling these libraries from source with the NDK and any extra patches needed. This will allow rebuilding with newer releases of the libraries.

 Reply with quote  
Post Sun May 04, 2014 7:53 pm 
 View user's profile Send private message
digitall
ScummVM Developer


Joined: 02 Aug 2012
Posts: 941
 

Have compiled the optional libraries for the MIPS and x86 Android builders, apart from fluidsynth, FLAC and libMPEG2.

I have used the normal libvorbis, rather than Tremor (integer fixed-point libvorbis).

This did not require anything too special. Just the normal cross compilation using the correct CC, LD, AS etc. and the right combination of parameters to the configure script of --host, --build and --target, with a bit of work on PKG_CONFIG_PATH and --prefix to get things picked up from the right location and placed into the right place.

As I can't test the resulting builds as I lack a MIPS or x86 Android device, I can't verify if the resulting builds are good, hence this remains highly experimental. Your mileage may vary.

 Reply with quote  
Post Mon May 05, 2014 7:56 am 
 View user's profile Send private message
Sir^Knigget



Joined: 09 Dec 2012
Posts: 3
 

On what platform did you compile them?

I remember attempting to use the Android instructions on Mac OS X (a year ago), and they plainly failed to work, No matter how I tried to adjust them.

 Reply with quote  
Post Mon May 05, 2014 1:33 pm 
 View user's profile Send private message Send e-mail
digitall
ScummVM Developer


Joined: 02 Aug 2012
Posts: 941
 

Debian Linux. If you are having trouble using your OS, then I'd suggest doing the cross compilation in a VM using this.

The compilation instructions on the wiki are generally slightly out of date, especially with regards to building the optional library dependencies, but are better than nothing.

They should be taken as a guide covering any specific pitfalls, options needed and patches to the upstream required.

It is best to exercise some skill and judgement when following them, checking the wiki history for how old they are and exercising some judgement i.e. For SDL based ports, it is best to use the latest release of libSDL, rather than a specific version listed in the instructions... however the API has changed in v1.3 / v2.0 and has broken a number of v1.2 features, so we are pinned on the latest v1.2 API and releases for _MOST_ ports... except those where this has breakage or support for that platform was dropped... or the ones where they use v1.3 SVN releases prior to the drop of the API for newer platforms not present in v1.2, but before the point in SVN where the API was removed.

 Reply with quote  
Post Mon May 05, 2014 3:22 pm 
 View user's profile Send private message
digitall
ScummVM Developer


Joined: 02 Aug 2012
Posts: 941
 

A good example here with Android is that these instructions are intended for ARM only where the platform API targetted is version 4.

For MIPS and x86, you will need to target this to platform API 9... simply as support for MIPS and x86 does not _exist_ in earlier platforms.

So --sysroot=$ANDROID_NDK/platforms/android-4/arch-arm becomes --sysroot=$ANDROID_NDK/platforms/android-9/arch-x86 and so on...

The best references here would be for you to read the ScummVM configure, specifically the commits where I added the support for MIPS and x86 as that will show the changes necessary to GCC/binutils invocations needed to support this. The buildbot's master configuration file also shows how the toolchain environment is set up for this. Some extension is needed for the autotools/configure/Makefiles used by the various thirdparty library projects..

If you are familar with Unix shell code, makefiles and Python then reading these and sorting out the invocations for your local enivronment should be fairly easy.

 Reply with quote  
Post Mon May 05, 2014 3:32 pm 
 View user's profile Send private message
  Display posts from previous:      
Reply to topic

Forum Jump:
 



Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Powered by phpBB © 2001, 2006 phpBB Group
Forum design by ScummVM team, icons by raina
curved edge   curved edge