We can save some space for platform build with this.
Previously an extra libgcc.a was put before libc.so so libraries built
against new platform can run on old platforms. This is needed only for
unbundled build.
Bug: 8805022
Bug: 8247455
Change-Id: I3c3e0092b06ec3804659d5cae048d29e0d2bf7ad
When the NOTICE file for a module changed, the new NOTICE was being
concatenated onto the end of the old one in non-clean builds, taking up
more and more space and presumably duplicating most of the content. Only
one set of rules for a given file can exist in make, so there cannot be
a case where more than one $(notice_file) was intentionally being
concatenated together as this would be an error.
Change-Id: I0f5fae498225eaee5cc75d854223b5ba790fcebe
Enable _FORTIFY_SOURCE=2 for x86 and MIPS.
Currently, this change is a no-op, as Android's libc doesn't
support _FORTIFY_SOURCE > 1, yet.
The ARM change was made in 316f720b91
Change-Id: Iafe90beadf9b6a41ea294b7107cf4f18141acf3a
This is necessary to ensure that we correctly generate
documentation for these packages.
Bug: 8175766
Change-Id: Ia1c359c744d68f9b9423fd0e9df5516890792936
Enable _FORTIFY_SOURCE=2 for ARM.
Currently, this change is a no-op, as Android's libc doesn't
support _FORTIFY_SOURCE > 1, yet.
Change-Id: Ib4c8e44e6949a37352c153e3c52a4fa001f18738
DBUS had been needed by bluetooth bluz stack. It is not needed after
we replaced bluez stack with bluedroid stack.
bug 6872904
Change-Id: I952624e61c1e570c7e8d5a23937ab93a173d135c
$(built_odex) depends on $(LOCAL_BUILT_MODULE) but doesn't have any build
recipe. It is built by the rules of $(LOCAL_BUILT_MODULE) that results in
a subtle bug: $(built_odex) is always newer than $(LOCAL_BUILT_MODULE)
if $(LOCAL_BUILT_MODULE) rebuilt. Therefore 'make' thinks the targets
(/system/app/$app.odex) depending on $(built_odex) don't need to be updated.
It seems an allegedly optimization bug of 'make'.
The simple fix is to explicitly add $(LOCAL_BUILT_MODULE) as a dependency
of $(installed_odex).
Since commit 6c86a1 we have split LOCAL_SHARED_LIBRARIES out of
LOCAL_REQUIRED_MODULES and the vendor check does no longer cover the
installed modules introduced by LOCAL_SHARED_LIBRARIES.
This change brings back the coverage.
Change-Id: Ie78692e48f173a3350792eb2fee8127ff9433caa
Usage:
LOCAL_DIST_BUNDLED_BINARIES := true
The dist files will include the jni shared libraries and the apk with
jni libraries stripped.
Bug: 8181626
Change-Id: I4a047d786ad35b948b4ad7a51adf37321dbe395c
It is safe for a class to become final if it was not previously
instantiable since applications could not declare subclasses
of their own.
Likewise it is always safe to remove final.
Change-Id: I9a72fee7b25ccceca2024112812b97872ba2ec6b
This is related to commit a1712e.
Some PDKs need the factory build under PDK. If you want to disable the factory
build under PDK, use TARGET_NO_FACTORY in your device's BoardConfig.mk
Change-Id: I5e208836918ffd737951d3fb1f54c560d2b93641
If we don't do "-lc", we end up missing symbols like "memset" on our non-NEON
builds. It also makes more sense to have bcc_compat as a standard dependency
for now, since it occasionally changes the way we compile/link our source
files.
Change-Id: I4b0ead66caa7c72fb7733db8804a33faa5350930
The host java files weren't being compiled with -g.
(cherry-picked from 3a971f734060d19fc023ccf82e39d956a31b7cfb)
Change-Id: I4274910c64ebf52ec955e30e800b34fc309db27b
Remove the output files for SELinux policy
and mac_permissions.xml mapping for changes
between user and eng build.
Change-Id: Ie27dcedde0c22ce917d90466a763698c86919530
1. Let aapt output the proguard_options file
2. If proguard is enabled, switch the dependency from
$(full_classes_jar) to $(full_classes_proguard_jar).
Change-Id: Idc641a1515b8899a4623a2aeec5cd494f6c1c1c5
If we use +=, the right side may be deferred to evaluate,
if that target-specific variable is not defined yet.
That's a mistke.
Change-Id: I1635ee4791473f407866e010d612948c02cdebf6
And retire BOARD_DONT_BUILD_USERDATA_IMG.
This unifies the logic in build/core/Makefile and
build/tools/releasetools/img_from_target_files.
Change-Id: Ib6b4e8e0d8279ed7deaf047e9dc30eb65aba013f
Cleans up some unused/renamed files:
- sdk_only_whitelist is better named windows_sdk_whitelist.
- a few product.mk dependencies should not be listed here
any more but in the sdk/product.mk instead (which they were.)
Change-Id: Ifad3049321c8ec4edd8b94b83e570eebba442e7d
Given the following function signature:
void rsDebug(const char *s, float2 f2);
Under the regular ARM ABI, the arguments would be passed as follows:
r0 <- s
r1 <- f2.x
r2 <- f2.y
Under the ARM EABI, the arguments would be passed as follows:
r0 <- s
r1 <- UNUSED due to alignment padding for vector operation
r2 <- f2.x
r3 <- f2.y
Change-Id: I2332c8555c00003ae900f299fa3aee1b3ccac439
This allows you to build apks that link against other
apks using the framework's new shared library apk feature.
Also if you are using LOCAL_APK_LIBRARIES, then LOCAL_DEX_PREOPT
will not be allowed. This is because using preopt means the
apk is stripped of its dex file, so the pre-installed apk can't
be redexed if its associated library changes. (Even if the build
system didn't strip the dex, Dalvik still has issues because it
assumes a pre-odex file is always valid.)
Change-Id: I952c0d24f8975f75aff67f78b5faeec91144c3e7
Mac's linker doesn't support --start-group and --end-group; it scans
libraries repeatedly even without these options, so it's not necessary.
Change-Id: If22527e75470f7fa9452dc33efe4d40a60d0919a
Instead we should explicitly set up the dependency, if the module will
be used in the build process; Use LOCAL_MODULE_TAGS with eng, debug or
tests if the module is for testing; or add to PRODUCT_PACKAGES if it's
required by a product.
Change-Id: Ic26319c26c1166bc1062dfbcfb4e006af185249a
webviewchromium has some build rules which use a custom tool to create
.o files from other input (i.e. they are not prebuilt and so can't be
included in LOCAL_PREBUILT_OBJ_FILES). Support adding .o files to
LOCAL_GENERATED_SOURCES and doing the right thing with them (including
them in the static/dynamic library or executable being built).
Bug: 7714333
Change-Id: I3b1d29eeff30aebeafe33398f9bef2eb6972d997
You can dist the same file for multiple goals in multiple calls to
dist-for-goals. The first call will establish the real copy rule, while
the rest call just establishes the goals' dependency on the dest file.
This enable uss to remove the bizarre $(if ..) enclosing the droid and
sdk dist while avoiding make's multiple rules warning.
Change-Id: I76475db76a9e6167e0e606dd582b54e80dfcdd22
Trying to use reflection on classes loaded from a different ClassLoader
than the system one caused SecurityException since you can't load
certain packages.
Adding them to the boot classpath forces them to be in the same
ClassLoader.
Change-Id: Id518ab0a99da6defac525c0ad430a63f600ce85f