Revert "Build ELF binaries with GNU-sytle hash table to speed up dynamic linking"

This reverts commit db663fd2f7c15fdaa214e196eb7ddc343b8fbb26.

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
build in colors: Install outputs in blue/yellow [basic ics version]

"target prefix:" in yellow
"Install: file" in cyan

should be in a single command line else there are sync problems
in multithread (-j X)

These colors can be tuned in core/Makefile if you use a white terminal.
can be disabled with "export BUILD_WITH_COLORS=0"

Only the most important output is colored to reduce ics merge problems

Change-Id: I0e585079fde6900799ef209367a523d94a51cda5
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Disable dataroaming by default

The property is removed so that the property in vendor/cm can
take effect

Change-Id: Iefadc1a6e71cbf92ecb7363c953f4b5a82064446
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
override ro.build.date.utc for recovery builds. fixup makerecoveries.sh script for touch recoveries.

Change-Id: I2cf967fb4b9dd5e8183dc6ff39b77076fccc38d9
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Allow low memory machine to build with a smaller java emulator.

This allows the default for 64 bit machines and adjusts the size
on lower memory machines. If you are on 32 bit you can't build
without this change, even using pae kernel with high mem.

Patch 5: found a better way to do this. Removed import string.
Change-Id: Iac1ef3b5db96029ca62897f6b64646bf6224e752

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
build: Realign product libraries with corresponding applications

VideoEditor requires a build to call the full_base, but the libraries
are called in generic_no_telephony. This patch places the library
packages in the same product specification as the application using
them.

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
build in colors: host C/C++

Change-Id: Ic415cab53a2efa104c9d4b31ddbe8c8eb74e493d
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
add cm.mk.template file for mkvendor.sh

Change-Id: Iba150a5350a7a7dbc9e3444d71d4ff293d51f3d7
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
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
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
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
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
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
fix template for mkvendor.sh

Change-Id: I2c78ed013053efa0c399e022502fd9ec4a1de8e6
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
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
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
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
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
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
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
Add initial support for charge mode. also support recovery/root in the device tree to easily copy props into recovery images.

Change-Id: Icf773a49f2802e3b287b970a390339f1ba0c7aad
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
fix rc file for charge mode

Change-Id: I62d881228bf309409a994d45f878d9ff331f93c1
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
kernel.mk: make use of ccache when requested

Change-Id: I9b6e28711bd5f590a76ac2b62a50b1d2de014e3e
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
kernel: Fix ccache inclusion logic

Builds were broken when CCACHE was missing from the environment
Change-Id: Ie8d6048f4600f1dc9c298593a50e37af04b96438

Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>
build: show accurate information on inline kernel warnings/errors

Having the variables on AndroidBoard as suggested causes errors
with mm/mmm, whereas having them on BoardConfig doesn't. Adjust
the warnings to reflect this.

Change-Id: I554c1f1073df678d36521f73bc236a1f4b02212e
Signed-off-by: netchip <netchip@netchip-ubuntu.(none)>