build: initial inline kernel building @rmcc and CM team
build: squash commits for Qualcomm's helper macros

build: Add Qualcomm's helper macros
 * This is used everywhere in Qualcomm's code. There's no reason we need
   to constantly replace it with uglier stuff in our Makefiles.

Change-Id: I0183a338470ec96a38f356a47bae65a0d3fb2c95

build: Add board platforms to qcom_utils
Change-Id: I85458167bf2b9c04b029d09b87bf791ff4cfd04d

build: Use common name for QCOM 7K boards.
This is needed to build QCOM HAL without external modifications. The
device would now have to specify msm7x27 or msm7x30 instead of
specifying the full name.

Patch Set 2: Add msm7x27a into the list.

Change-Id: I25018e397b5aad27fab5244731a574ae86752e17

build: update qcom_utils.mk
This is a combination of 2 commits.

commit 65849f5
Author: Jake Weinstein <xboxfanj@msn.com>
Date:   Sat Sep 14 13:10:43 2013 -0500

    Build: update qcom_utils.mk

    Add build macro to determine Android Release

    Adding platform sdk version 18 for JB MR2.

    Change-Id: I79aa831ddd335bd14bd777506c210acc5d9960f1

commit 677d8ef
Author: andrew.boren <andrew.boren@gmail.com>
Date:   Sat May 18 22:15:13 2013 -0700

    qcom_utils: Add qsd8k to qcom platforms

    PS2: fix typo

    Change-Id: Id85569d1dd7be2f4c0620827da6d89e63b658aa9

Change-Id: I58d70c079c6ec2c76ab7fc169664f1e4c55fb552

credits: cyanogen Blefish xboxfanj
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
envsetup: add a helper to fix "out/target/common" not being really common

* out/target/common isn't really common, and if you do
  back to back builds for multiple devices, that is noticable.
* Use out/target/common-$device instead, and link the appropriate
  dir to out/target/common every time lunch() is run, if
  ANDROID_FIXUP_COMMON_OUT is set.
* Refer https://groups.google.com/forum/#!topic/android-building/ispbOgzoyg8
  for more info.

Change-Id: I11e7df0e68e2a60ce32576f06397d60fc9465b60
Re-add ARCH_ARM_HAVE_TLS_REGISTER for armv7

OpenGL needs this flag for armv7

For more information :
https://github.com/androidarmv6/android_bionic/commit/7bc88df02f887229738b08fd7f7bd2668805f306
https://github.com/androidarmv6/android_frameworks_native/commit/4ffa795a3e9f2d2a26766147b1cfedbe78e823d4

Change-Id: Ib68c17e2f8dd3c8c15f8f3ea235fe25a46d05b6a
kernel.mk: Use standard toolchain paths

Change-Id: I1225fd05dcedcff03a1cf1102841cbd010b609cf