[pulseaudio-discuss] [PATCH] build-sys: Add an Android-friendly build system
jjardon at gnome.org
Tue Nov 5 12:56:42 CET 2013
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).
Any reason for this not to be merged yet? I can confirm that it works
perfectly fine in our project here
Javier Jardón Cabezas
More information about the pulseaudio-discuss