Add Linaro optimalizations

frameworks/base: Fix aliasing violations

This makes it possible to build the code without
disabling the strict-aliasing optimization in gcc.

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

frameworks/base: Fix aliasing violations

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

libstagefright: Fix aliasing violations

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

frameworks/base: Fix various aliasing violations

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

frameworks/base: gcc 4.7 compile fixes

Make sure we can compile even with gcc 4.7's added
strictness

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

stagefright: Fix build with gcc 4.7

Make it build with gcc 4.7's added strictness

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

frameworks/base: Make sure Singleton instantiations are exported

This fixes using Singletons across shared library borders
with gcc 4.7

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

libstagefright: Work around gcc 4.7 bug

When using gcc 4.7, use -O2 instead of -Os to
work around compiler bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52294

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

frameworks/base: Compile fixes for ISO C++ 11

Fix build in ISO C++ 11 mode (where char16_t is defined and different
from uint16_t)

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

libmediaplayerservice: Fix aliasing violation

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

voip: Fix aliasing violation

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

rs: Fix aliasing violation

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

visualizer: Use -fno-strict-aliasing for now

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

libmediaplayerservice: Fix crash caused by strict-aliasing fix

long a[] and long *a aren't always the same...

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

frameworks/base: Fix build in ISO C++11 mode

Fix various incompatibilities with ISO C++11:
- Assumption that char16_t is defined to uint16_t
- constexpr usage
- macro constructs that could be interpreted as string literals
- enum typesafety

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

frameworks/base: Fix build without ISO C++11

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

libeffects/visualizer: Don't hardcode -O2

Only put -O2 into the compiler flags if no other
optimization is requested

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

base: Fix build in ISO C++ 11 mode

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

BluetoothEventLoop: Fix build in ISO C++11 mode

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

libstagefright: Disable strict-aliasing for h264dec

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

GLES2_dbg/test: Build with -fno-strict-aliasing

Build GLES2_dbg/test with -fno-strcit-aliasing - the code looks like
more aliasing violations will be added, and performance of tests
isn't overly important

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