arm: Allow disabling PIE for dynamically linked executables

PIE can and does break some binaries that were built without it,
resulting in relocation-related issues (addressing memory
wrongly assumed to be at a fixed position).

Use this as a last resort measure for compatibility with pre-JB
binary blobs, and only if confirmed to fix a broken executable.
If you're not sure, do NOT enable this on a device.

Change-Id: I3b7001e682a6f7a845e62278fe2afa9ccf5552a4

Conflicts:
	core/combo/TARGET_linux-arm.mk
Revert "Allow disabling DroidDoc build."

This reverts commit 875e83165081425e74ce7c999b51c01cac0c876c

Change-Id: I670a1bea555cc7ac8346fba347b9cb40092c3da1
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 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>
core: add missing space

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

Conflicts:
	core/definitions.mk
build: Make sure boot.img depends on the kernel having been built

Change-Id: Ia439ed4079ef912c42aa15cac995741fd6071f1e
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
build: Build fs_get_stats even for TINY_ANDROID

We need fs_get_stats if we're using u-boot because it's used
during tarball creation.
Build it even for TINY_ANDROID (unless TARGET_BOOTLOADER_TYPE == fastboot)

Change-Id: If9ed3b63699b9f6c04a08b7b131a00b3a856c946
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>
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>
Add standard method for enabling mfpu and mcpu code optimization

Conflicts:
	core/combo/arch/arm/armv7-a-neon.mk
	core/combo/arch/arm/armv7-a.mk
Use prebuilt linaro toolchain by default