Commit graph

4011 commits

Author SHA1 Message Date
Ying Wang
889a93a495 Merge "add silvermont x86 architecture" 2014-05-06 16:18:56 +00:00
Ying Wang
fb1236a9a8 Use prebuilt flex.
Bug: 14446414
Change-Id: I07fe8d7f246de853e5bae17286834268e36d260c
2014-05-05 18:34:57 -07:00
Colin Cross
735628e8d1 am 2ff8919d: Merge changes I7e809264,I504cea21,Ibd2165e6
* commit '2ff8919de339209412d9da2a524f566dfcf5847f':
  build: add core_64_bit.mk
  build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
  build: split TARGET_PREFER_32_BIT for apps and executables
2014-05-05 20:14:18 +00:00
Colin Cross
2ff8919de3 Merge changes I7e809264,I504cea21,Ibd2165e6
* changes:
  build: add core_64_bit.mk
  build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
  build: split TARGET_PREFER_32_BIT for apps and executables
2014-05-05 20:11:28 +00:00
Tim Murray
6ac74e6d81 am d720c5a2: Merge "Add -no-integrated-as for ARM64."
* commit 'd720c5a2a6cb44e76c20f96d33b0ac8a96060d91':
  Add -no-integrated-as for ARM64.
2014-05-02 18:24:20 +00:00
Tim Murray
d720c5a2a6 Merge "Add -no-integrated-as for ARM64." 2014-05-02 18:21:34 +00:00
Ying Wang
887a52d022 am a6b8025a: Merge "Add WITH_DEXPREOPT to the list of protected global variables."
* commit 'a6b8025a815cc5c9b441a91917f100486c270446':
  Add WITH_DEXPREOPT to the list of protected global variables.
2014-05-02 04:00:30 +00:00
Ying Wang
a6b8025a81 Merge "Add WITH_DEXPREOPT to the list of protected global variables." 2014-05-02 03:57:33 +00:00
Ying Wang
9c44021535 Add WITH_DEXPREOPT to the list of protected global variables.
Bug: 14380196
Change-Id: I02cff39eeaf2deddf434c0c310063e4b341edd43
2014-05-01 20:55:30 -07:00
Colin Cross
2a4f0ff32f build: reverse abi list when TARGET_PREFER_32_BIT_APPS is set
If the product prefers 32-bit apps signal that preference to
PackageManager by reversing the abi list.

Also uses the absence of TARGET_SUPPORTS_32_BIT_APPS and
TARGET_SUPPORTS_64_BIT_APPS to remove those ABIs from the
ABI list.

Change-Id: I504cea21b6f800a7a9e7706b4a7123d3fb07c383
2014-05-01 10:55:43 -07:00
Torne (Richard Coles)
f0b5bfec7b am a0267df2: Merge "Remove libpac and v8 from the 64-bit blacklist."
* commit 'a0267df234db59d34891a01e0761233abc9ae4b1':
  Remove libpac and v8 from the 64-bit blacklist.
2014-05-01 09:20:19 +00:00
Torne (Richard Coles)
a0267df234 Merge "Remove libpac and v8 from the 64-bit blacklist." 2014-05-01 09:17:26 +00:00
Colin Cross
a3339e98e6 build: split TARGET_PREFER_32_BIT for apps and executables
Introduce two new flags, TARGET_PREFER_32_BIT_APPS and
TARGET_PREFER_32_BIT_EXECUTABLES that individually control
compilation of apps and executables.  If TARGET_PREFER_32_BIT is
set, the build system will automatically set both new flags.

Change-Id: Ibd2165e688675c2884d9e7ddf82d7dd6c28521f3
2014-04-30 18:18:59 -07:00
Tim Murray
6f144b8f65 Add -no-integrated-as for ARM64.
Change-Id: I7faba190554aa43f43b2eb164bdc7b3bfab68ef0
2014-04-30 15:55:52 -07:00
Tim Murray
27fe940676 am 7e65b6c1: Merge "Remove tblgen and clang-tblgen from prebuilts."
* commit '7e65b6c1e53a51db0aa65126f2453f27daa0f22f':
  Remove tblgen and clang-tblgen from prebuilts.
2014-04-30 21:52:33 +00:00
Tim Murray
75b58cc827 Remove tblgen and clang-tblgen from prebuilts.
Change-Id: I89fb74da5a516d0f768f72518a401216f8a5b1a8
2014-04-30 13:54:32 -07:00
Bill Yi
1e4adfa837 Merge commit '8113e43601aac7702b9ec007e81a179826143d1e' into HEAD 2014-04-29 11:32:53 -07:00
Andrew Boie
155fc8b5fe add silvermont x86 architecture
This is used for Baytrail targets.

Change-Id: I5a2fa6dbb8217a326ee09f5ea434885718ab3f0c
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
2014-04-30 01:23:25 +08:00
Torne (Richard Coles)
91d4944434 Remove libpac and v8 from the 64-bit blacklist.
external/chromium-libpac has been updated to depend on the copy of V8 in
external/chromium_org, and its makefiles updated to be multilib-safe.
external/v8 is thus unused and has been removed from the tree.

Bug: 12452053
Change-Id: I757fa187f7f67cd9a89d4b228d4ce3ed6d2858b1
2014-04-29 10:23:56 +01:00
Andrew Hsieh
140761af09 Rename my_ndk_version_root to my_ndk_sysroot; and _include and _lib
prebuilts/ndk/current/platforms/android-19/arch-x86_64/usr/lib
is renamed to usr/lib64 to be more consistent with rest of
lib paths in x86_64 toolchain, which is multilib

See https://android-review.googlesource.com/#/c/92441/

Change-Id: I4e59245505d0fa87ae3608e81e715ccfcecc5ec8
2014-04-25 23:47:10 -07:00
Ying Wang
676e11fed8 Merge "include LGPL projects in GPL archives" 2014-04-25 21:56:27 +00:00
Tim Murray
43d5e1bbc4 Build changes necessary for LLVM 3.5 switch.
Change-Id: Icb6065daada7cb1d7425206830a4ef9e23454c03

Conflicts:
	core/clang/arm.mk
2014-04-24 13:14:32 -07:00
Elliott Hughes
847fd0311f Merge "Leave 'linux' defined on x86/x86-64, like arm." 2014-04-24 16:19:17 +00:00
Elliott Hughes
1076c5685b Merge "Leave 'linux' defined on mips/mips64, like arm." 2014-04-24 16:16:06 +00:00
Torne (Richard Coles)
0933cf22fc Remove chromium_org and webview from the 64-bit blacklist.
external/chromium_org has been updated to handle 64-bit architectures
correctly in its makefiles; remove it from the blacklist so we can start
experimenting with building a 64/32 multilib version.

Change-Id: Ieb0e4f3cfea1578e01954c4656df90cd8d36b8cc
2014-04-24 13:30:47 +01:00
Elliott Hughes
1acd8b0552 Leave 'linux' defined on mips/mips64, like arm.
Change-Id: Idf1e781c34d45d1e20b7e5542d79201ae93668fe
2014-04-23 23:24:36 -07:00
Elliott Hughes
2c8e95528c Leave 'linux' defined on x86/x86-64, like arm.
Change-Id: I53013a45c19a643a985de3f339b8b3f8f4dc39d2
2014-04-23 23:09:30 -07:00
Andrew Hsieh
dfde360b2c Switch to new host prebuilt x86_64-linux-glibc2.11-4.6
Change-Id: I763398d523bf4851a13722f72b12ec69d7a4bb4f
2014-04-23 14:47:00 -07:00
Tim Murray
d318ba66f9 Update build system for better Clang behavior on Mac.
Change-Id: I1813954681b670807d7e3faaf6d5f5a769cc5f2e
2014-04-22 09:26:22 -07:00
Ying Wang
695e826a0c Update rules to install JNI libraries.
Previously we have to use LOCAL_REQUIRED_MODULES to install jni
libraries for an apk in bundled build.
With this change, we'll use LOCAL_JNI_SHARED_LIBRARIES alone to
install jni shared libraries.

The new rules are:
- If we are doing unbundled build, or the apk isn't going to be
  installed to system partitions, we'll embed the jni libs in the
  built apk.
- Otherwise, the jni libraries will be installed to the system
  lib path, and symlinks created in the app specific lib path.

Change-Id: Id6bd5301eb632bda3593664acee580f0d8b1d5d4
2014-04-18 16:36:19 -07:00
Ian Rogers
67c209281f Merge "For 64-bit, use 32-bit DEXPREOPT if zygote64 isn't enabled." 2014-04-18 23:10:31 +00:00
Ian Rogers
5d186aee8e For 64-bit, use 32-bit DEXPREOPT if zygote64 isn't enabled.
Change-Id: Ia95d74517f8182031d6044ae55559010a98ec5ca
2014-04-18 15:23:40 -07:00
Ben Cheng
e76fee59fc Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)"
This reverts commit 084a7f8387.

GCC 4.9 still has stability issues (b/14160872)

Change-Id: I4d40829dbbfac0e7b6cd7eaf9924744bc5714271
2014-04-18 18:34:35 +00:00
Ben Cheng
084a7f8387 Use aarch64-linux-android-4.9 for arm64 build (attempt #3)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*
GCC has been patched to disable codegen for calling
__cxa_throw_bad_array_new_length.

Change-Id: Ie0bf38357c0cf3d265d8b5dd3c2b8a8fd83b1de1
2014-04-16 12:18:14 -07:00
Ben Cheng
d32bbe7d06 Merge "Explicitly link libstdc++.a for static gtest executables." 2014-04-16 17:03:21 +00:00
Ben Cheng
e34bb09eab Explicitly link libstdc++.a for static gtest executables.
Change-Id: I29e3a4036264acd00dfa3229c9d0fc52ee20830e
2014-04-16 09:42:56 -07:00
Andrew Hsieh
50536c20af Add -Wl,-maarch64linux
The "-maarch64linux" switch is needed before aarch64-*4.8 is rebuilt with
backport of upstream patch, see https://android-review.googlesource.com/#/c/91099/

The existing ld.bfd is fine because it's configured to support
aarch64linux only.  ld.mcld (see https://android-review.googlesource.com/#/c/91047)
needs explicit emulation switch because it supports multiple targets

Change-Id: Idc1a491c5722ea9e26db917b667b1000bccc1f60
2014-04-15 11:54:06 -07:00
Narayan Kamath
22261a3f9b Merge ""desktop" linux has Posix clocks." 2014-04-15 10:58:52 +00:00
Colin Cross
5b1fa1c8a0 Merge "build: remove LOCAL_NO_2ND_ARCH" 2014-04-12 00:06:30 +00:00
Colin Cross
149d65b177 build: remove LOCAL_NO_2ND_ARCH
Delete LOCAL_NO_2ND_ARCH, it is no longer used.  Equivalent
functionality is available with LOCAL_MULTILIB := first.

Change-Id: I36838a8a7e10b0a59ca0022c4c8a3a190e782c71
2014-04-11 16:57:36 -07:00
Ben Cheng
38fef38c40 Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)"
This reverts commit 1ae9b213eb.
Sigh... new warnings found by 4.9 break checkbuild.

Change-Id: I46ad622fa9c8ac4fb1e15e29bb400634abc5914c
2014-04-11 23:36:25 +00:00
Andrew Boie
08a943b16a include LGPL projects in GPL archives
LGPL projects need their source code distributed under very
similar conditions to GPL and MPL, the only difference is the
conditions under which they may be linked. It makes sense to
include them in the GPL archive tarballs.

Change-Id: I2c2df03906bfeee55566102aa688e4cdc283700b
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2014-04-11 21:38:00 +00:00
Ben Cheng
1ae9b213eb Use aarch64-linux-android-4.9 for arm64 build (attempt #2)
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7

NDK libraries are still picked up from prebuilts/ndk/*/4.8/*
GCC has been patched to disable codegen for calling
 __cxa_throw_bad_array_new_length.

Change-Id: Ie647fc4c6b227d6bee792f04d5c2f02eb0099559
2014-04-11 12:22:56 -07:00
Ben Cheng
eec11d9727 Merge "Decouple platform compiler and NDK library versioning." 2014-04-11 17:02:32 +00:00
Ben Cheng
4de6fa4069 Decouple platform compiler and NDK library versioning.
TARGET_GCC_VERSION: select compiler from prebuilts/gcc/...
TARGET_NDK_GCC_VERSION: select libraries from prebuilts/ndk/...

Change-Id: I4422a42cdc97aa92b40798014cba82c3c123bbd2
2014-04-10 22:46:26 -07:00
Colin Cross
161cd77f21 build: remove packages/ from 64-bit blacklist
Everything under packages/ will build for 64-bit now, and
package.mk has been updated to not produce 64-bit libraries
on devices that don't support them (all of them right now).

Change-Id: I2c10e41f727cfc8fe237819308a6dfa34c4fff3f
2014-04-10 20:44:24 -07:00
Colin Cross
1750944332 build: use TARGET_SUPPORTS_32_BIT_APPS and TARGET_SUPPORTS_64_BIT_APPS
Use TARGET_SUPPORTS_32_BIT_APPS and TARGET_SUPPORTS_64_BIT_APPS to
determine which native libraries to build for an app.  If
both are set, it will use 64-bit unless TARGET_PREFER_32_BIT is set.
If only one is set, it will only build apps that work on that
architecture.  If neither is set it will fall back to only building
32-bit apps.

On existing 32-bit devices neither variable will be set, and the
build system will continue to build 32-bit apps.

Once a device has support for a 64-bit runtime, the same logic
that selects the dual runtimes should set TARGET_SUPPORTS_32_BIT_APPS
and TARGET_SUPPORTS_64_BIT_APPS, and packages will be built for
the preferred arch, or fall back to the non-preferrred arch if
necessary.

For testing, a device may set TARGET_SUPPORTS_64_BIT_APPS without
TARGET_SUPPORTS_32_BIT_APPS to produce only 64-bit apps.

Change-Id: I5b5e23f15602c3cf9bd96791971208a85492c7a3
2014-04-10 20:44:24 -07:00
Colin Cross
dc1c95aa20 build: add support for LOCAL_MULTILIB := 64
I don't expect it to be useful for modules, but package.mk will
use it to only install 64-bit native apps on devices that
only have a 64-bit zygote.

Change-Id: If3f5a81c3a60bd13fa6ded08e2a7579a29877324
2014-04-10 15:49:38 -07:00
Colin Cross
d3624d5f48 build: fix TARGET_PREFER_32_BIT
TARGET_PREFER_32_BIT can't assume that the 32-bit rule is allowed,
it needs to try the 32-bit rule first, then fall back to the 64-bit
rule in case the module specifies LOCAL_MODULE_TARGET_ARCH or
LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH to disallow the 32-bit build.

Also port TARGET_PREFER_32_BIT to package.mk.

Change-Id: I07520b75c4ee11a1e95a82b3afa2a33d4907eb04
2014-04-10 15:49:32 -07:00
Ben Cheng
13eaf184f6 Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build."" 2014-04-10 17:14:57 +00:00
Ben Cheng
81892e29ff Revert "Use aarch64-linux-android-4.9 for arm64 build."
This reverts commit 6154690d86.

Change-Id: I7427ad6ca1f74ad632229348bac31ebdbc0590ad
2014-04-10 17:14:01 +00:00
Narayan Kamath
163140ceaf "desktop" linux has Posix clocks.
Change-Id: I90885a2bbb65f14f774ae72b2ca6738176bf0341
2014-04-10 17:36:53 +01:00
Ben Cheng
d957d6bbdb Merge "Use aarch64-linux-android-4.9 for arm64 build." 2014-04-10 16:33:51 +00:00
Ben Cheng
6154690d86 Use aarch64-linux-android-4.9 for arm64 build.
Change-Id: I63e1b54947326fb5da07af7691d4729bcbf99ac1
GCC: 4.9 (which supports -fstack-protector)
Binutils: 2.24 (which supports gc-sections)
GDB: 7.7
2014-04-09 15:58:08 -07:00
Ying Wang
d81d71a020 Increase the maximum javac heap size again.
Change-Id: Ic3422650ea22977f3dcfd74505cb287ff6543c2d
2014-04-09 14:27:29 -07:00
Narayan Kamath
e6243e176b Stop defining HAVE_TIMEDWAIT_MONOTONIC.
We no longer provide this function in bionic. All callers
should be moved over to pthread_condattr_setclock().

Change-Id: Iccd3384b40de423f7d5f9521b6d8073bf8bdea42
2014-04-09 16:08:09 +00:00
Narayan Kamath
cf61a7a0db Merge "Add 32 / 64 bit abi lists to system properties." 2014-04-09 08:48:04 +00:00
Narayan Kamath
7303ebda84 Add 32 / 64 bit abi lists to system properties.
Introduce ro.product.cpu.abilist32 / abilist64, which are
comma separated lists of the 32 and 64 bit ABIs that the
device supports. These properties are used by the zygote and
system server to determine what ABI an app should be
started with.

This changes move abilist related make steps out of envsetup.mk
and into config.mk because they depend on variables set by
core/combo/***. Additionally, config.mk performs a few additional
cleanups of these variables (like stripping them) after the
inclusion of envsetup.mk so this seems like a better place to
put them.

bug: 13647418

Change-Id: I3db39bdd761220c5b4966f651892fb592396f9a1
2014-04-08 17:40:40 +01:00
Ying Wang
bdac8cf148 Merge "Fix javadoc error "class file for sun.util.resources.OpenListResourceBundle not found"" 2014-04-07 22:41:22 +00:00
Ying Wang
5b6b46459c Fix javadoc error "class file for sun.util.resources.OpenListResourceBundle not found"
It seems to be a javac/javadoc bug.
See https://code.google.com/p/doclava/issues/detail?id=38

sun.util.resources.OpenListResourceBundle is a class defined in the host rt.jar,
but sometimes on some platform javadoc/javac can't find it.
-XDignore.symbol.file tells javadoc/javac to skip the stubs file ct.sym
and link against rt.jar directly.

Change-Id: I3930f7399fc14b2d6b43c29f737fa90f37515aff
2014-04-07 15:19:33 -07:00
Ying Wang
584d8adbea Different bootclasspath for droiddoc.
- If it's host module, don't set bootclasspath;
- If it's arget module,
  - It can build against the API stubs;
  - It can build against a historical SDK version;
  - It can build against core.jar

Change-Id: Id1ec3ba624bc38068b206ad7173f4facf590e021
2014-04-07 15:14:50 -07:00
Narayan Kamath
f122d41b75 Fix droiddoc generation.
We want javadoc generated from the standard libraries
we supply and not the host standard libraries.

This also has the side effect of fixing javadoc generation
for java7 APIs that android introduced, while compiling
with java6.

bug: 8992787
Change-Id: Idebc7e12c7743a43b425ef4971f4482719fd480d
2014-04-07 15:08:18 -07:00
Narayan Kamath
c84889b80a Build with java7 by default.
All introduce a flag LEGACY_USE_JAVA6 to force java6 builds.
This is an unsupported configuration, and provided temporarily
to iron out regressions and compare build output (if required.).

- Increment the version check sequence number.
- Move a more specific check (OpenJDK vs non OpenJDK) after
  the more general version check.
- Update the link in the version check error message to the
  "initializing" page instead of the "download" page. The latter
  talks about repo, mainly.

bug: 8992787

Change-Id: I313e17b1911768d4f3bc318c4162c53dec6eaf0d

Conflicts:
	core/main.mk
2014-04-04 18:44:47 -07:00
Ying Wang
faf3d5ed0f Disable host -fPIE if BUILD_HOST_static is set.
It turns out -static doesn't work with -fPIE.

Bug: 13568878
Change-Id: I66951a5517dece1c5f4f22c329cf703bd99b5163
2014-04-04 14:38:14 -07:00
Ying Wang
8a52b231d2 Unset _JAVA_OPTIONS before running "java -version".
Unfortunately the previous approach of grepping out java version before
"head -n 1" clash with the effort of running "java -version" only once.

Change-Id: Ic78719c3bf1a54a45342d74bbbfa8e83bbc1bce1
2014-04-02 18:15:10 -07:00
Torne (Richard Coles)
c783b9bda9 Merge "Add GYP as a target type that requires 2nd arch." 2014-04-02 17:20:11 +00:00
Narayan Kamath
bee0ec4196 Add warning message for java6 builds.
The instruction URL has been amended and a few additional
details have been added.

(cherry picked from 8c06afdea3)

Change-Id: Icaffc3b13ed881ac7e29f2021ed31eb1f877a5ab
2014-04-02 13:16:15 +01:00
Ying Wang
8d45e51803 Call "java[c] -version" only once
and print out the full output if error occurs.
Bug: 11672548

(cherry picked from 7b66d366bf)

Change-Id: I8e2f2ffa2f28146405273b04667efe3c8d1c03ad
2014-04-02 10:45:17 +00:00
Narayan Kamath
2f5de9f504 Merge "Bring main.mk in sync with master." 2014-04-02 10:45:07 +00:00
Torne (Richard Coles)
3972253b0f Add GYP as a target type that requires 2nd arch.
"GYP" class targets are used by external/chromium_org for gyp's "none"
type. The processing in these targets needs a separate intermediate
directory for the primary/secondary architecture, so add it to the list
in intermediates-dir-for along with libraries/executables.

Change-Id: Id05899c83b45ed0647dfbfa6b0b2e7f61b04348b
2014-04-02 11:33:17 +01:00
Nicolas Geoffray
38c0ac7386 Merge "Use debug versions of dex2oat explicitly." 2014-04-02 08:45:56 +00:00
Dmitriy Ivanov
00479a9fe0 Remove redundant my_target_global_ldflags
* Fix: my_target_global_ldflags is defined in binary.mk
    so they effectivelly override previous definition

Change-Id: I9c7d9bde82c3a6d25a94ae109fa71ecaa33640b0
2014-04-01 16:36:21 -07:00
Tim Murray
125a3c9fb0 Always use prebuilt clang, even if we're explicitly building clang/LLVM.
This is needed for self-hosting Clang/LLVM.

bug 13588226

Change-Id: Ic98adc2b174b12ce046b7b65bbc28901a766a485
2014-04-01 16:08:51 -07:00
Brian Carlstrom
49c80cd9b6 cortex-a7 supports div
(cherry picked from commit cece45d226)

Change-Id: I9975171ef2c2cd3a9481fa0896473fec684095f3
2014-04-01 10:25:59 -07:00
Narayan Kamath
d5fb782682 Bring main.mk in sync with master.
These lines were removed in aosp in commit e2d27887b
but a bad merge conflict resolution left them in master.

Subsequent changes on master started using these variables
so they're being brought back.

Change-Id: Ic8f3c295130c47eb0d66057880f9d4f70c89af94
2014-04-01 13:13:13 +01:00
Nicolas Geoffray
ed154c3ba6 Use debug versions of dex2oat explicitly.
Change-Id: Ie7c238908a5739af752a08fec1a04914026a8f96
2014-04-01 08:43:26 +01:00
Daniel Leung
625974cf2a Add intel to the vendor whitelist
Change-Id: I91d6ff72629523050b4f26c2d731cac90ef49348
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Reviewed-by: Jovanovic, Radivoje <radivoje.jovanovic@intel.com>
Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com>
Reviewed-by: Kumar-mayernik, Nisha <nisha.kumar-mayernik@intel.com>
Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
Tested-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
2014-04-01 10:38:12 +08:00
Ying Wang
b34af41e57 Merge "Fix java version detection when _JAVA_OPTIONS is set." 2014-03-31 23:53:52 +00:00
Peter Ammon
bb406bf4c0 Fix java version detection when _JAVA_OPTIONS is set.
_JAVA_OPTIONS is an environment variable that
can be used to affect the behavior of java and javac.
It is currently required to get Android to build on
some configurations, where the default Java heap size
is too small. Unfortunately, if _JAVA_OPTIONS is set,
both java and javac will output its value to the console
as the first line on every invocation, including trivial
ones like java -version. This will confuse main.mk’s
version detection, which only looks at the first line of
output. Tweak the version detection to run grep before
head, so that the _JAVA_OPTIONS line is filtered by the grep.

Change-Id: I69aee52b56d27711b7d3087ec6b3ebab07ffc3af
2014-03-31 15:36:02 -07:00
Christopher Ferris
0c4870a4cd Merge "Specify -mcpu=cortex-a15 for denver CPU variants." 2014-03-31 19:06:28 +00:00
Ying Wang
1c380c13d9 Merge "Remove the unnecessary indirection of TARGET_STRIP_COMMAND" 2014-03-31 17:30:06 +00:00
Narayan Kamath
431b4bb354 Merge "Extend the CPU ABI specification mechanism." 2014-03-31 12:09:51 +00:00
Ying Wang
ce1c596e15 Remove the unnecessary indirection of TARGET_STRIP_COMMAND
Now all archs use the same strip command which can be put just in
transform-to-stripped.

Change-Id: Ief79697d47ea142fc9e63e63a7e2dace9e839165
2014-03-28 17:25:34 -07:00
Mathieu Chartier
1da02a1ae1 Merge "Change LIBART_IMG_TARGET_BASE_ADDRESS to 0x70000000" 2014-03-28 19:19:13 +00:00
Narayan Kamath
1a43b375b4 Extend the CPU ABI specification mechanism.
Add a (read only) system property that is a comma
separated list of ABIs supported by the device in order
of preference. For example, typical arm-v8 device might
define:

ro.cpu.abilist = arm64-v8a,armeabi-v7a,armeabi

For most purposes, a single flattened list like the above is
probably more useful than the parallel system of variables
TARGET_CPU_ABI{2} / TARGET_2ND_ARCH_CPU_ABI{2} that we use
in the build system.

Change-Id: If9102669ad9f5f8fd89a8bcc5bf88cca1acadc3c
2014-03-28 17:10:47 +00:00
Ying Wang
01f11b2aa9 Increase the maximum javac heap size.
Java 7 needs more memory when you run some annotation tools.

Change-Id: Ia8b423244b9ce164500b24867fe2b3d10a5089ff
2014-03-26 19:23:46 -07:00
Colin Cross
e6e48f67d8 add support for LOCAL_MULTILIB
LOCAL_MULTILIB replaces LOCAL_32_BIT_ONLY and
LOCAL_NO_2ND_ARCH, although both are still supported.

Set LOCAL_MULTILIB := 32 to always build a module 32-bit.
This is the same as specifying LOCAL_32_BIT_ONLY.

Set LOCAL_MULTILIB := first to always build a module for
the first architecture (64-bit on a 64-bit target, 32-bit on a
32-bit target).  This is the same as specifying LOCAL_NO_2ND_ARCH.

Set LOCAL_MULTILIB := both to build for both architectures
on a mulitlib (64-bit) target.

If LOCAL_MULTILIB is not set libraries will default to "both",
and executables, packages, and prebuilts will default to building
for the first architecture if supported by the module, otherwise
the second.

Executables that set LOCAL_MULTILIB := both must set either
LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 or
LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to specify how to
differentiate the install locations of the two versions.

Change-Id: I22ab6aa342b231c307b1d8a86cea4fd91eea39f5
2014-03-26 13:12:59 -07:00
Colin Cross
5a9db90e40 add support for LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64
Some executables will need to be built for both 32-bit and 64-bit.
For linker/linker64, debuggerd/debuggerd64, and a few more, they
will be installed in the same path (/system/bin), but with different
filenames.  Allow the module to specify LOCAL_MODULE_STEM_32 and
LOCAL_MODULE_STEM_64 to name the two versions.

Change-Id: I573e8678c7332245a064f31246be0a05f0a9e25f
2014-03-25 13:49:58 -07:00
Colin Cross
87974056d9 add support for LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64
Some executables will need to be built for both 32-bit and 64-bit.
For tests, it will be convienient to keep the name of the executable
the same, but install them in a different location.  Add
LOCAL_MODULE_PATH_32 and LOCAL_MODULE_PATH_64 to allow a module
to specify different paths for 32-bit and 64-bit executables.

Change-Id: I3be830e899c6d485fe55c25c66b20b3fe64c795e
2014-03-25 13:48:40 -07:00
Tim Murray
e64ce73e54 am b35094ec: am 01aa01db: Merge "Make Clang host builds hermetic on Linux."
* commit 'b35094ec709c8de7f3f7d6dbd54655ec99cd9529':
  Make Clang host builds hermetic on Linux.
2014-03-25 18:40:07 +00:00
Tim Murray
01aa01dbfa Merge "Make Clang host builds hermetic on Linux." 2014-03-25 18:33:29 +00:00
Colin Cross
35bd1357c9 am 0143ee4a: am a3c76c28: Merge "remove libeffects from 64-bit blacklist"
* commit '0143ee4a5779620659c7b59e4294359c4a96af78':
  remove libeffects from 64-bit blacklist
2014-03-25 18:07:12 +00:00
Colin Cross
a3c76c2824 Merge "remove libeffects from 64-bit blacklist" 2014-03-25 17:54:56 +00:00
Andrew Hsieh
72e8d2a3a4 am c550cd45: am fa97fe67: Merge "Pick gnu-libstdc++ based on TARGET_GCC_VERSION"
* commit 'c550cd45536c7153726c502886bf32797e997dd3':
  Pick gnu-libstdc++ based on TARGET_GCC_VERSION
2014-03-25 02:54:04 +00:00
Tim Murray
02cefc93a8 Make Clang host builds hermetic on Linux.
This lays the groundwork for making builds hermetic on Darwin as well.
That will be fixed in a future patch.

bug 13435344

Change-Id: Iae82d0b9efad0598d682ff5fd4daa737aa607866
2014-03-24 19:38:47 -07:00
Andrew Hsieh
92d50c1a10 Pick gnu-libstdc++ based on TARGET_GCC_VERSION
Previously we have only one set of include/lib paths for
LOCAL_NDK_STL_VARIANT:=gnustl_static regardless of GCC
version, which is wrong because each GCC version
come with its own libstdc++.

Change-Id: I2a01c2120b6948aedce00e2f8d08dfc6932126dd
2014-03-25 09:46:27 +08:00
Colin Cross
966c9194a6 remove libeffects from 64-bit blacklist
Everything under frameworks/av/media/libeffects compiles fine for
64-bit

Change-Id: I03519a98903b7d65936053ef7eda8926cce60ea0
2014-03-24 18:40:11 -07:00
Ying Wang
288bf3a377 am 266cf4f2: am f39752e9: Skip the product-scoped --product flag if it\'s set in LOCAL_AAPT_FLAGS
* commit '266cf4f2595323170fe02db05835884b4522a0f9':
  Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
2014-03-24 21:26:51 +00:00
Ying Wang
266cf4f259 am f39752e9: Skip the product-scoped --product flag if it\'s set in LOCAL_AAPT_FLAGS
* commit 'f39752e99b4e5083f1e91c46722f87def8143b49':
  Skip the product-scoped --product flag if it's set in LOCAL_AAPT_FLAGS
2014-03-24 21:21:26 +00:00
Shu Zhang
453afb242c Specify -mcpu=cortex-a15 for denver CPU variants.
Change-Id: Ic27484c92a48b45148021a61420ffdd55a9dd945
2014-03-24 16:19:50 +08:00