Commit Graph

4271 Commits

Author SHA1 Message Date
Ying Wang
75e8fcbb6c Apply LOCAL_CXX_STL to also prebuilts.
Because LOCAL_CXX_STL modifies a module's required shared libaries,
we need this for also prebuilt shared libraries and executables.

Change-Id: I418c26143999a613c40aadf990f131b123e0ac3d
2014-10-07 13:07:00 -07:00
Nicolas Geoffray
4c0c390f30 Fix typo.
Change-Id: I738ad878a2961d118b5a89bf7d434606df2fad92
2014-10-07 11:17:09 +01:00
Nicolas Geoffray
4af753c1d1 Merge "Make which dex2oat version to use configurable." 2014-10-07 09:38:18 +00:00
Nicolas Geoffray
75c08b2118 Make which dex2oat version to use configurable.
Change-Id: Ic13cf6f9dfb117193a5101781945c501d138955c
2014-10-07 08:30:18 +00:00
Dan Albert
642c81ea45 Merge "Stash original values of CC and CXX." 2014-10-06 18:33:59 +00:00
Dan Albert
a8fd66822a Remove unused my_compiler_dependencies.
my_compiler_dependencies was never assigned to, but the way it was
included in the rules prevented the user from being able to use | in
LOCAL_ADDITIONAL_DEPENDENCIES. Since it is unneeded, just remove it.

Change-Id: I74bb59e81b97756296060eea5b7a42909be50130
2014-10-06 10:45:44 -07:00
Dan Albert
ec1b90f81f Stash original values of CC and CXX.
This way we can still access the real compiler as opposed to a wrapped
one.

Change-Id: I17ba30416a3eb8eda056c67faaa8b5957e70caea
2014-10-06 10:43:29 -07:00
Dan Albert
2251ea40ba Remove HAVE_(GNU|BSD)_QSORT_R from AndroidConfig.h.
Change-Id: If2018529a6c067b63e1a59c16c911d63ec2ebbf4
2014-10-01 10:12:25 -07:00
Tim Murray
35dd358cc4 Merge "Update prebuilt RS clcore location." 2014-09-30 22:34:59 +00:00
Tim Murray
00fa757d7d Update prebuilt RS clcore location.
Change-Id: Iebf255d7cc093b74e08b1f1378d9b397fd9dd3b9
2014-09-30 15:08:03 -07:00
Chih-Hung Hsieh
78b6cea65e Clear all LOCAL_CLANG_*FLAGS*.
Although only some of these flags will be used for some
targets or hosts, they must all be cleared to avoid carrying
over from one project to another.

BUG: 17677366
Change-Id: I6d26fa7e5bf2ff11758728810d4874f3759aebe7
2014-09-30 21:50:58 +00:00
Ying Wang
8260562434 java_alternative_checked_module takes precedence.
java_alternative_checked_module takes precedence over
LOCAL_BUILT_MODULE.

Change-Id: I84f0d65dbc05f4686817aa835d003eb0101af146
2014-09-29 17:17:00 -07:00
Ying Wang
6c1d1cc712 Don't modify LOCAL_CHECKED_MODULE.
Use a temporary variable my_checked_module instead,
so that we don't override the 2nd_arch's checked module with the
1st_arch's in multilib build.
Note that by default we checkbuild 2nd_arch only for host modules,
but not for target modules.
We enable multlib for target modules by default, it would take too
much time to checkbuild for both archs. For 32-bit modules actually we
can checkbuild a 32-bit product.

Change-Id: I0a5ba75699225b7641442673483731a8fd360d61
2014-09-29 21:59:55 +00:00
Chih-Hung Hsieh
4a8d5c1aaf Merge "Add local Clang+target specific flags." 2014-09-27 02:40:28 +00:00
Chih-Hung Hsieh
619fdb8d77 Add local Clang+target specific flags.
BUG: 17677366
Change-Id: I75522fb56fdf4d27ea1f5f0ae15866b13ae6e206
2014-09-26 17:19:49 -07:00
Dan Albert
683c392e07 Fix detection of C++ STL for tests.
Target tests weren't approrpiately using the libc++ gtest for
libc++_static, and the hosts tests were still using the old check.

Change-Id: I13813d5f09673b144b2dfead93eb81cb4bae0e34
2014-09-26 15:45:33 -07:00
Stephen Hines
670018fdae Merge "Remove unnecessary CLANG_CONFIG_EXTRA_*_C_INCLUDES variables." 2014-09-26 17:53:34 +00:00
Stephen Hines
3cf2057079 Merge "Use new variable LLVM_PREBUILTS_VERSION to simplify path construction." 2014-09-26 17:53:22 +00:00
Stephen Hines
f00896663e Remove unnecessary CLANG_CONFIG_EXTRA_*_C_INCLUDES variables.
These aren't needed now that we only use the compiler/headers that exist in
the prebuilts/clang directory.

Change-Id: I9978efb10815e92577d45629db324e0a5094f880
2014-09-25 22:35:16 -07:00
Ian Rogers
850a4cb72b Test __GLIBC__ is defined before using its value.
Avoids -Wundef warning.

Change-Id: I52d8223500fe31cdf7023e32e96df75e33eb2f7e
2014-09-25 17:34:40 -07:00
Lai Wei-Chih
8affa161fe Use new variable LLVM_PREBUILTS_VERSION to simplify path construction.
This removes the hard-coded '3.5' in the various paths and makes switching to
a new toolchain easier from the command line (m LLVM_PREBUILTS_VERSION=3.6).

Change-Id: I46b10eb2fc177a03528de9c7b433f8647f632081
2014-09-24 14:59:00 -07:00
Dan Albert
3302924802 Merge "Add option for generating coverage info." 2014-09-24 16:03:27 +00:00
Dan Albert
4bbc6c790b Add option for generating coverage info.
To enable building with coverage, the environment variable
NATIVE_COVERAGE must be set to true.

Set `LOCAL_NATIVE_COVERAGE := true` to generate coverage information for
a given component.

This is currently not supported for clang (b/17574078, b/17583330).

If static library A is included in a binary B (dynamic or static
executable, or shared library), and A is built with coverage
information, B is required to link with libgcov.a. Since the make does
not offer a good way to track this dependency, link libgcov.a even if
LOCAL_NATIVE_COVERAGE is not set (but still guarded by NATIVE_COVERAGE).
This ensures that all of the libgcov dependencies will always be
resolved, and causes no change in the resulting binary if coverage is
not used.

Bug: 10134489
Change-Id: Id5a19f2c215e4be80e6eae27ecc19b582f2f6813
2014-09-23 15:19:02 -07:00
Elliott Hughes
8fe8dc83e3 Remove unused HAVE_OFF64_T.
Change-Id: I24acf64efcd0fd84d5dda342d4c4293fa59fae1a
2014-09-23 13:36:01 -07:00
Elliott Hughes
76ab00f189 Remove the unused IPC macros.
There are still a couple of references to HAVE_WIN32_IPC to be dealt with
later.

Change-Id: Id131fbf2e96d4c1c7bb98629779045375bd5f85f
2014-09-22 20:43:32 -07:00
Todd Poynor
9c226d1f9e build: remove HAVE_OOM_ADJ
This define is no longer used.

Change-Id: I6615d6e4aa09f71b7c4c435ccb83a07bba91b6dc
2014-09-22 18:47:48 -07:00
Ying Wang
b69b7d7fba Merge "Fix recovery image build for 32p" 2014-09-20 00:38:08 +00:00
Elliott Hughes
e2f5470606 Merge "Remove unused HAVE_EPOLL." 2014-09-19 22:54:17 +00:00
Elliott Hughes
67839a58be Remove unused HAVE_EPOLL.
The only people who appear to be using this are actually using their own
one.

Change-Id: I349ed4ce3874c1b2f9bad56c93c8ccee88ae9432
2014-09-19 15:12:56 -07:00
Brian Carlstrom
b97b1e5940 Merge "Enable dalvik.vm.lockprof.threshold on eng builds in addition to userdebug" 2014-09-19 21:41:01 +00:00
Brian Carlstrom
85d56eba99 Enable dalvik.vm.lockprof.threshold on eng builds in addition to userdebug
Bug: 17572009
Change-Id: I0cfc1aa2dd93a8dac21d23d813801c74ed37079a
2014-09-19 11:30:27 -07:00
Dan Albert
b05f2ca150 Move selection of C++ STL into the build system.
Preparing for migration from stlport to libc++. STL selection is done
with LOCAL_CXX_STL (valid values are default, none, libc++,
libc++_static, stlport, stlport_static, bionic).

The selection of the STL is as follows:

    if LOCAL_CXX_STL == 'default'
      ifdef LOCAL_SDK_VERSION
        Use whatever STL the other NDK options have selected.
      else
        Use bionic's libstdc++ for target, GNU libstdc++ for host. This
        is compatible with the existing build options.
      endif
    else
      if LOCAL_CXX_STL == 'stlport'
        Use stlport.
      else if LOCAL_CXX_STL == 'libc++'
        Use libc++.
      else if LOCAL_CXX_STL == ''
        Don't use any STL.
      endif
    endif

Bug: 15193147
Change-Id: If712ba0ae7908d8147a69e29da5c453a183d6540
2014-09-18 16:38:20 -07:00
Bruce Beare
7c02ec91e8 Fix recovery image build for 32p
When building for 32p, we need to be explicit that we wish to build the 32bit
version of the binaries that will be placed in the recovery image. The recovery
image doesn't actually care... but if we are not explicit in this, the makefiles
will ask for the 64bit binaries but the Android.mk for the binaries will supply
the 32bit images (causing the build to fail)..

Change-Id: I728912bc8e07726888fe8bed4352cbb373911cb7
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2014-09-15 18:36:47 -07:00
Ying Wang
96c2af033d Enable multilib odex only if TARGET_2ND_ARCH is defined.
Bug: 17507247
Bug: 14694978
Change-Id: I160a37bc0970315054606829aa112b67eaee7d49
2014-09-15 12:12:36 -07:00
Ying Wang
2e9f639282 Support to build apk odex for both arch.
Build odex for both arch in multilib build if an app has
LOCAL_MULTILIB := both.
Refactored the common setup code to a separate file setup_one_odex.mk.

Bug: 17409149
Bug: 14694978
Change-Id: I74c9426cd74fe0b0cb4811368f740a88ac2ae022
2014-09-15 12:12:18 -07:00
Dan Albert
bfbd41edcb Missed one part of removing the vbox target.
Change-Id: I8edb5252b5e71de042b79cb9eb2a497d89efb773
2014-09-10 15:58:20 -07:00
Alexander Ivchenko
388dce3192 Refine TARGET_GLOBAL_CFLAGS for x86 and x86_64:
Remove -msse2 for x86 (-mssse3 should be provided by the compiler).
       Remove -fPIC (compiler provides by default).
       Remove -fno-inline-functions-called-once.

Change-Id: Ibb29934224c4eedfff926dc72c3b6342c1861ac9
2014-09-09 17:27:32 +04:00
Ying Wang
8b3476986a Add LOCAL_POST_LINK_CMD.
For now we support LOCAL_POST_LINK_CMD only for static executables.
This fixed the hack of building linker which need to insert additional
step after link.

Bug: 17403674
Change-Id: Iefdfe1e3fab3a30c5d4ad701d46f931481eab572
2014-09-05 15:47:59 -07:00
Chih-Hung Hsieh
9aa69a6752 Add LOCAL_CLANG_*FLAGS for clang only flags.
To be used only for some modules.

Change-Id: I107ec37f11f738f860598f0c86c4ad7ec20c9011
2014-09-04 18:43:16 -07:00
Tim Murray
039cd7e076 Merge "Add LOCAL_NO_FPIE." 2014-09-03 22:46:45 +00:00
Tim Murray
595d0dbd5b Add LOCAL_NO_FPIE.
Not all executables should be built with -pie.

bug 15814177

Change-Id: I402e8a531866b507ee80a0bf677f9f3551ca7693
2014-09-03 15:39:50 -07:00
Ying Wang
7754e0ce89 Merge "[MIPS64] Modify the default MIPS64 build to MIPS64R6." 2014-09-03 19:20:29 +00:00
Stephen Hines
2f9fa52025 Merge "Fix build breakage due to incorrect bcc_compat RS_TRIPLE." 2014-09-03 16:02:09 +00:00
Stephen Hines
5c72544d48 Fix build breakage due to incorrect bcc_compat RS_TRIPLE.
Bug: 17333374
Change-Id: I13582ce0cde86f7b3728aa4f45a5197438d65a2d
(cherry picked from commit 52626d2a7b)
2014-09-02 21:46:25 -07:00
Ying Wang
cee38d55f8 Merge "[MIPSR6] R6 target options for clang" 2014-09-03 01:02:54 +00:00
Raghu Gandham
10326b3d7f [MIPS64] Modify the default MIPS64 build to MIPS64R6.
Change-Id: I797e4c2e5b69c6991545c26886b5b25e6f8c2a67
2014-09-02 16:30:00 -07:00
Ying Wang
7ba7d7f4f5 Default host module to 64-bit except for SDK builds.
Set "HOST_PREFER_32_BIT := true" only if "sdk" or "win_sdk" is among the
make command line goals, or it's a MinGW windows build, which only builds
host SDK tools.

Bug: 13751317
Change-Id: I8ec1a97a5d1af065a153b16523c2ee3434d0dd71
2014-09-02 16:04:31 -07:00
Stephen Hines
ec8778e89f Merge "Fix RS_TRIPLE and RS_TRIPLE_CFLAGS." 2014-09-02 16:23:11 +00:00
Ying Wang
7852b80c05 Merge "Add missing flags to x86 (both 32- and 64-bit) arch variants. Delete x86_64-atom.mk as we don't support 64-bit on old Atom." 2014-09-01 17:47:55 +00:00
Stephen Hines
039675adb8 Fix RS_TRIPLE and RS_TRIPLE_CFLAGS.
Bug: 17333374

Add RS_TRIPLE_CFLAGS to ensure that we build with the proper defines on
targets like x86. This also changes all build targets to use the
proper 32/64-bit triples when creating their runtime libraries.

Change-Id: I8f6175b1a14af6d03ee90f32069f3688ec227fb9
2014-08-29 15:20:05 -07:00