Merge tag 'android-4.4.2_r2' of https://android.googlesource.com/platform/build into kk

Android 4.4.2 Release 2

Conflicts:
	core/build_id.mk
Merge branch 'kk-ras-mr1.2_r2' of https://github.com/rascarlo/android_build into kk

Conflicts:
	core/build_id.mk
Add support for make 4.0 and openjdk/java7
Backup tool support

Conflicts:
	tools/releasetools/ota_from_target_files
Squashed: Inline kernel building

Kernel image integration is now done in the build system. The
"one true way" of doing this is to download the kernel source
into kernel/TARGET_BOOTLOADER_NAME (by usage of the cm.dependencies
mechanism or otherwise), and defining the TARGET_KERNEL_CONFIG
variable in the device's BoardConfig makefile

If the kernel's location doesn't match the automagic location
(multi-device kernel source, for instance), TARGET_KERNEL_SOURCE
can be used to specify a kernel path (i.e.,
"TARGET_KERNEL_SOURCE := kernel/shared-whatever")

If the device requires out-of-kernel-tree modules to be built,
the TARGET_KERNEL_MODULES variable can be used, pointing to a
_make target_ that will build and install such modules. Definition
of such a target is the device author's responsibility, the only
restriction is that it is a normal makefile recipe (example
below)

Optionally (or as an alternative), a prebuilt binary can also be
defined at BoardConfig, by usage of the TARGET_PREBUILT_KERNEL
variable. This binary will be used if the kernel source is absent
(or undefined).

A minimal BoardConfig.mk should look something like this:

TARGET_KERNEL_CONFIG := cyanogenmod_<device>_defconfig
TARGET_PREBUILT_KERNEL := device/<vendor>/<device>/kernel

To include, for example, the TI WLAN modules, this can be used:

-----------------------------
TIWLAN_MODULES:
       make -C hardware/ti/wlan/wl1283/platforms/os/linux/ KERNEL_DIR=$(KERNEL_OUT) ARCH="arm"
CROSS_COMPILE="arm-eabi-" TNETW=1273 RANDOM_MAC=n REPORT_LOG=n
       mv hardware/ti/wlan/wl1283/platforms/os/linux/tiwlan_drv.ko $(KERNEL_MODULES_OUT)
       make -C hardware/ti/wlan/wl1283_softAP/platforms/os/linux/ KERNEL_DIR=$(KERNEL_OUT) ARCH="arm"
CROSS_COMPILE="arm-eabi-" TNETW=1273 REPORT_LOG=n
       mv hardware/ti/wlan/wl1283_softAP/platforms/os/linux/tiap_drv.ko $(KERNEL_MODULES_OUT)

TARGET_KERNEL_MODULES := TIWLAN_MODULES
---------------------------

Change-Id: I8634fa4c788a42dc6f62e62ca170825b66db126a

Fix

Don't build MusicFX

envsetup: set OUT_DIR to an absolute path always

OUT_DIR was set to $(TOPDIR)out previously,
but $(TOPDIR) was null, so it was a relative path.
This broke releasetools, inline kernel building, etc
since they require absolute paths.
Fix it so that it is set to $(shell readlink -f .)/out
if $(TOPDIR) is null.

Also remove hacks which checked if (OUT_DIR) was out
and changed it to $(ANDROID_BUILD_TOP)/out to workaround
the aforementioned problem.

Change-Id: I459a3b1325a1bbea0565cd73f6acf160d4ed9b39

Conflicts:
	core/base_rules.mk
	core/tasks/kernel.mk

Change-Id: I52a7a6024f0f2b708c230e53c0152ed138726cc1

kernel.mk: Use standard toolchain paths

Change-Id: I1225fd05dcedcff03a1cf1102841cbd010b609cf

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

Change-Id: I54bfcdecb8647f7bcf744e72b2de19fcf4e4e7ac

Not needed

Conflicts:
	target/product/generic_no_telephony.mk
Fixes for gcc 4.8+
O3 optimizations + roomservice typo fix

Conflicts:
	tools/roomservice.py
Use Linaro 4.7 for now
Change to 4.8 & Add more flags
Change to -O3
Remove compiler flags

It causes errors especially in clang.
GCC Freedom

Based on this commit: https://github.com/ModdedPA/android_build/commit/bb921bab55265e9494305747f3d2ac9cfc73f075
Show ARM & AND GCC version in build startup
Add the Custom Toolchain Triggers
Some compiler flags changes
Fix build
Partially revert "Some compiler flags changes"

I thought these changes causes the bootloop to occur, but we had a fix now.
Revert "Partially revert "Some compiler flags changes""

This reverts commit 2466d5f3bc828cdcabd2129c1f99c898f3d5308b.
Change to -O3 and add more flags
Add graphite support