Review and clean-up of both compiler and linker flags
to ensure proper usage and consistency for images, toolchain,
SDK, and NDK.
Change-Id: Ife75c32cd49b32345712dee28fa5f2283069a90e
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
Author: Bruce Beare <bruce.j.beare@intel.com>
This patch allows the Window sdk build (lunch sdk-eng; make win_sdk)
to work properly when USE_CCACHE is defined in the environment.
There is no Windows ccache prebuilt, but since we're cross-compiling
from Linux, detect it and use the linux prebuilt binary instead.
Note: Depends on https://review.source.android.com//#change,21755
for a complete solution to the problem.
Change-Id: I0b1b59efae86ee7114225258c9ecf9f257913347
Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.
Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused. (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)
Change-Id: Ifed4ffe17003d90370c711ea6606e2b75e841dee
Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.
Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused. (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)
Change-Id: I3b6f5ab7e5ae6aaa7119899adccece2b4ab1cbb3
This is needed in order to build Linux SDK binaries that can run
properly on Ubuntu 8.04 (Hardy). By default, the host toolchain
on 10.04 (Lucid) generates machine code that won't run on Hardy
due to GLibc ABI mistmatches.
Note that nothing happens if the new toolchain is not in the
prebuilt tree.
Change-Id: I914f5a303f16b6871759ce5a7178585ed3060870
The purpose of removing global inline options is to give
compiler the opportunity to do inline optimizations and inline
tunings for Android native codes.
By removing these global inline options now, the size of
almost all native libraries are reduced. And there is no
noticable performance degradation on webkit, gcstone and
skia benchmarks.
Change-Id: I31e71f51e4f29fa6286fddb89e9eab227581c7b3
This is needed in order to build Linux SDK binaries that can run
properly on Ubuntu 8.04 (Hardy). By default, the host toolchain
on 10.04 (Lucid) generates machine code that won't run on Hardy
due to GLibc ABI mistmatches.
Note that nothing happens if the new toolchain is not in the
prebuilt tree.
Change-Id: I45c1f68e37e15a0032f885df1c5c0f297b3d8642
Merge commit '83f69eb5f905d47581bed141b7f5103362390339' into gingerbread-plus-aosp
* commit '83f69eb5f905d47581bed141b7f5103362390339':
Prepend ccache to CC/CXX if necessary.
In case TARGET_CC is assigned with HOST_CC (eg, simulator build),
ccache will be prepended twice before this CL.
Bug: 3069576
Change-Id: I2ee44faea3a2795cf389ad6f80e4066a02b43be9
Merge commit '2e1347c6a010c51c9ec80fd312465c1c23666ab2'
* commit '2e1347c6a010c51c9ec80fd312465c1c23666ab2':
Disable new longjmp in glibc 2.11 and later.
Merge commit 'fb644881b6083aa0d9d15e7aad8bfa5a429b1c37' into gingerbread-plus-aosp
* commit 'fb644881b6083aa0d9d15e7aad8bfa5a429b1c37':
Disable new longjmp in glibc 2.11 and later.
Merge commit 'f3a142b8d5b4db7299b706653f4fd2952f4e5d8c'
* commit 'f3a142b8d5b4db7299b706653f4fd2952f4e5d8c':
Link against Mac OSX 10.5 SDK if building on 10.6.
Merge commit '7eaa4dc2fbc3d7b3d8a0a2576a6fc14507e176a8' into gingerbread-plus-aosp
* commit '7eaa4dc2fbc3d7b3d8a0a2576a6fc14507e176a8':
Link against Mac OSX 10.5 SDK if building on 10.6.
androideabi target is already in upstream GCC. The arm-linux-
androideabi toolchain can be built directly from upstream GCC.
Switching from old special tailored arm-eabi toolchain to the new
arm-linux-androideabi toolchain make us closer to the opensource
community and friendly to all toolchain developers.
kernel still uses arm-eabi toolchain. So we add arm-eabi toolchain
path to PATH.
The arm-linux-androideabi-4.4.x toolchain is built with the same
source as the latest arm-eabi-4.4.3 toolchain except for the
target change patches.
Change-Id: I1e5f2fe2faeee08f913f37e0ba93e84d2654a8ff
between libc, libc_nomalloc and libgcc. When building with upcoming
arm-linux-androideabi toolchain, Symbol raise is needed by libgcc.a
and defined by libc.a or libc_nomalloc.a.which.
This patch groups libgc.a, libc_nomalloc.a and libgcc.a together, which is
a minimal group to solve this problem.
Change-Id: I27ed78c495dc53c1db7b302da8704f5e478ad893
Merge commit '4a1addef83d6458ba41b498648a36046a27a01b8'
* commit '4a1addef83d6458ba41b498648a36046a27a01b8':
Keep the crt start/end var name of sh consistent with other archs
Merge commit '90b1d3dcfece8eef53277cbcf0326deda9f16f09' into gingerbread-plus-aosp
* commit '90b1d3dcfece8eef53277cbcf0326deda9f16f09':
Keep the crt start/end var name of sh consistent with other archs