clockwwork recovery build fixes

Signed-off-by: netchip <netchip@gmx.com>
fix BOARD_CUSTOM_BOOTIMG_MK

Signed-off-by: netchip <netchip@gmx.com>
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: I41b62668b60e3f62a6ebd3738d8d2675103a81e6a
Signed-off-by: netchip <netchip@gmx.com>
ota: Remove cruft we don't care about

Skip the date check (downgrade to your content), and don't include
recovery in otapackages.

Signed-off-by: netchip <netchip@gmx.com>
armv7-a build: allow for board customization of CPU/FPU target

to cover the entire gamut of CPU and FPU compilation types possible
with ARMv7 (uniprocessor vs SMP, no-FPU vs VFPv3 vs Neon, A8 work-
arounds required vs unnecessary), the compilation codepath needs to
be specified by the BoardConfig.mk to ensure that the OS matches the
target hardware.

add TARGET_ARCH_VARIANT_FPU, TARGET_ARCH_VARIANT_CPU and
TARGET_CPU_SMP makefile variables to allow for target-directed
compilation flags.

Change-Id: Ie968b3d9a4dff0020671725da2b5a6b42fec8a28
Signed-off-by: netchip <netchip@gmx.com>
fix up ota_from_target_files symlink detection.

Signed-off-by: netchip <netchip@gmx.com>
Add ext2, ext3, and vfat to releasetools

Support some non-standard partition that may be found in recovery.fstab

Change-Id: I0026a1d3ae5d432db10150d1a15f7bc8e7a6054b
Signed-off-by: netchip <netchip@gmx.com>
Add recoveryzip target. Import recovery building/porting tools.

Signed-off-by: netchip <netchip@gmx.com>
add support for overriding build.prop settings.

Change-Id: Ie4224d608b7bcb0c2087bd77bc954f8f5f9b6495

Conflicts:

	core/Makefile

Signed-off-by: netchip <netchip@gmx.com>
CWR does not support writing a partition from memory. Use /tmp to store the extracted file, then write it.

Signed-off-by: netchip <netchip@gmx.com>
add support for custom releasetools

Signed-off-by: netchip <netchip@gmx.com>
create a target for utilities

Signed-off-by: netchip <netchip@gmx.com>
Fix up the autoinclusion rules for the utilities and recoveryimage target.

Signed-off-by: netchip <netchip@gmx.com>
remove unused BOARD_USES_COMBINED_RECOVERY

Change-Id: I79520c510488d63d469b0d1a3a099420f7de1fe6
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
build: Inline kernel building as a buildtime task

Kernel image integration is now done in the build system. The
"one true way" of doing this is to download the kernel source
into kernel/TARGET_BOOTLOADER_NAME (by usage of the cm.dependencies
mechanism or otherwise), and defining the TARGET_KERNEL_CONFIG
variable in the device's BoardConfig makefile

If the kernel's location doesn't match the automagic location
(multi-device kernel source, for instance), TARGET_KERNEL_SOURCE
can be used to specify a kernel path (i.e.,
"TARGET_KERNEL_SOURCE := kernel/shared-whatever")

If the device requires out-of-kernel-tree modules to be built,
the TARGET_KERNEL_MODULES variable can be used, pointing to a
_make target_ that will build and install such modules. Definition
of such a target is the device author's responsibility, the only
restriction is that it is a normal makefile recipe (example
below)

Optionally (or as an alternative), a prebuilt binary can also be
defined at BoardConfig, by usage of the TARGET_PREBUILT_KERNEL
variable. This binary will be used if the kernel source is absent
(or undefined).

A minimal BoardConfig.mk should look something like this:

TARGET_KERNEL_CONFIG := cyanogenmod_<device>_defconfig
TARGET_PREBUILT_KERNEL := device/<vendor>/<device>/kernel

To include, for example, the TI WLAN modules, this can be used:

-----------------------------
TIWLAN_MODULES:
       make -C hardware/ti/wlan/wl1283/platforms/os/linux/ KERNEL_DIR=$(KERNEL_OUT) ARCH="arm" CROSS_COMPILE="arm-eabi-" TNETW=1273 RANDOM_MAC=n REPORT_LOG=n
       mv hardware/ti/wlan/wl1283/platforms/os/linux/tiwlan_drv.ko $(KERNEL_MODULES_OUT)
       make -C hardware/ti/wlan/wl1283_softAP/platforms/os/linux/ KERNEL_DIR=$(KERNEL_OUT) ARCH="arm" CROSS_COMPILE="arm-eabi-" TNETW=1273 REPORT_LOG=n
       mv hardware/ti/wlan/wl1283_softAP/platforms/os/linux/tiap_drv.ko $(KERNEL_MODULES_OUT)

TARGET_KERNEL_MODULES := TIWLAN_MODULES
---------------------------

Change-Id: I8634fa4c788a42dc6f62e62ca170825b66db126a
build: Fix kernel module building on Darwin/OSX

Darwin/OSX build host does not have module-init-tools which is
required to generated modules.dep file. Switch to modules.order
file marker which is always generated instead.

Change-Id: I20c0fccd905fa668202c3e7284a8778db3728a65
kernel: Change path to kernel/<vendor>/<device>

Derive the kernel path from the device's own path (just replace "device"
with "kernel")

Change-Id: Idd44a0489e1ce280adf5ec4d9cfe2385c75dd115
kernel: Improve support for non-arm architectures

Remove hardwired references to the ARM arch and toolchains, and replace
them with the respective android build variables

Change-Id: Iae3eb548ca1d58ac808b5fa430d415283a809106
kernel: Fix ARM building

The default android ARM compiler, arm-androideabi-, does NOT work
for the Linux kernel. Special-case the ARM architecture to target
the ARM_EABI_TOOLCHAIN path directly

Change-Id: Ib672c99f114cb89d5fda3343d4dc68810d042d35
kernel: allow TARGET_KERNEL_MODULES to overwrite kernel modules

This is necessary to use compat-wireless since it needs to build a newer
version of cfg80211 (and sometimes mac80211) than the kernel sources version.
There are probably other instances of this type of need.

Change-Id: Ib5bf818286bc20987d8b9f9480a43f3e7690e239