Some comments<br><br><div class="gmail_quote">On Sat, Mar 14, 2009 at 1:56 AM, Edward Hervey <span dir="ltr"><<a href="mailto:bilboed@gmail.com">bilboed@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Hi all,<br>
<br>
* GIT repositories<br>
<br>
I have finally taken time to cleanup my repositories and patches.<br>
<br>
All the repositories are located here (the ones starting with<br>
android-) : <a href="http://cgit.freedesktop.org/%7Ebilboed/" target="_blank">http://cgit.freedesktop.org/~bilboed/</a><br>
<br>
These repositories share all the commits from the upstream official<br>
git repositories.<br>
glib : git://<a href="http://git.gnome.org/preview/glib" target="_blank">git.gnome.org/preview/glib</a><br>
liboil : git://<a href="http://anongit.freedesktop.org/git/liboil" target="_blank">anongit.freedesktop.org/git/liboil</a><br>
gst* : git://<a href="http://anongit.freedesktop.org/git/gstreamer/gst*" target="_blank">anongit.freedesktop.org/git/gstreamer/gst*</a><br>
build : git://<a href="http://android.git.kernel.org/platform/build.git" target="_blank">android.git.kernel.org/platform/build.git</a><br>
<br>
This makes it much easier to 'rebase' the android patches against a<br>
newer release or commit.<br>
<br>
These repositories only contain, so far, the patches that were on the<br>
google groups site. I splitted them up into individual commits, in order<br>
to make it easier to push upstream what can be pushed upstream and leave<br>
alone what can't be pushed upstream.<br>
<br>
I have also modified the makefiles so that you no longer need to put<br>
them in a subdirectory in external, but directly in external (like all<br>
the other external projects).<br>
<br>
To check them out (once you've already checked out the full build<br>
system and done repo sync), do the following:<br>
<br>
$ cd external/<br>
$ for i in glib liboil gstreamer gst-plugins-base gst-plugins-good<br>
gst-plugins-bad; do git clone<br>
git://<a href="http://anongit.freedesktop.org/%7Ebilboed/android-$i" target="_blank">anongit.freedesktop.org/~bilboed/android-$i</a> $i; done<br>
<br>
I have also got a 'build' repository, currently containing the prelink<br>
patch.<br>
You can check it out as follow:<br>
</blockquote><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
$ cd build/<br>
$ git remote add fdo<br>
git://<a href="http://anongit.freedesktop.org/%7Ebilboed/android-build" target="_blank">anongit.freedesktop.org/~bilboed/android-build</a><br>
$ git checkout -b gst fdo/master<br>
</blockquote><div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
From that point on, just build android as you normally would and it<br>
will build/install the libraries/plugins.<br>
<br>
<br>
* Auto-generated .c/.h files<br>
<br>
Apart from the Android.mk files, the only thing required to compile<br>
several libraries/plugins are files that are generated by the standard<br>
autotools system at build/dist time.<br>
<br>
We have been thinking lately with Zaheer (who ported gstreamer to S60<br>
[1]) that we should have a common location for all the .c/.h files<br>
generated at build/dist time.<br>
Currently we have some files for the win32 build system in win32/, but<br>
we need to make this more generic. Maybe have a generated/ directory in<br>
GStreamer containing those files.<br>
This could help solve a big chunk of the non-standard build systems.<br>
</blockquote><div>[Prajnashi S] <br>Good. This is also a pain for me. <br><br>I want to know how community handle above c/h in win release?<br>Do they re-generate these files?<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
<br>
* plugins are not libraries<br>
<br>
All the plugins are currently using the build/core/<a href="http://shared_library.mk" target="_blank">shared_library.mk</a><br>
makefile ... which results in those libraries ending up in /system/lib<br>
in the target.<br>
This is painful for many reasons. Plugins aren't 'standard' shared<br>
libraries:<br>
* They don't need to be prelinked<br>
* They are not imported at link time<br>
* When scanning for plugins (with GST_PLUGIN_PATH=/system/lib), we end<br>
up with a *lot* of non-plugins. They should be in a separate directory,<br>
like /system/gst-plugins.<br>
<br>
I'm currently investigating a modification to the build/ system to add<br>
the notion of plugins so that we can just use '<a href="http://plugin.mk" target="_blank">plugin.mk</a>' in every<br>
plugin directory and have the problems above solved. I'll keep you<br>
updated on this progress and will push it to my android-build git<br>
repository.<br>
<br>
<br>
* android-gst manifest<br>
<br>
The only thing left to bring everything together is to setup a<br>
manifest specifying all the afore-mentionned git repositories/branches.<br>
I'll look into it.<br>
<br>
<br>
* It runs on the G1<br>
<br>
Yes, setup the build system as you would for the G1 [2], checkout the<br>
repositories/branches mentionned above, run 'make' from the toplevel<br>
directory and then flash your phone with it... and it works :)<br>
<br>
<br>
* Comments and feedback...<br>
<br>
... are most welcome as usual !<br>
<br>
Edward<br>
<br>
[1] <a href="http://zaheer.merali.org/articles/2009/03/11/gstreamer-port-to-s60/" target="_blank">http://zaheer.merali.org/articles/2009/03/11/gstreamer-port-to-s60/</a><br>
[2] <a href="http://source.android.com/documentation/building-for-dream" target="_blank">http://source.android.com/documentation/building-for-dream</a><br>
<div><div></div><div class="h5"><br>
<br>
On Wed, 2009-03-04 at 23:17 -0800, bilboed wrote:<br>
> Hi all,<br>
><br>
> I've been using the various patches to build GStreamer for Android<br>
> on the emulator and also on a dev G1 phone and it works great !<br>
><br>
> I've cleaned/splitted up the various patches into smaller commits in<br>
> git repositories I have locally.<br>
><br>
> What I can do is push upstream the various commits that can actually<br>
> go upstream (like the parts to make libiconv/gettext optional for<br>
> glib).<br>
><br>
> Then ideally, we should create some 'public' git repositories to<br>
> easily integrate all of this in a android build. There are many free<br>
> git hosting places available to host that (github, gitorious, or we<br>
> could even have those repositories at freedesktop alongside the<br>
> official gstreamer repositories !). But in the long run, we should<br>
> make this as easy as 'repo init -u <gstreamer-manifest-file> && make'.<br>
><br>
> I'll try to put my repositories online as soon as possible.<br>
><br>
> The easier we make it for people to try/use a gstreamer-based<br>
> android, the better it will be for us all (more feedback, more<br>
> contributors, maybe even tempting some companies to switch to<br>
> gstreamer for Android?)<br>
><br>
> Comments welcome,<br>
><br>
> Edward<br>
><br>
> P.S. For those wondering, I'm one of the GStreamer developers,<br>
> therefore very interested to push this as hard as possible :)<br>
> ><br>
<br>
<br>
--~--~---------~--~----~------------~-------~--~----~<br>
You received this message because you are subscribed to the Google Groups "prajnashi" group.<br>
To post to this group, send email to <a href="mailto:prajnashi@googlegroups.com">prajnashi@googlegroups.com</a><br>
To unsubscribe from this group, send email to <a href="mailto:prajnashi%2Bunsubscribe@googlegroups.com">prajnashi+unsubscribe@googlegroups.com</a><br>
For more options, visit this group at <a href="http://groups.google.com/group/prajnashi?hl=en" target="_blank">http://groups.google.com/group/prajnashi?hl=en</a><br>
-~----------~----~----~----~------~----~------~--~---<br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>-- Prajnashi S<br>