arm: upgrade to _FORTIFY_SOURCE=2

Enable _FORTIFY_SOURCE=2 for ARM.

Currently, this change is a no-op, as Android's libc doesn't
support _FORTIFY_SOURCE > 1, yet.

Change-Id: Ib4c8e44e6949a37352c153e3c52a4fa001f18738
Track change to JSSE provider

Change-Id: I130b137f8ba62a3cf1b915dcf6a0cf3dc25043eb
Add a "nano" option to LOCAL_PROTOC_OPTIMIZE_TYPE.

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

Conflicts:
	core/main.mk

Conflicts:
	core/main.mk
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

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>

Conflicts:
	core/combo/TARGET_linux-arm.mk
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.

Conflicts:
	core/combo/TARGET_linux-arm.mk
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>