Data roaming off by default

Change-Id: I258ae1120cbcd2a500b825f6295087e68b245ae9
Inline kernel compilation

Change-Id: Iffe7504f342f75b88953488e7a4ce9c9f0009367
Improve ccache support by allowing host's ccache with compression support

Change-Id: I506cefa20e56a3c13d3a3c4c9d885ffa83400bb3
Add colors to build, adopted from CM commits:

  94bc5ec4 Tanguy Pruvot 2012-01-09
  531f4776 Tanguy Provot 2012-03-29
  b5632daa nebkat        2012-03-31
  cd5ea045 Chirayu Desai 2012-10-13

Change-Id: I41a34a9f47989161096e25485caa4e8fe04ecd99
Vendor named target and save manifest

Change-Id: Ib3c8b14fd18a4cb3ba8049fefa97fd223aaff528
Add target compiler version to build dump

Extracted from:
From 3aa446ddf25e05a59e5e55e228285104367b8768 Mon Sep 17 00:00:00 2001
From: aaronpoweruser <atlrudeboi1@gmail.com>
Date: Wed, 16 Jan 2013 18:38:54 -0800
Subject: [PATCH 026/122] Add optimization paramater to lunch

Change-Id: I642ad1268f04ce3278960dc7e138344feb3f8232
Enable configurable position independant code (PIE)

Extracted from following commit:
From d5c92630ff1dcd4b8e3abcf626bfbcb114f079a0 Mon Sep 17 00:00:00 2001
From: aaronpoweruser <atlrudeboi1@gmail.com>
Date: Fri, 26 Jul 2013 10:25:40 -0400
Subject: [PATCH 120/122] Clean up

Change-Id: I4477f8ebe806f220b228e720293009232f2ffead
Add support for -O3 optimisations

Commit is combination of the following commits and probably several more fixes

From 3c824fc5012ae29e717ff5d75f2e71d62e93b690 Mon Sep 17 00:00:00 2001
From: aaronpoweruser <atlrudeboi1@gmail.com>
Date: Thu, 13 Dec 2012 13:51:26 -0500
Subject: [PATCH 020/122] Enable 03

From 399cf57149b61acb17ee0ab030e78b9a2a1feaf3 Mon Sep 17 00:00:00 2001
From: aaronpoweruser <atlrudeboi1@gmail.com>
Date: Wed, 16 Jan 2013 17:52:50 -0800
Subject: [PATCH 025/122] Make gcc 4.6 default and non O3

From 3aa446ddf25e05a59e5e55e228285104367b8768 Mon Sep 17 00:00:00 2001
From: aaronpoweruser <atlrudeboi1@gmail.com>
Date: Wed, 16 Jan 2013 18:38:54 -0800
Subject: [PATCH 026/122] Add optimization paramater to lunch

From 4779524be1e3d00f5554dcd86ac5d47a2db1d670 Mon Sep 17 00:00:00 2001
From: tonyp <tonyptonyp@gmail.com>
Date: Sun, 2 Jun 2013 04:52:04 +0300
Subject: [PATCH 050/122] fix up the compiler flags for good

From d2da80614da4b4f8b9836abdb9d0dd1a1ec5ab95 Mon Sep 17 00:00:00 2001
From: aaronpoweruser <atlrudeboi1@gmail.com>
Date: Mon, 1 Jul 2013 12:30:12 -0400
Subject: [PATCH 087/122] Clean up compile flags

From d5c92630ff1dcd4b8e3abcf626bfbcb114f079a0 Mon Sep 17 00:00:00 2001
From: aaronpoweruser <atlrudeboi1@gmail.com>
Date: Fri, 26 Jul 2013 10:25:40 -0400
Subject: [PATCH 120/122] Clean up

Change-Id: I8f91bb4053bac03b638a01b5af8b95a1a2027987
Support complex toolchains

Instead of specifying the name of the toolchain and relying on arm-eabi-
use the entire path to the custom toolchain.

Add the following line to BoardConfig.mk to use the custom toolchain for kernel
For linaro:
TARGET_KERNEL_CUSTOM_TOOLCHAIN := linaro/bin/arm-linux-gnueabihf-

For GCC 4.4.3:
TARGET_KERNEL_CUSTOM_TOOLCHAIN := arm-eabi-4.4.3/bin/arm-eabi-

Add the following to slim.dependencies to get the toolchain project.

{
    "repository": "mnm9994u/prebuilt",
    "target_path": "prebuilt",
    "branch": "master"
},

Or add the following to your local_manifest

<project name="mnm9994u/prebuilt" path="prebuilt" remote="github" revision="master" />

Change-Id: I45ed019278a1f310d6abc4c7fbfa14ddc6d184b7

Conflicts:

	core/tasks/kernel.mk
build: don't clear recovery ramdisk

Clearing recovery ramdisk removes all files place there by the
device tree and all busybox symlinks placed there by recovery

Change-Id: I19e6164856a01a83a6e2c50ef96742edcb9f570f

Conflicts:

	core/Makefile
Add initial support for charge mode. also support recovery/root in the device tree to easily copy props into recovery images.

Change-Id: Icf773a49f2802e3b287b970a390339f1ba0c7aad

Conflicts:

	core/Makefile

Conflicts:

	tools/device/BoardConfig.mk.template
	tools/device/device.mk.template
	tools/device/mkvendor.sh

Conflicts:

	core/Makefile
Allow a device to generically define its own headers

We have a few cases of devices including specific versions of projects
just because of modified headers (msm_mdp.h comes to mind), and I just
had enough of ifdeffing header files for specific cases (the P990 needs
a lot of these).
Now... if a target defines a TARGET_SPECIFIC_HEADER_PATH, any headers in
there will take precedence over the standard ones; for example, on the
p990, I have

TARGET_SPECIFIC_HEADER_PATH := device/lge/p990/include

which makes, for example, the
device/lge/p990/include/hardware_legacy/AudioHardwareInterface.h be
used instead of
hardware/libhardware_legacy/include/hardware_legacy/AudioHardwareInterface.h
whenever a source file uses <hardware_legacy/AudioHardwareInterface.h>

Change-Id: I41b62668b60e3f62a6ebd3738d8d2675103a81e6a