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/core: Include linaro_compilerchecks.mk

Include linaro_compilerchecks.mk in core/config.mk to allow the macros
to be used in board configs

Change-Id: I3a0dfd0a3a1c09961e43ef8c2f3cbe50b8c00e20
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/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: 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: 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: Fix build errors

- Include task hooks only if they exists
- Fix typos

Change-Id: Ide3b1bd0bac050da5b96d1e9a0dabd55fbf675fe
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>
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

My local builds with OpenJDK have been successful - no
reason to disallow it, let's go free...

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
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>
Revert "Use Linaro"

This reverts commit 687e3a685832e0eb6d45130bf00b8b9e7fec0345.
Compiler customizations

Available BoardConfig options, linaro 4.6 is default
	DEV_GOOGLE_BUILD := 1 (Google's 4.7.x gcc toolchain)
	GOOGLE_BUILD := 1 (Google's 4.6.x gcc toolchain)
	DEV_LINARO_BUILD := 1 (Linaro's 4.7.x toolchain)

Change-Id: If9cae41a6d62a98ac066dbe601318427b7c353fd

compiler customizations: always use Linaro 4.7 toolchanin to build the kernel

Change-Id: Ie8a033717f93d4b5f6066f59a6eca4c45b894cdc

Compiler checks:  Remove DEV_GOOGLE_BUILD option since it's

pointless to have two 4.7 toolchains.  Linaro's works just fine.

Use Google's toolchains by default

Use Google's 4.7 toolchain by default

Update all toolchain checks to use 4.7

Conflicts:
	core/combo/TARGET_linux-arm.mk
	core/combo/TARGET_linux-mips.mk
	core/combo/TARGET_linux-x86.mk
	core/dumpvar.mk
	envsetup.sh
	tools/adbs