am bce007aa: Merge "Document the emulator issue on MacOS 10.7 / XCode 4."

* commit 'bce007aa754159a3c4b3894c581c53940ebc2e08':
  Document the emulator issue on MacOS 10.7 / XCode 4.
diff --git a/src/source/build-numbers.md b/src/source/build-numbers.md
index 3c54f0c..1e782b7 100644
--- a/src/source/build-numbers.md
+++ b/src/source/build-numbers.md
@@ -41,7 +41,7 @@
 Honeycomb        | 3.1           | API level 12, NDK 6
 Honeycomb        | 3.2.x         | API level 13
 IceCreamSandwich | 4.0.1 - 4.0.2 | API level 14, NDK 7
-IceCreamSandwich | 4.0.3         | API level 15
+IceCreamSandwich | 4.0.3 - 4.0.4 | API level 15
 
 Starting with Cupcake, individual builds are identified with a short
 build code, e.g. FRF85B.
@@ -109,7 +109,9 @@
 ITL41F | android-4.0.1_r1.2 | Galaxy Nexus
 ICL53F | android-4.0.2_r1   | Galaxy Nexus
 IML74K | android-4.0.3_r1   | Nexus S
-IML77  |                    | latest IceCreamSandwich version
+IML77  | android-4.0.3_r1.1 |
+IMM76  | android-4.0.4_r1   |
+IMM76D | android-4.0.4_r1.1 | Nexus S, latest IceCreamSandwich version
 
 The branches froyo, gingerbread, ics-mr0, ics-mr1, represent development
 branches that do not exactly match configurations that were tested
diff --git a/src/source/building-devices.md b/src/source/building-devices.md
index 5ab3409..5183b63 100644
--- a/src/source/building-devices.md
+++ b/src/source/building-devices.md
@@ -139,15 +139,15 @@
 The recommended builds for the various devices are available through
 the lunch menu, accessed when running the `lunch` command with no arguments:
 
-Device   | Branch           | Build configuration
----------|------------------|------------------------
-maguro   | android-4.0.3_r1 | full_maguro-userdebug
-panda    | master           | full_panda-userdebug
-wingray  | android-4.0.3_r1 | full_wingray-userdebug
-crespo   | android-4.0.3_r1 | full_crespo-userdebug
-passion  | android-2.3.6_r1 | full_passion-userdebug
-sapphire | android-2.2.3_r1 | full_sapphire-userdebug
-dream    | android-2.2.3_r1 | full_dream-userdebug
+Device   | Branch             | Build configuration
+---------|--------------------|------------------------
+maguro   | android-4.0.4_r1.1 | full_maguro-userdebug
+panda    | master             | full_panda-userdebug
+wingray  | android-4.0.4_r1.1 | full_wingray-userdebug
+crespo   | android-4.0.4_r1.1 | full_crespo-userdebug
+passion  | android-2.3.7_r1   | full_passion-userdebug
+sapphire | android-2.2.3_r1   | full_sapphire-userdebug
+dream    | android-2.2.3_r1   | full_dream-userdebug
 
 ## Flashing a device ##
 
@@ -199,6 +199,7 @@
 2.3.5 (GRJ90)   | I9020XXKA3           | I9020XXKF1      | All previous versions
 2.3.6 (GRK39F)  | I9020XXKA3           | I9020XXKF1      | All previous versions
 4.0.3 (IML74K)  | I9020XXKL1           | I9020XXKI1      | All previous versions
+4.0.4 (IMM76D)  | I9020XXKL1           | I9020XXKI1
 
 Nexus S (850MHz version "UC"):
 
@@ -210,6 +211,7 @@
 2.3.6 (GRK39C)  | I9020XXKA3           | I9020UCKF1      | All previous versions
 2.3.6 (GRK39F)  | I9020XXKA3           | I9020UCKF1      | All previous versions
 4.0.3 (IML74K)  | I9020XXKL1           | I9020UCKF1      | All previous versions
+4.0.4 (IMM76D)  | I9020XXKL1           | I9020UCKJ1      | All previous versions
 
 Nexus S (Korea version "KR"):
 
@@ -220,6 +222,7 @@
 2.3.5 (GRJ90)   | I9020XXKA3           | M200KRKC1       | All previous versions
 2.3.6 (GRK39F)  | I9020XXKA3           | M200KRKC1       | All previous versions
 4.0.3 (IML74K)  | I9020XXKL1           | M200KRKC1       | All previous versions
+4.0.4 (IMM76D)  | I9020XXKL1           | M200KRKC1       | All previous versions
 
 Galaxy Nexus (GSM/HSPA+):
 
@@ -228,6 +231,7 @@
 4.0.1 (ITL41D)  | PRIMEKJ10            | I9250XXKK1
 4.0.2 (ICL53F)  | PRIMEKK15            | I9250XXKK6      | All previous versions
 4.0.3 (IML74K)  | PRIMEKL01            | I9250XXKK6      | All previous versions
+4.0.4 (IMM76D)  | PRIMEKL03            | I9250XXLA02     | Versions from 4.0.2
 
 If you're building a new version of Android, if your Nexus S or
 Galaxy Nexus has
diff --git a/src/source/cla-corporate.pdf b/src/source/cla-corporate.pdf
new file mode 100644
index 0000000..09dc022
--- /dev/null
+++ b/src/source/cla-corporate.pdf
Binary files differ
diff --git a/src/source/licenses.md b/src/source/licenses.md
index 9d5bc1f..0405e84 100644
--- a/src/source/licenses.md
+++ b/src/source/licenses.md
@@ -44,7 +44,7 @@
 
 For a *corporation* (or other entity) that has assigned employees to
 work on the Android Open Source Project, a [Corporate
-Contributor License Grant](cla-corporate.html) is available. 
+Contributor License Grant](cla-corporate.pdf) is available. 
 This version of the grant allows a
 corporation to authorize contributions submitted by its designated employees
 and to grant copyright and patent licenses. Note that a Corporate Contributor
diff --git a/src/source/submit-patches.md b/src/source/submit-patches.md
index 11d3579..07bcbe6 100644
--- a/src/source/submit-patches.md
+++ b/src/source/submit-patches.md
@@ -176,7 +176,26 @@
 # Upstream Projects #
 
 Android makes use of a number of other open-source projects, such as the Linux kernel and WebKit, as described in
-[Branches and Releases](/source/code-lines.html). For the upstream projects detailed below, changes should be made directly upstream. Such changes will be incorporated into the Android tree as part of the usual process of pulling these projects.
+[Branches and Releases](/source/code-lines.html). For most projects under `external/`, changes should be made upstream and then the Android maintainers informed of the new upstream release containing these changes. It may also be useful to upload patches that move us to track a new upstream release, though these can be difficult changes to make if the project is widely used within Android like most of the larger ones mentioned below, where we tend to upgrade with every release.
+
+One interesting special case is bionic. Much of the code there is from BSD, so unless the change is to code that's new to bionic, we'd much rather see an upstream fix and then pull a whole new file from the appropriate BSD. (Sadly we have quite a mix of different BSDs at the moment, but we hope to address that in future, and get into a position where we track upstream much more closely.)
+
+## ICU4C ##
+
+All changes to the ICU4C project at `external/icu4c` should be made upstream at
+[icu-project.org/](http://site.icu-project.org/).
+See [Submitting ICU Bugs and Feature Requests](http://site.icu-project.org/bugs) for more.
+
+## OpenSSL ##
+
+All changes to the OpenSSL project at `external/openssl` should be made upstream at
+[openssl.org](http://www.openssl.org).
+
+## V8 ##
+
+All changes to the V8 project at `external/v8` should be submitted upstream at
+[code.google.com/p/v8](http://code.google.com/p/v8). See [Contributing to V8](http://code.google.com/p/v8/wiki/Contributing)
+for details.
 
 ## WebKit ##
 
@@ -187,9 +206,7 @@
 attention once a proposed fix is added and tests are included. See
 [Contributing Code to WebKit](http://webkit.org/coding/contributing.html) for details.
 
-## V8 ##
+## zlib ##
 
-All changes to the V8 project at `external/v8` should be submitted upstream at
-[code.google.com/p/v8](http://code.google.com/p/v8). See [Contributing to V8](http://code.google.com/p/v8/wiki/Contributing)
-for details.
-
+All changes to the zlib project at `external/zlib` should be made upstream at
+[zlib.net](http://zlib.net).