Squashed Merge of Slim Build System into android-5.0

Thanks to SlimRoms Team for their awsome work

roomservice: initial  version for lp5.0

Change-Id: Ic49b976f40c016f0e5694242f14a260133ff8d77

add recovery and kernel changes

Change-Id: If3df3e1c286559bec15b0fab084941c939272b83

force file name tag value if building slim

Change-Id: Ic14ca77418d6596111f3ecaad26c601c551f0175

ignore duplicate prebuilt copy files

Change-Id: Id9be0c4114af7b2c372a702ade89a859163c080d

add bacon support

Change-Id: I9c8244d63d03aa74659d074e1e39fed76811c196

Misc additions pulled up from kk and patched for LP

Change-Id: Ib21e386301a3e5d6b69c6dfd34ee0d11e1e5033e

Add brunch and breakfast commands from CM

Change-Id: If8315cc22ac2d8cf10b4b3426a1a9c05d79da079

Allow Device Specific Headers

This allows a device to define its own headers compared to default

Conflicts:
	core/binary.mk

Change-Id: I6f9b836646f2ad812d73b3dd2a3bc81a3cebc3e3

Make the kernel image format parametric instead of a chain of if/elses

Change-Id: I54bfcdecb8647f7bcf744e72b2de19fcf4e4e7ac

Remove HomeSample from builds

As good as it looks, we already have a launcher (Launcher3)

Change-Id: I87cac70eec30fd62d6f7ecb7777caa9d240fe0ee

remove quicksearchbox

Change-Id: I7d2bd2a51544c7631b7ea728182f2d5f3b15b9ab

cm: Fix global selinux policy inclusion

We're adding slim-specific policies to an overlay instead of patching
external/sepolicy, so we need to make sure it's included to prevent
misbehaving systems

Change-Id: I7989a1093f9abc8360d492e73a860eb4afad10ad

kernel: Ignore errors with module building

Let kernel fully disable loadable modules

Change-Id: Ia37ec927b092c041ee4c68bf9fd0f28b7339c8ca

build:  Add USE_SET_METADATA tag

On some of the older devices the recovery doesn't support
metadata when setting permissions.  This allows to use
set_perm vs set_metadata you will need to set
USE_SET_METADATA := false inside your boardconfig.mk

oldChange-Id: Ib6cf97b5ca28cee8a87975231f3a61b156e77d29

Conflicts:
	core/Makefile

Change-Id: I52bf12a2a65b3cd069989b38e12d72d2decfbc0a

convert bash to python for the bootzip creator script

PS4: added fstab check and some cleanup

oldChange-Id: Icff7d5ac7e2b442f1ffe5c4c11e02aa0b18333f3

Conflicts:
	core/Makefile

Change-Id: Ic232d8d19a3ef5264eabd3299aee6678e7f500c6

build: Add QCOM target-specific config

 * Needed to support global DirectTract config on legacy targets
 * Let's also eliminate some boilerplate

Change-Id: I736c10a5e7e1f3d1e0de9e60f29b60add276f151

Conflicts:
	core/config.mk

Change-Id: I045669c262c8653e3bad53d60bf73cf7b4b70069

boot_flash_from_image: Strip kernel modules

Change-Id: I36168705cc71d10e1d9a4613207660d5bbf167b8

qcom_utils: Update list of QCOM_BOARD_PLATFORMS

Add msm8226 (Moto G) and other upcoming platforms
Change-Id: Icf895cbcf86791ca800636a1c0893b3a905a27a0

Conflicts:
	core/qcom_utils.mk

Change-Id: Icf895cbcf86791ca800636a1c0893b3a905a27a0

build: Fix cflags for QC targets

Change-Id: I2281bec3afb4d80e80845718d880dc24ef7baf32

build: use the system's ccache by default

ccache 3.x supports direct mode (http://ccache.samba.org/manual.html#_the_direct_mode)
This is not supported in the prebuilt version.
Direct mode has been shown to decrease build time compared to the ccache in prebuilts

Note: this will require your cache to be recreated

PS3:
  make it so you need to export USE_SYSTEM_CCACHE=1 to use system ccache
  allow custom CCACHE_BASEDIR
oldChange-Id: Ib146011a3330637c2d306d329fcb39cea058ff12

Conflicts:
	core/combo/select.mk

Change-Id: Iee698ee4caf46a73986b748dc38709023416da1f

Build: update qcom_utils.mk

Add build macro to determine Android Release

Adding platform sdk version 18 for JB MR2.

Change-Id: I79aa831ddd335bd14bd777506c210acc5d9960f1

Allow devices to specify certain ro. props via TARGET_UNIFIED_DEVICE

This modifies buildinfo.sh to not set model, name, description, and
fingerprint in build.prop. These can then be set via custom init
lib.
This also fixes ota_from_target_files to function without these
props being preset.

oldChange-Id: I945b2c38e60b207d2d0f82b34f4f230ac21b0657

Conflicts:
	core/Makefile
	tools/releasetools/ota_from_target_files

PS2: remove assert changes, we don't use it for some reason

oldChange-Id: I945b2c38e60b207d2d0f82b34f4f230ac21b0657

Conflicts:
	core/Makefile
	tools/buildinfo.sh
	tools/releasetools/ota_from_target_files

Change-Id: I2106dfee3d0a4bf20baf87ad85bd9c09c5648888

Don't force building recovery - fixing a 4.4.3 merge derp

Some devices don't have a recovery.img - for example, Xperia Z etc.
This patch comments this out, as it was before the automerge

Change-Id: Ib9c123437cd616551818d3d70d3ff5957ae207fe

build: Add ASCII logo to edify script

Less boring, don't you think?
                    _____________________
                   /     www.slimroms.net|
                  /                      |
                 /    ___________________|
                /    /    ___
               /    / ___/   \
              /    / /   \___/____   ____
             /    /  |   |___/    \_/    |
 ___________/    /   |   |   |           |
|               /    |   |   |   |   |   |
|              /     |   |   |   |   |   |
|_____________/      \___^___^___^___^___/

oldChange-Id: I8bbd68e5be18753fde34cd76f24038f5d0d3a190

Conflicts:
	tools/releasetools/ota_from_target_files

Change-Id: If241a0e91ecc34fc8ed5386dd7586aebbc3f1777

bootzip: fix up issues with bootzip creator

Allow for modules to be a symlink (as seen with qcom wlan)
If the kernel version is blank, call it Slim-*

Change-Id: Id85618437904cb6e2bcb8013f4c50577044ce344

bootzip: ensure symlink is created in the right directory

Change-Id: I20a41c0da29d2cb6ec842627189577954018655c

build: Add script to generate extra images

Change-Id: I53081c7a2b4f18bc8c8a27b04d311a6b078b2022

Use standard qcom naming

Change-Id: I360b3dcf1fe82140a7993189e881f9d77b571bef

[HAX] Allow per-target dtbTool

 * Revert this when fixed

Change-Id: I97ecb0448ae7bd5859454be290c5dde6248b2859

Generate extra userdata partition if needed

* To support variants of devices which may come in 16/32/64GB variants.

oldChange-Id: I74c32d8316f0450a1445fe95a95e5cabb7a9dd1b

Conflicts:
	tools/releasetools/build_image.py
	tools/releasetools/img_from_target_files

Change-Id: I36478a95ac87a5b6c928b77fa8b9e4be58018482

Add ro.slim.device for OTA porpuses

  * Due to unified builds disabling some id props, Slim OTA wasn't working
     working properly. Lets add a new prop just for our needs

oldChange-Id: Ic2b3acb3dd4944160449f228cb69ec2c9f08775c
Signed-off-by: Josue Rivera <prbassplayer@gmail.com>

Conflicts:
	tools/buildinfo.sh

Change-Id: I745e0aa9e58040dc672815b2bf591ca17a65b21c

Add ro.slim.model for OTA purposes

Change-Id: I5d4baf0548e098d629e900580758a6d582d3cc2b

add cortex-a5 cpu variant

oldChange-Id: I369e499d537888eb0f07d900cb50d1424632820e

Conflicts:
	core/combo/arch/arm/armv7-a-neon.mk

Change-Id: Iaaed16c5e2f0c3cde0a4791fb1ac5d9b1a9b444b

Apply correct, optimized mfpu compiler flag for ARMv7-A Cortex CPUs

For those ARMv7-A Cortex CPUs that can handle VFPv4 floating point,
We can set "-mfpu=neon-vfpv4" instead of generic "-mfpu=neon"
to gain extra performance improvements.

References :
 - GCC		: https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
 - Cortex A15	: http://www.arm.com/products/processors/cortex-a/cortex-a15.php
 - Cortex A9	: http://www.arm.com/products/processors/cortex-a/cortex-a9.php
 - Cortex A8	: http://www.arm.com/products/processors/cortex-a/cortex-a8.php
 - Cortex A7	: http://www.arm.com/products/processors/cortex-a/cortex-a7.php
 - Cortex A5	: http://www.arm.com/products/processors/cortex-a/cortex-a5.php

oldChange-Id: Id8b1a251234014ecf7ffbc1ae14455ed1726e028
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>

Conflicts:
	core/combo/arch/arm/armv7-a-neon.mk

Change-Id: Iad38fe5e66d72f96cc81d0d93050c538eb76152b

build: enable Welsh locale

oldChange-Id: I6af9a9f303fe3f82160206c1f8106a4f6be24cc1

Conflicts:
	target/product/languages_full.mk

Change-Id: I962b17111e6fc395b9e849aa54864342e82304d5

roomservice: set correct file permissions

Change-Id: I2e0aa658ec6a8c78460b718c4146b8d94a22b91c

Remove Launcher2

Change-Id: I6fdf9bf726f3fdc9a59cf4bf87dab18f6eb97a5f

Flag --block

This will prevent system being made as an image
for the final zip, and instead use the old file
based flash.

Change-Id: I51e8ef99675a5e14eb1a6cac734b5a0425ea05d7

core: main: remove all the spam about including make files

Change-Id: Ifd2ef0e239d16b169c572472416c2c31df62a367