build/core: Forward-port hook for device specific tasks

Added generic hook for loading device specific tasks.

Change-Id: I6216195edd6a43e940b3d254256092aca98ca58d
Signed-off-by: Patrik Ryd <patrik.ryd@linaro.org>
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build/core: Use better default compiler flags

Use -O3 for the compiler, -O2 for the linker

Change-Id: Ib9c3cd6d6ddf16c8bd20149a051ff2c17491a29d
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build/core: Don't use -fno-strict-aliasing

Don't use -fno-strict-aliasing: It's no longer needed.

Change-Id: I7b6e9524197dc152b57a8d1900dd6d7f9fe3452d
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

Conflicts:
	core/combo/TARGET_linux-arm.mk
build: Don't add -fno-strict-aliasing to HOST compiler flags

Change-Id: I07eef86f11ec3761e0922855cb6ff881c2773966
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build: Explicitly disable -Werror=strict-alising for HOST builds

Change-Id: Ib1e834951196ab3ea6acbe47c27eebe5633f55d2
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build/core: Build in ISOC++11 mode if possible

Add -std=gnu++11 if the compiler supports it

Change-Id: Ied8b4487263172b678fd2912cfe428187b2edf95
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build: Allow building with OpenJDK v1.7

Ubuntu-12.10 ships with OpenJDK v1.7 and AOSP errors out if you try
to build it with JAVA version other than 1.6. Linaro Android build
with JAVA v1.7, boot tested on Origen 4412, seems to work fine.

Change-Id: I8ca783b48de80131f830139a33d8fc0aa92c562c
build: Add option to disable strict-aliasing optimizations

This is useful for builds that pull in unmodified AOSP repositories
that can't be compiled with strict-aliasing compliance enabled

Change-Id: I0599127b1e113c0799dd8fa92db00b989ebc9bd3
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build/core: Add option to disable C++11 bits

Change-Id: I45294e8c19bf7cdf200b45fbd114ccd75c4e3ca9
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Makefile: Make sure gcc is built before system.img in developer-* builds

This is a workaround for make 3.81 not seeing the dependency introduced
in native-toolchain/Android.mk.

Change-Id: Ie64c39c4904f6ca45978802a6494f55c667add84
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
core: combo: use O3 for linker
ARM: add ARCH_ARM_HIGH_OPTIMIZATION
This enables -O3 instead of -O2 for thumb cflags intended for devices which don't have compatibility issues with -O3
everywhere.
product/core: Install busybox, lrzsz, ffmpeg, x264

Change-Id: I92e750e8dace870ff39a7bae3633328b1be14983
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

Conflicts:
	target/product/core.mk

Conflicts:
	target/product/core.mk
build/core: Add linaro_compilerchecks.mk

Add linaro_compilerchecks.mk, allowing to run some checks on the
compiler version and supported flags before setting them

Change-Id: I96e1277e74c0ea3457677bef39644aaece01f653
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build: Add support for TARGET_EXTRA_C{,PP}FLAGS

Add support for setting TARGET_EXTRA_C{,PP}FLAGS in board configs.
This can be used to set compiler flags for a board that break other
boards, such as -march=cortex-a9 or -DUSE_CUSTOM_EXTENSIONS_FOR_XYZ

Change-Id: I0efd4e37578bf6d239bf56dfeeaaed44840ee3af
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build: Don't work around cortex-a8 issues when targeting a9 only

Don't work around cortex-a8 issues when other compiler flags
show we want to target cortex-a9 only

Change-Id: If5a077243fc15298fbcbe2ffc857b5e961dd29da
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build/core: Fix build errors

- Include task hooks only if they exists
- Fix typos

Change-Id: Ide3b1bd0bac050da5b96d1e9a0dabd55fbf675fe
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

Conflicts:
	core/legacy_prebuilts.mk
definitions.mk: Don't fail if xmllint isn't installed

This is a workaround for xmllint currently not being installed on the
build slaves. It should be reverted when this is fixed, as it eliminates
a check for sane code.

Change-Id: I46eeadebd931ee1b6812a9eb933ee4b56ebd16a7
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build android with cfX-Toolchain 4.8.y

Conflicts:
	core/config.mk
	core/linaro_compilerchecks.mk

Conflicts:
	core/combo/TARGET_linux-arm.mk
use diagnostic colors

Summary:
This is supported in gcc 4.9.y and greater and only works if output is a terminal via a gcc check, so as not to break other types of builds. This is not intended to colorize everything, only errors, warnings, notes, carets, locus', or quotes. Documentation for this feature may be found here: http://gcc.gnu.org/onlinedocs/gcc/Language-Independent-Options.html
It is worth noting that the documentation is slightly outdated, due to the cflag being removed in favor of setting the equivalent to -fdiagnostics-color=always anytime GCC_COLORS is detected in the environment.

Test Plan: Fuck test plans, this is the dopest dope you've ever smoked

Reviewers: randall.rushing, Mustaavalkosta, michyprima, rlasalle15

Differential Revision: http://review.codefirex.com/D59