[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