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

Arun Raghavan arun.raghavan at collabora.co.uk
Fri Nov 8 07:29:21 CET 2013


On Tue, 2013-11-05 at 11:56 +0000, Javier Jardón wrote:
> On 30 September 2013 03:50, Arun Raghavan <arun.raghavan at collabora.co.uk> wrote:
> > 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).
> 
> Hi!
> 
> Any reason for this not to be merged yet? I can confirm that it works
> perfectly fine in our project here

Not much other than seeking comments and me getting around to pushing
it. :)

Cheers,
Arun



More information about the pulseaudio-discuss mailing list