build: qcom: Set QCOM_*_PATH variables for hardware/qcom-* projects

This consolidates a bunch of one-off logic scattered throughout the
code base.  Usage in Android.mk files is trivial:

At top level, use e.g. "ifeq ($(call my-dir),$(QCOM_AUDIO_PATH))".
This works for all variants, including non-variants (i.e. AOSP).

Within subdirs, use e.g. hardware/qcom/audio => $(QCOM_AUDIO_PATH)

Change-Id: Iee2497ea9a7efeb4ae9e861b84c532b19da7b69d
build: Introduce project pathmap and use it for qcom variants

The project pathmap tracks the path to the top level of a project.  The
following functions are provided:

 * project-set-path adds an entry.
 * project-set-path-variant adds a "variant" entry.
 * project-path-for retrieves an entry.

To use as a guard in Android.mk:

  ifeq ($(call my-dir),$(call project-path-for,projectname))

To use for include paths in Android.mk:

  LOCAL_C_INCLUDES += $(call project-path-for,projectname)/...

Set project pathmap for qcom project variants.

Change-Id: I8dceca72a1ba80fc7b1830c5ab285d444f530457
build: Set QCOM variants for non-QCOM_HARDWARE defined targets

* Nexus devices and others typically do not define the QCOM_HARDWARE
  flag, so the variant path should always default to the AOSP variant.
* Unconditionally set the variant to the AOSP HAL by default.

Change-Id: I714170897128f92718af266366cfcbf3136e8981
build: Add "dtbs" target when building the kernel

 * This is needed for 3.10

Change-Id: I4044ea9e67017452efc25097a3327141a6627c24
repopick: allow specifying a topic to pick all commits from

Change-Id: I4fb60120794a77986bf641de063a8d41f4f45a23
make rules for building on OSX 10.9 (Mavericks) and 10.10 (Yosemite B4)

Change-Id: I8dfc5c4148dec7f8badc814acfb32ea41e8f24d2
build: Use project pathmap for recovery

Change-Id: I6339ac77b899a43db21261d587252b65cb58ad79
Revert "Add the keys I used to sign the market version of Superuser."

These are obsolete.

This reverts commit 0f15d18a50d721faa8dee67f763405354025e25a.

Change-Id: I645686c5049f8651e99c95f2b775aaae2cca1f3a
build: recovery: Remove INTERNAL_RECOVERY_FILES

INTERNAL_RECOVERY_FILES picks up all packages that install files into
TARGET_RECOVERY_OUT.  This is not necessarily desirable and circumvents
the normal PRODUCT_PACKAGES mechanism.

Change-Id: I66f38a6afed7ade19a50a321d3b2d197137ba3a7
Related: http://review.cyanogenmod.org/#/c/74243/
releasetools: Properly handle custom values for tools

Rather than writing these values to their own files, store them
in the target_files META/misc_info.txt. This way, we don't need to
download and parse through multiple files when using signing/release
tools.

Change-Id: I6f845fc055e4ef2ed4adf9628cca505e99b2a9fa
KTU84Q
build: Disable Tamil locale

With only 3% approved in CM project and 1% on AOSP project
in the past 5 months, this is a no-go

Change-Id: I0c9d31d5737a2191e9a425b9de98ca659071ad7d
ota: Make sure we don't install on top of an incompatible system

If the system has data present, make sure said data doesn't depend
on a system signature different from our own. If we can't find
our platform key, abort the installation

Change-Id: I16572daf9464de326a9d0d126597cfbf03208f94
build: Store the jenkins build number in misc_info

If the jenkins build number is available, list it as build_number in
the misc_info.txt file.

Change-Id: I6500c6b53661f2904dff738d25d8a8d24a7dca80
Specify -mcpu=cortex-a15 for krait CPU variants.

Bug: 11178216

Change-Id: I9922e4cd5ba27e3857798aae5c84299e26e054ea
build: Store no_separate_recovery flag in misc_info

This may be needed during a signing process.

Change-Id: I0ab6f0e615f64c0529e605c2fa62fabf1b1ec52b
build: Handle boot images with custom makefile properly

When a pre-built image should be used, it should be stored in the
target files zip so that it can be used with external signing
processes.

Change-Id: I2661af9ac58af30bb9314b552775046d3abf44e0
Fixed mounting /system when 'override_prop' is enabled.

Change-Id: I59f035498c2a2d65869cb7f7e6ea9e311b9757be
Edify: Add AssertSomeBaseband

Allow releasetools.py to assert a baseband version. Works just like
AssertSomeBootloader.

Change-Id: Ic8eb341cef1d777d983be25ba21a3bc545819c29
ota_from_target_files: Validate signatures after possible data wipe

If the data is being wiped, we want to validate the signature after
this step. This is also a good check that the data wipe succeeded.

Change-Id: Iaecfddfb2010944de0c97e7bb21d8e581f20deec