"LRX22D"
"LRX22E"
DO NOT MERGE.  Bump version to 5.0.2.

Change-Id: Ia6426dd03ac3b51061429b7da36e317bd3503775
"LRX22F"
LRX22G
Enabling sdiv support in ART

Added more target into ART instruction set feature look-up list

Change-Id: I0ea0097181e5c76507b8ca2a34cf37d2e2ca6403
releasetools: allow devices to specify a custom make_recovery_patch

Change-Id: I891660c1bf919b369afd4ff496fb6bab85dffe3f
Merge tag 'android-5.0.2_r1' into HEAD

Android 5.0.2 release 1
cmRemiX Version

(cherry picked from commit 2dd0017a59b5c1dda5fb3d7bd8bdd82ab8911255)

(cherry picked from commit ea066d046311c5b269f5358a8c64175378bb7b7a)

(cherry picked from commit d10bb8b792cb5dd08e229eacdad71579971cd828)

(cherry picked from commit 69254b6a5871536fc9fefcdcea5f6920515fa1eb)
Introduce New Squisher/Opticharger for Lollipop (2/2)

Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Change-Id: I02b41274179cdc1793794fb11780ea60774e6e41

(cherry picked from commit a4adf7ee978068605af225b16d4230159246e065)
(cherry picked from commit 3e40be981090a70ef3bd472b108764082034c19f)

(cherry picked from commit 3ffb8636a61b2d8b8f9977207c0e7f5e94fdc19d)

(cherry picked from commit 734d589ce19820278657100e5e93ee5b62598c4e)

(cherry picked from commit 50b852317f37dcd936865471ad85f560f5eb8df7)

(cherry picked from commit 6c6c101e56f43405a7946dde93845fd0f12f38d1)

(cherry picked from commit c62dd3b114fd14f848417093a30ec35e979ab1b7)
Add graphite flags

Change-Id: I482279c0b9448cb05d56ce183affa30a4ac7bd4f
Signed-off-by: Paul Beeler <pbeeler80@gmail.com>
Signed-off-by: Chet Kener <Cl3Kener@gmail.com>

(cherry picked from commit ca950e96a95a0fcd635a3ce405e4166a5baf44c0)

(cherry picked from commit 4074df79f62dcee6b1ea613a4356c0ca6274b09d)

(cherry picked from commit 1209b118143b4944e6f218e49360f31d8c82c58c)

(cherry picked from commit b356560877b85ce3f2d6aa5ab64dbb6c5de3f282)

(cherry picked from commit 697727100b9c63561cfa49d99290150df3f81ec9)
Update toolchain host versions

Change-Id: Ie70a0ae5eea43f48921eb4f9c2ee1c0e1f08d497
Signed-off-by: Paul Beeler <pbeeler80@gmail.com>
(cherry picked from commit 6b90e22a91560f6188a2bb6b83cc1a6a5d04e529)

(cherry picked from commit 5a9493c3cdb68fa46d7c11830d0f358665eb6bd1)

(cherry picked from commit 7cf32fdff25804794b31906251ca9c131b501aea)

(cherry picked from commit 8fb83558b8fd4d9aea4f6e96e658b3c5e78a18a4)
build: Add chromium prebuilt support. Working version with lollipop (Thanks omnirom )

(cherry picked from commit c70b1ec27ca6514be13246044ad976b9564381ad)

(cherry picked from commit d14bf47ac3d269ad373d854efcdcf22a4f1d9d68)
build: change style console output of prebuilt chromium

Change-Id: I2c390f3c64d614e181ebcad4e9711a93d9c55d44

(cherry picked from commit 1a03f568a12846de1270629f99eb974aefa7f3f2)

(cherry picked from commit d311e402b2f4af0199e6da0c7dd7fc856d20e37c)
Prebuilt chromium: Run a check for target device directory

this should fix the issue that arises if device fails and device is built again, chromium will error out because it thinks the prebuilt files exist (which they are not, directories are just created).

Signed-off-by: Ayysir <ayysir@aospal.com>
Change-Id: I595cab268e66c738ccae9900150b36d7f9626a6e

(cherry picked from commit 78e44765cb6d43fc23d78debaafff85b40ae03c4)

(cherry picked from commit e202d002c6d38966f97fdf1b8726bc15ac1e2303)
Update chromium_prebuilt.sh for 5.0

Change-Id: Idfd9b28f048447bf69b0f1c710b0ee354eff829a

(cherry picked from commit ae9233f184e941111356ca2af2b8a008bf5ca581)

(cherry picked from commit 2c71355fb8b39f515f7bc94690755eb7197f88e0)
build: Fix PreBuilt Chromium refs

Change-Id: Icc553d5be1e71d8c754bc85b6906252e5690b508

(cherry picked from commit 18538dcae770f33f6a802cd17e238b7f030d69b3)

(cherry picked from commit 5f9a93b21d470fb2c7656e0d8b86f3ca87178cd4)
Prebuilt chromium: Run a check for target device directory

this should fix the issue that arises if device fails and device is built again, chromium will error out because it thinks the prebuilt files exist (which they are not, directories are just created).

Signed-off-by: Ayysir <ayysir@aospal.com>
Change-Id: I595cab268e66c738ccae9900150b36d7f9626a6e

(cherry picked from commit cabd388bc2e55c83fd4103d93ecf595adb54e479)

(cherry picked from commit e8cac21a04f751b5a75761f56bfb6ba820a531ee)
build: Add chromium prebuilt support to envsetup.sh && The core Makefile

This adds a chromium_prebuilt function to envsetup.sh that is invoked by lunch to check
whether the chromium prebuilts are up-to-date or not. If not, it will be built from source
and then the new source built version will be pulled during brunch/mka bacon to become the
new prebuilts for future builds.

This is all opt-in through the USE_PREBUILT_CHROMIUM flag. Without it being set to 1,
none of this would be ran, and regular operations will go on.

PS13:
-use export TARGET_DEVICE
-replace git -C with params compatible to old git versions

Conflicts:
	core/Makefile
	envsetup.sh

Change-Id: Ia040423e90abc2ef647717a41d9d972bd90ba780
(cherry picked from commit 552d536b2645c5b54fc49976105a51564fcff61b)

Conflicts:
	core/Makefile

(cherry picked from commit 650ddff8c3cd8f7b173dc68ce6d3c14119ab9c1b)

(cherry picked from commit 06242841b001d5d9acc1eb1226f3244035b8a37a)

(cherry picked from commit 793f82ef78c60436e47445905466a7cdbd74779d)

(cherry picked from commit 414fa4b276394d60c3673e2c45148485563fe660)
Build: Add Custom Toolchain Support

(cherry picked from commit 75dab12fd829083afdf3e491e2955373fb9f7e99)
build: Show more hardware information about the device [3/3]

Change-Id: Ie64821ac0b8a2cf66b25205f6518449930bcb597

Conflicts:
	tools/buildinfo.sh

(cherry picked from commit 8d350ab0e1eb8663933a2ff4674783db1300100b)

(cherry picked from commit bba63d4ec4e5660f8c7dd77ded8f7a6f0494dec4)

(cherry picked from commit 9ac8fa5cc3503753df43059eee38044da8f17d3f)

(cherry picked from commit 8e2321dd3b8e58c0d96b6e431bb8fdb53ed091eb)
Format system partition before installing ROM

(cherry picked from commit 5f942f1351f3f62ad6b22e3ff5dc29f78b0e350d)
Do not use mkf2fsuserimg.sh if we have two fs in fstab, for example:

/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          ext4    noatime,nosuid,nodev,barrier=1,data=ordered                     wait,check
/dev/block/platform/msm_sdcc.1/by-name/cache        /cache          f2fs    flush_merge,noatime,background_gc=off,inline_xattr,active_logs=2                     wait,check
/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           ext4    noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc     wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/encrypt
/dev/block/platform/msm_sdcc.1/by-name/userdata     /data           f2fs    flush_merge,noatime,background_gc=off,inline_xattr,active_logs=2     wait,check,encryptable=/dev/block/platform/msm_sdcc.1/by-name/encrypt

(cherry picked from commit 677998cade56f733b08dd81c2e6551fb8bff2c17)

(cherry picked from commit e63a2113e52519bc3ed85daf93e6b32e68ae3b40)

(cherry picked from commit 1e8fe4f49a7a5e63eb2be17d22c4028d0e5c383a)

(cherry picked from commit d7a5c15719bfc9ef6f093a2e8115955e0b69d94a)

(cherry picked from commit b094db10b7d0dae69d8b765eca7a814ee88a95d4)
LTO, GNU11++, STRICT ALIASING

(cherry picked from commit 468e9983b66b53594942c215051bf9c60e88f38f)

(cherry picked from commit 4bfe8f1f119588670e30d47e183c5753de60d327)
Address armv7-a-neon config issues

1) CM by default removes krait from cortex-a15 but if you look at Google build master branch they leave this note about how it is needed so that hardware divide operation are generated. This should resolve that issue.
2) It turns out that krait/cortex-a15 support LPAE but it is not enabled unless we fake this flag here.  This is also from Google build Master Branch.
3) I noticed that --fix-cortex-a8 is being applied to all cpu varients which makes no sense so I've moved that option under cortex-a8 where it should be (at least in my opinion where it should be)

Signed-off-by: Chet Kener <Cl3Kener@gmail.com>
Change-Id: I3aa5266dab8ab23267623ca936f771edbae2c9a8

(cherry picked from commit 1ba9340de5ec5a103036e14b5e07a493c7d4991f)

(cherry picked from commit 0b0dcd4bb25af702ef1102dd074b374c4bdef519)
Allow defining multiple GCC O Levels [1/2]

Available GCC Optimization Levels
    -Os
    -O2 (Default)
    -O3

PS2: Derp fix
PS3: Derp fix 2.0

(cherry picked from commit 988968e33a13fca5006328e536a2f89f6a764e30)

(cherry picked from commit 6f3cf6ed671c94433aea45e2b32a435298eda65b)