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

Add new version to qcom_utils.mk

Change-Id: I1ca1532fd4968450715ecd0cca7729e0e6d507ef

Build: update qcom_utils.mk

Add build macro to determine Android Release

Adding platform sdk version 18 for JB MR2.

Change-Id: I79aa831ddd335bd14bd777506c210acc5d9960f1
build: Add support for PRODUCT_COPY_FILES_OVERRIDES

 * We may have a case where prebuilts need to be built from
   source instead based on an externalized config.
 * New directive takes a list of destination files to remove from
   PRODUCT_COPY_FILES so that other instructions can be supplied.

Change-Id: I7feff16440e54d1676ffddbbd96d5947efa43ede
build: Add QCOM target-specific config

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

Change-Id: I736c10a5e7e1f3d1e0de9e60f29b60add276f151
Signed-off-by: cj360 <ayunker551@gmail.com>

Conflicts:
	core/config.mk
qcom_utils: Update list of QCOM_BOARD_PLATFORMS

Add msm8226 (Moto G) and other upcoming platforms
Change-Id: Icf895cbcf86791ca800636a1c0893b3a905a27a0
build: Fix cflags for QC targets

Change-Id: I2281bec3afb4d80e80845718d880dc24ef7baf32
Allow individual projects to enforce a property's value

Some projects require system properties to be set to a specific
value (for example, a shared library needing a property pointing
to its own path) in order to work correctly, but some device
configurations are mistakenly setting those properties with the
wrong value (usually inherited from the original OEM build).

"PRODUCT_PROPERTY_UBER_OVERRIDES += property=value" can (and
should) be used in that project's makefile to ensure the value
is the correct one. This variable is intended for software projects,
and should never be used in product makefiles (BoardConfig, cm.mk,
AndroidProduct)

Change-Id: I1986e7c444e51cce8b198e43fdc793fad16d6276
qcom_utils: Make "is-vendor-board-platform,XX" depend on BOARD_HAS_XX_HARDWARE

Prevent qc's code from wrongly kicking in for AOSP-derived
configurations
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
Define CONFIG_64BIT for LP64 target

Linux kernel uapi headers use CONFIG_64BIT flag. We need to define that if
__LP64__ flag is defined.

Change-Id: I2143ca8d91d70506485f3eb6f21a9e5243c495cc
build: Add support for device tree in boot.img

Add support for optional device tree image (dt.img)
to boot and recovery images.  Some devices use kernel device
tree and this adds the device tree image as a section within
the boot/recovery images.

Change-Id: I91431ef2f4b86485895678916e39a8572be878eb
Signed-off-by: cj360 <ayunker551@gmail.com>

Conflicts:
	core/Makefile
Build: add DT image variable to Makefile

DT image variable is currently present in
generate_extra_images.mk.This file is moved to
build/tasks to support persist image generation
during parallel make. As build/tasks is called
at the end of Makefile, DT image variable is not
available for other images generation like boot and
recovery. Adding this variable in Makefile ensures
the variable is defined before usage

Change-Id: I21f675d8ce648dc1cf1f4f3aede33278300e08c9
CRs-fixed: 548299
Fix case where boot/recovery.img were being built with wrong params.

The boot and recovery images  now get built using the same params during ota package
generation as during a normal build.

Change-Id: I93d46e11a4245288f0e87c87a2e4bf45ac5aff69
Fix the extra dt.img compilation issue.

Add support for optional device tree image (dt.img)
for device that doesnt have TARGET_BOOTIMAGE_USE_EXT2

Change-Id: I6e07b3ca6d049a8ebdad7ea304b4f39e7c846151
Fixing Compilation issue

Change-Id: I1ad1e91498aee877c78cf85656fe704c585fb0cf
framework: adding security-bridge

adding security-bridge to FRAMEWORK_BASE_SUBDIRS
to make it compile as part of the framework/base java module

Change-Id: Ic96ba5549525fcaa58c274f918ac511f69cb0096
enable sdiv support in ART

ART looks for TARGET_CPU_VARIANT to determine hardware
instruction set support. QCOM chipsets set TARGET_CPU_VARIANT
as "generic", so we add it to ART's look-up list.

Change-Id: I07917f3f9c86dca15951698510024e39b1fee565
Fully expand eng/debug/tests module install files

When including eng, debug and tests modules that are tagged
using LOCAL_MODULE_TAGS, fully expand the install file list
from just the tagged module to all the module's INSTALLED
list.  This allows auto-generated files such as dex preopt
odex files tagged under the module's INSTALLED list to be
included.  This also makes the behavior of specifying a
module as debug using LOCAL_MODULE_TAGS to be the same as
specifying it as PRODUCT_PACKAGES_DEBUG when building
for userdebug or eng variant.

Change-Id: If9a24b62d8bee9e378f3e5f58e9490e963238302
Allow override of DEX_PREOPT_DEFAULT

Allow device-specific override of DEX_PREOPT_DEFAULT value
rather than dependent on the number of runtimes supported
by the system.  This allows force generation of
non-stripped packages even when dex pre-opt is enabled
with only 1 runtime.

Change-Id: I57573ce17dc46b7eccf1a3619b073ead1b77c134
enable sdiv support in ART

add more target into ART instruction set feature look-up list.

Change-Id: If2332ff1fc1f496187ca632f7ee4af5fe880515e
Disable -mcpu=cortex-a15 flag for krait

Disable -mcpu=cortex-a15 flag for krait.
Make it same as that of KK and use -march=armv7-a.

Change-Id: I0047a2fac1b533c357ba1cee67534ce4782b2b20