For apps, we don't want to set up the prebuilt apk rule twice even if
"LOCAL_MULTILIB := both", which for apps really means to set up only the
jni library rules twice. See also build/core/install_jni_libs.mk.
Change-Id: Id0406c3c605c6ede613dba06178a1710590c09b3
This will be necessary to support -std=gnu99 mode for clang 3.6, which
defaults to C11 mode (unlike prior releases that use C99).
Change-Id: Iea84582f9f12ba76b988463cbc0a20bd61042538
This breaks our build-art-host and build-art-target. I think we need to rewrite those rules as well.
This reverts commit 29f0a487b0.
Change-Id: I2e6674e01a2042e9d53e28ecd3e6bdf76fa806a3
There are a _lot_ of users of `typeof` in the tree, and they'll need a
GNU flavored standard. Rather than fixing up all of these
individually, let's just use gnu++11 as the default.
Bug: 18466763
Change-Id: Ia1bd3adaa74fadba259fda3d37653fb8d5cff69a
There are no more users of TARGET_CPU_SMP in the current codebase.
Expert users should set "-smp" in DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES
for targets that run on a single-core CPU.
Change-Id: Ib94865f05a92c9a4622540cebc18ded4bdfa6363
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
This caused a lot of failures in the libc++ tests, since linking
libgcc.a before libc++.so means that the wrong unwinder will be used.
This patch is still correct, but I will revert for now while I find a
good way to apply it without breaking unwinding.
This reverts commit 741b36e922.
Change-Id: I57e0b89534adf5c1677dbf2f64ac750e74bd5fbf
Allow a compiled-classes file for pre-opting.
Bug: 18410571
(cherry picked from commit 4fec0bb265)
Change-Id: I8c69dd0fb8c04aaae0c4f062049cc9cce7d755c7
When WITH_DEXPREOPT=true is set, if we also set WITH_DEXPREOPT_PIC=true
then the build will generate position-independent OAT images.
This means that all the system applications no longer need to be
relocated into /data/dalvik-cache and this can achieve saving disk space
at the cost of slightly slower running code.
Bug: 18035729
(cherry picked from commit da9f1a7e82)
Change-Id: Ifd517c842f48bf31568bf5ff56667298d422c2c0
No one's using ARCH_AARCH64 or AARCH_MIPS64 yet, and ARCH_PPC was always more
aspirational than real.
Change-Id: I07c6cbad6eb0917c4c24848a98c3bc9a3fe72db6
Previously we store tag's installed modules in a separate variable
ALL_MODULE_TAGS.$(tag). However we only record the main installed file
for a module, but omit affiliated files like .odex.
With this change, we handle the tagged module the same way as modules in
PRODUCT_PACKAGES.
Change-Id: I7972528a4df5a4ba8bc98930864da9672d32d7fe
Install preloaded-classes as a standalone configuration file
/system/etc/preloaded-classes, so we can configure different file per product.
To override the default frameworks/base/preloaded-classes, just override
in your product configuration makefile with PRODUCT_COPY_FILES before it
inherits from build/target/product/base.mk: if there are multiple items
in PRODUCT_COPY_FILES with the same destination, the first one takes
precedence.
Bug: 18305157
Change-Id: I937632b4a1aa73310ec90e73fd708fbd0c704a21
This feature is now available in AOSP, but not for any shipped
release. We don't have an API version for the release that this will
be available in yet, so for now the check is commented out.
Bug: 18395015
Change-Id: I247233d047ed5a7564d6602d47c9ad962313c8dc
The previous position of libgcc.a/libatomic.a on the link line causes
the linker to prefer satisfying dependencies from these libraries from
other libraries that might include them, rather than from libgcc.a (or
libatomic.a) itself. This imposes an ABI requirement that those
intermediate shared libraries _always_ export those symbols, which is
undesirable.
Change-Id: Ib593236b475d3e98356b2b1be6f96cee2b67378f
Previously, there was one generic definition for each of the
transform-o-to-* functions in definitions.mk, and one target specific
one in each combo/TARGET_*.mk. The generic one was entirely unused,
and the target specific ones were all nearly identical.
Changing anything in these functions was tedious at best, and often
error prone. The differences between any 32-bit arch and its 64-bit
equivalent were restricted to the name of the linker, and the ARM and
MIPS definitions were identical. The few differences between ARM and
x86 looked to be compatibility for an old (ca. 2008) toolchain issue
with --gc-sections, and a bug (LDFLAGS coming first rather than
later).
To simplify things, I've moved the definitions for these out of
combo/TARGET_*.mk and back into definitions.mk. The differences
between ARM and x86 have been scrapped. Anything that really does
still need to be target specific can be handled as I have the linker:
add a TARGET_FOO variable to the given target and then add it to the
generic definition.
Change-Id: I54dc1bffc32ac39f27f0b87247dd6a6dbaf0b162
Now that the platforms stlport linked gtest is gone, we don't need the
logic for this any more. All platform tests will use libc++ (which has
been renamed to libgtest without a suffix).
Note that tests built with the NDK will still use stlport, but they
will use the NDK's stlport, not the platform's.
Bug: 15193147
Change-Id: Ifcb2489ed60c41e4ed028096b516c1ee643de907