Commit Graph

15078 Commits

Author SHA1 Message Date
Ying Wang 488b23d96d Merge "Update rules to install JNI libraries." 2014-04-18 23:54:43 +00: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 5c72b72666 Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)"" 2014-04-18 18:35:29 +00: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 63030fe608 Merge "Use aarch64-linux-android-4.9 for arm64 build (attempt #3)" 2014-04-17 16:54:24 +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
Ying Wang 0ac89b4595 Merge "Remove libGLES_android from non-emulator builds; Remove screenrecord from SDK build." 2014-04-15 23:32:42 +00:00
Ying Wang e948255ac6 Remove libGLES_android from non-emulator builds; Remove screenrecord from SDK build.
Bug: 11368415
Bug: 14087863
Change-Id: I05d406d174ea1d1bf67c7922c03950e700978baa
2014-04-15 14:42:27 -07:00
Andrew Hsieh 695d8f6956 Merge "Add -Wl,-maarch64linux" 2014-04-15 21:39:07 +00: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 065c41809f Merge "Revert "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)"" 2014-04-11 23:37:44 +00: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
Ben Cheng f702d6d1d5 Merge "Use aarch64-linux-android-4.9 for arm64 build (attempt #2)" 2014-04-11 22:36:45 +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
Colin Cross a355ae1250 Merge changes I2c10e41f,I5b5e23f1,If3f5a81c,I07520b75
* changes:
  build: remove packages/ from 64-bit blacklist
  build: use TARGET_SUPPORTS_32_BIT_APPS and TARGET_SUPPORTS_64_BIT_APPS
  build: add support for LOCAL_MULTILIB := 64
  build: fix TARGET_PREFER_32_BIT
2014-04-11 05:50:10 +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
Colin Cross 80f7dbd4de Merge "gdbclient: use 64-bit suffix for all library symbols" 2014-04-10 20:15:22 +00:00
Colin Cross 84480ad0ee gdbclient: use 64-bit suffix for all library symbols
Correct the solib-search-path for 64-bit to look in /system/lib64
for all libraries including those in subdirectories.

Change-Id: I606a0eae1137a857564facc79306ad83097d9659
2014-04-10 12:51:39 -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 1a4676a17c Merge "Increase the maximum javac heap size again." 2014-04-09 21:29:19 +00:00
Ying Wang d81d71a020 Increase the maximum javac heap size again.
Change-Id: Ic3422650ea22977f3dcfd74505cb287ff6543c2d
2014-04-09 14:27:29 -07:00
Narayan Kamath 94147a919b Merge "Stop defining HAVE_TIMEDWAIT_MONOTONIC." 2014-04-09 16:08:31 +00: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 1b08226afa Merge "Different bootclasspath for droiddoc." 2014-04-07 22:39:06 +00:00
Ying Wang cb733bc564 Merge "Fix droiddoc generation." 2014-04-07 22:26:10 +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
Ying Wang 260942fa82 Merge "Build with java7 by default." 2014-04-05 01:46:21 +00: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 b5956468e4 Merge "Disable host -fPIE if BUILD_HOST_static is set." 2014-04-04 23:10:28 +00:00