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/tasks/kernel.mk
build: work around missing readlink -f on Mac

Change-Id: I5d56366cf33a2b02f1886c87815d00cff279779d
arm: Allow disabling PIE for dynamically linked executables

PIE can and does break some binaries that were built without it,
resulting in relocation-related issues (addressing memory
wrongly assumed to be at a fixed position).

Use this as a last resort measure for compatibility with pre-JB
binary blobs, and only if confirmed to fix a broken executable.
If you're not sure, do NOT enable this on a device.

Change-Id: I3b7001e682a6f7a845e62278fe2afa9ccf5552a4
Remove unused RunConfig.

This is unused.  It requires additional plumbing in several other files
which does not exist.  And it has been removed from the CM repo as well.

Change-Id: Id604c092758bb464c4306086a4d873159f0724ef
add unpackbootimg to otatools

Change-Id: I4e294c05eacc8bef8273247bcf1bf382291a3d31
This is causing generic_armv5-userdebug builds to fail. Commenting out for now to fix recovery build servers. Will fix properly later.

Change-Id: Ibe1cda8cd2b4c1914dfa3b8a29724c9069e047a6
Does not copy anything

Change-Id: Ic11859144c9ba226312fd70fb5697d43d49c1e7d
Use less heap space for dex on 32-bit build hosts

Run dex with -JXmx1024M instead of 2048M if running on a 32-bit host.
Surprisingly this appears to also work for framework and services; if
not, a little fine-tuning will be needed.

This does not change anything for non-32-bit hosts.

Change-Id: I1d87c3e394acc934af6f7770ea54ba265a1df838
Make the recovery ramdisk target depend on $(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES) rather than $(INSTALLED_BOOTIMAGE_TARGET). This fixes the circular dependency for when the kernel depends on the recovery ramdisk, which depends on the boot image, which depends on the kernel.

Change-Id: I658bedc329f2ea0170ac0012f80ca7d779b1c242
build: fix target header overlay

LOCAL_C_INCLUDES as defined by the makefile should be put AFTER
the overlay includes so the overlay always takes precedence.

Change-Id: I489b2aab6dbacd9122d834f85e07b63ed1271f07
unpackbootimg: add a target specifically for unpackbootimg.
for some reason, and I am guessing this is a bug in the Android build, I can no longer run the following:
make -j32 out/host/darwin-x86/bin/unpackbootimg

It works if the build has been built, but not if it is clean. Somewhere within the bowels of AOSP
something broken in 4.1.2.

Change-Id: I4f8c434f3fce9ddaee4f54febba02efac07a31a3
fix sdk target with absolute OUT_DIR

Add / to atree's search path.

since I459a3b13 OUT_DIR is absolute. atree uses these variables and
due to "-I ." tries to resolve these paths as relative paths.

Change-Id: Ic9fbc84acdd9f438dfc813f6496e2c5e0d761976
Add ARMv6J and ARMv6-VFP processor combo option

Cherry-picked from gingerbread branch.
Add recoveryzip target. Import recovery building/porting tools.
create a target for utilities
Fix up the autoinclusion rules for the utilities and recoveryimage target.
ota: Build uboot bootable images when necessary
build: Add support for assembling multi-image uboot files

Change-Id: I7300d36cc4227ada77f1800680869037ef33c5e8
Extract uboot image creation from core/Makefile

http://memegenerator.net/instance/12495768

This change utilizes BOARD_CUSTOM_BOOTIMG_MK to extract out the Uboot boot and
recovery image generation out into it's own file (approx 130 lines).

This should:
    * Clean up the already huge Makefile and the keep ifdeffyness down
    * Make sure Uboot changes don't effect other builds
    * Extract a lot of code that is only for 3 devices

This depreciates BOARD_USES_UBOOT but BOARD_USES_UBOOT_MULTIIMAGE is still valid.

Boards who use uboot boot images should remove BOARD_USES_UBOOT and add
  BOARD_CUSTOM_BOOTIMG_MK := device/common/uboot-bootimg.mk
to their BoardConfig.mk
(location of the makefile is not finalized)

Change-Id: I90505a99cbcda11731ac3318cfe7f76b4bf6e1c7
Fix up the recovery.fstab for adv recovery
Add options found in cm7 to allow for more complex recovery.fstabs with
multiple fstypes.

Credits:nemith

Signed-off-by: iceandfire <arhamjamal@gmail.com>