build: Fix zip creation on Mac OSX

When checking if files are symbolic links, then ota_from_target_files
expect the permissions of the file to be 0755 which is always the case
on Linux, but not on Mac OSX. I adapted the function so that permissions
are not included in the check anymore. Instead it uses only the type
attributes of the zip external_attr flags.
CM uses the same kind of check.

Change-Id: I5d5d0567cb798b765cbc19a66661163f80e21f70

Conflicts:
	tools/releasetools/ota_from_target_files
Fix utc date in recovery default.prop

We had this in Omni 4.3 but apparently it got lost during the
transition to 4.4

Change-Id: I09aed0e35eeeada3f3b998e69b3092741a745385

Conflicts:
	core/Makefile
Make the kernel image format parametric instead of a chain of if/elses

Change-Id: I54bfcdecb8647f7bcf744e72b2de19fcf4e4e7ac
core_base: Remove "Home Sample"

Change-Id: I690ab7d65fe02c0771c796d37d15f9ef857daaaf
Add SED_INPLACE macro - based on squashed commits from Cyanogenmod

Make sed in-place more portable

In-place sed (sed -i) works differents for GNU vs BSD version like
what is found on OS X.

This adds a check and does a sed -i for GNU and a sed -i '' for
Darwin only.

This allows my OS X machine to fully compile CM without the need
for any GNU specific packages.

Author: Brandon Bennett <bennetb@gmail.com>

Darwin: Use gsed for SED_INPLACE if found.

Change-Id: I5922b31ff2d192d5c6cc0cd8cabfe64d8b4f2620
Author: Koushik Dutta
build: Don't copy APN list from emulator

This list is severely incomplete and is overwriting the proper APN list in the vendor
directory.

Change-Id: I0e1b1d26e0cdf2df9a05462f0c9343bd3115635b

Conflicts:
	target/product/full_base_telephony.mk
generic_no_telephony: Build Launcher3 instead of Launcher2

Change-Id: I8efbeb480f0f1c4314c106c4d791fd1ffe3dc1a5

Conflicts:
	target/product/generic_no_telephony.mk
inline kernel dtb build

also add sony device filter

Change-Id: Iffeda58c7086f49e76ecafd37941503611346983

Conflicts:
	core/tasks/kernel.mk
Allow override of device asserts, including multi-device support

Set in board file with TARGET_OTA_ASSERT_DEVICE.
(cherry-picked from commit 0f452f21fc9323b9d1fe746161761cf40aaa5030)

Change-Id: Icd10de924f2b88168912c9575174cebf6b0104ba

Conflicts:
	tools/releasetools/edify_generator.py
envsetup: Add pushboot function

This function lets you push a file from your current OUT dir
for your current device. It root/remount the device, push the
file, and reboots it. Example: pushboot system/app/SystemUI.apk

Change-Id: I8a404323a4091e8502fbdd24198c66f1ac598192
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
Add new version to qcom_utils.mk

Change-Id: I1ca1532fd4968450715ecd0cca7729e0e6d507ef
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: I41b62668b60e3f62a6ebd3738d8d2675103a81e6

Conflicts:
	core/binary.mk
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
envsetup: Set CUSTOM_BUILD environment variable

This is used to gate a few features, including backuptool

Change-Id: I02fee9e0765cca88c833bb0514762aa3b14642e3
Add backuptool support to the releasetools system

Pulled from CyanogenMod 10.1

Change-Id: Iffd9a45865011ad9108508d31f79e53d609dd6f4

Conflicts:
	core/Makefile
	tools/releasetools/ota_from_target_files
releasetools: use prebuilt boot image if using a custom boot image makefile

Change-Id: Ic348d31e8df7933dc4f9f055b7a5a2beacc21d32

Conflicts:
	core/Makefile
Add ARMv6J and ARMv6-VFP processor combo option

Cherry-picked from gingerbread branch.

Change-Id: I8015149184ab3e1ee61ef93c62a395233ad1d156