path: root/README
authorPekka Paalanen <>2012-09-21 12:13:18 (GMT)
committer Pekka Paalanen <>2012-09-21 12:13:18 (GMT)
commit97cd25cc5bf82af9d1cab796fb13a4c028f148d0 (patch) (side-by-side diff)
treeb4fe7fde95e86859ad4b65277ce45cd936aa5a7d /README
parent15f58d7388a1f70b4350b8e35bd76b2fb6e47ab1 (diff)
readme: make it generic for the new build integrationHEADmaster
Remove Wayland specifics.
Diffstat (limited to 'README') (more/less context) (ignore whitespace changes)
1 files changed, 37 insertions, 78 deletions
diff --git a/README b/README
index 81728a2..b55be32 100644
--- a/README
+++ b/README
@@ -1,6 +1,6 @@
-This git module contains the necessary rules to auto-configure
-Wayland, Weston and their dependencies for Android, creating the
-Android build files.
+This git repository contains specifications used by the anagrman tool to
+create local_manifest.xml files with the specified modules (project bundles
+or feature packages).
The following instructions will guide you in downloading a complete Android
OS source tree, extract the firmware blobs, build, and install. If you need
@@ -10,10 +10,10 @@
1. Preparations:
- Get git:// ,
- use branch master, build wayland-scanner, and put it into
- your $PATH.
+ Get git://
+ From there you get the command 'anagrman' which is a python
+ script. It will be needed later for creating a local_manifest.xml.
Set up udev rules for Galaxy Nexus, as described in
@@ -25,19 +25,15 @@ so that you have the 'repo' command in your PATH.
2. Downloading:
-Download the wayland_aggregate, if you haven't already:
-$ git clone git://
-$ cd wayland_aggregate
-$ git checkout -b mybranch origin/android-4.0.1_r1.2-b
-$ cd ..
-Get the Android tree used for Samsung Galaxy Nexus, ITL41F:
+Get the Android tree used for Samsung Galaxy Nexus:
$ mkdir galaxy-nexus && cd galaxy-nexus
-$ repo init -u -b android-4.0.1_r1.2
-$ cd ..
+$ repo init -u git://
-Link in the local manifest:
-$ ln -s /path/to/wayland_aggregate/conf/local_manifest.xml galaxy-nexus/.repo/local_manifest.xml
+Select the modules you want with anagrman, a local_manifest.xml file is
+written in the current directory. This example selects wayland:
+$ cd .repo
+$ anagrman -m wayland
+$ cd ..
Fetch it all, this will take a while:
$ cd galaxy-nexus && repo sync -j2
@@ -110,17 +106,13 @@ into your device.
We assume you have executed Section 3, Environment setup.
-Generate Android build files, may take few minutes:
-$ cd galaxy-nexus
-$ make wayland-aggregate-configure
-NOTE: the configure target *must* always be made non-parallel, do not use -j here.
-Otherwise the configure interdependencies may fail.
-Then, build everything:
+To build everything:
$ m
-That will take several hours.
+That will take several hours. The build process will configure all
+projects that use autotools, and generate their Android makefiles. Due to
+this process, GNU Make will automatically reload all makefiles 2-3 times
+during the first build.
8. Installing
@@ -138,43 +130,18 @@ You install everything into your device by:
$ fastboot -w flashall
The device will reboot automatically, and afterwards you should
-have Weston on the screen with simple-touch. Don't worry if the
+have the new Android OS running in your device. Don't worry if the
device "spontaneously" reboots once more. That is just Android
-finalising the installation, but Weston does not know to show
-information about it.
-If nothing appears on screen in few minutes, something is wrong. See
-Appendix A, Troubleshooting.
- 9. Using the demos
-Simple-touch first appears as a light gray box. If you press volume-up key,
-it will maximise itself. Touch the box to draw. Due to a minor bug, the
-first touch will be ignored.
-Volume-up clears, volume-down changes color, and the power button
-immediately powers off the device (not press and hold, just a press).
-The screen is multitouch, and each simultaneous touch gets a different
-If you launch 'adb shell', you may start other demo apps:
-$ simple-shm
-$ clickdot
-$ flower
-However, these are not touch device aware, so you cannot interact with
-them. Launching them may also remove the keyboard focus from the simple-touch
-application, in which case you need to kill simple-touch and re-launch it to
-have it respond to keys again.
+finalising the installation.
+If nothing appears on screen in few minutes, something could be wrong.
+See Appendix A, Troubleshooting.
Appendix A. Troubleshooting:
If after building 'repo sync' fails with a dirty source tree, try
-$ make wayland-aggregate-reset
+$ make contrib-reset
If the command 'adb root' fails with "adbd cannot run as root in production
builds", verify that you chose a userdebug variant for 'lunch'.
@@ -186,31 +153,23 @@ If after installation, the device does not show anything on screen, try to
see what it is doing:
$ adb logcat '*:V'
-If you see:
-I//system/bin/weston( 2270): [09:28:46.417] Failed to find an EGL config.
-I//system/bin/weston( 2270): [09:28:46.417] EGL error state: EGL_SUCCESS
-I//system/bin/weston( 2270): [09:28:46.417] caught segv
-You most likely do not have the firmware properly installed in your Android
-source tree.
Appendix B. Special make targets:
- For ever git repo under this aggregate, runs the equivalent of
+ For every autotools project, run the equivalent of
'git reset --hard HEAD' and 'git clean -dxf'.
Does not remove any build products, that are outside the source
- trees (all Android build system products).
- Runs the clean-<module> targets for all modules under this
- aggregate. Needs a configured tree, as some cleaning rules
- come through androgenizer. Removes Android build system
+ trees (all Android build system products). Usually used with
+ contrib-clean as: 'make contrib-clean contrib-reset'
+ Runs the clean-<module> targets for all non-AOSP modules.
+ Note, that is not a special clean-up rule like 'clean' is.
+ If there are makefiles to generate, they will be generated,
+ before contrib-clean runs. Removes Android build system
products with the benefit of not wiping the whole out/.
- Prints some info, like configure, clean and reset targets,
- and found pkg-configs.
+ Prints some info, like configure variables
+ and found pkg-config packages.