[pulseaudio-discuss] [PATCH] build-sys: Add an Android-friendly build system

Arun Raghavan arun.raghavan at collabora.co.uk
Sun Sep 29 19:50:22 PDT 2013


On Sun, 2013-09-29 at 20:43 +0200, Thomas Martitz wrote:
> Am 29.09.2013 14:22, schrieb Arun Raghavan:
> > Some notes:
> >
> > * This depends on 'androgenizer', a tool to generate Android-style
> >    Android.mk files from an autotools build system.
> >
> > * This assumes that PA is run as the system daemon and configures
> >    accordingly.
> >
> > * In the Android build, libltdl is likely not available when configure
> >    is being run, and we know it will be so the check is manually
> >    overridden.
> >
> > * NEON support needs to be communicated from an upper-level Android.mk.
> >
> > * rpaths don't work on Android - you need LD_LIBRARY_PATH set.
> >
> > * Configuration files for /etc/pulse are shipped out of tree, since they
> >    vary from device to device.
> >
> > * The original patch was massive and ugly, but thanks Pekka Paalanen's
> >    work on Weston to break out common androgenizer snippets, we could
> >    greatly decrease the size of the Android-specific elements.
> >
> > * Since we don't use libtool for linking, we need to work around some
> >    symbol definition problems that turn up. This is done in a separate
> >    file (pulseaudio-android-symdef.c). More information about this at:
> >    http://www.sourceware.org/autobook/autobook/autobook_173.html (the
> >    example snippet needs some fixing to work with current libtool).
> 
> 
> Is the lot of those changes just so you can use the "ndk-build" command? 
> You know you don't have to use it for android stuff, you can keep using 
> existing/traditional build systems. We at Rockbox use our original 
> make-based build system in the same way as for all other ports, with the 
> exception that the final output is a .so file. This basically just 
> required passing -shared on the final linker cmdline. The point is that 
> we don't use ndk-build anywhere and this kept the required changes to 
> our build system at a minimum.

This is not for the NDK - it actually lets you integrate PA into an AOSP
tree, and then build a system image more ore less as you otherwise would
(with one preprocessing step that can be done away with).

I do hope that this can be reused for easy integration into an ndk-build
tree as well, but this is not the main objective. Doing so would make
sure all your NDK bits are built with the same flags (this isn't such a
big deal, just a nice-to-have).

-- Arun



More information about the pulseaudio-discuss mailing list