Set LOCAL_GROUP_STATIC_LIBRARIES := true to group the static libraries,
in case we need gcc flags "-Wl,--start-group" and "-Wl,--end-group" to
fix circular references.
Change-Id: I03c4901670112fcdd2bb0fe660b6924e5776fcf8
This patch removes support for prelinking from the build system. By now, the
prelinker has outlived its usefulness for several reasons. Firstly, the
speedup that it afforded in the early days of Android is now nullified by the
speed of hardware, as well as by the presence of Zygote. Secondly, the space
savings that come with prelinking (measued at 17MB on a recent honeycomb
stingray build) are no longer important either. Thirdly, prelinking reduces
the effectiveness of Address-Space-Layout Randomization. Finally, since it is
not part of the gcc suite, the prelinker needs to be maintained separately.
The patch deletes apriori, soslim, lsd, isprelinked, and iself from the source
tree. It also removes the prelink map.
LOCAL_PRELINK_MODULE becomes a no-op. Individual Android.mk will get cleaned
separately. Support for prelinking will have to be removed from the recovery
code and from the dynamic loader as well.
Change-Id: I5839c9c25f7772d5183eedfe20ab924f2a7cd411
LOCAL_NDK_STL_VARIANT can be set to system, stlport_static, stlport_shared
or gnustl_static. It defaults to system.
Change-Id: I2840d30ff732a00bc0ea70eab8a8179aea0abbdf
Added LOCAL_NO_CRT to enable building executables that do not link
to the C runtime library.
Removed support for LOCAL_MODULE_SUBDIR since it was broken
and unused. (Was going to use it but ended up using LOCAL_MODULE_PATH
instead.)
Change-Id: I3b6f5ab7e5ae6aaa7119899adccece2b4ab1cbb3
Merge commit '3c3bf6773ac7e2324c1d06282c625b81f799e427'
* commit '3c3bf6773ac7e2324c1d06282c625b81f799e427':
Separate out Proguard flag files to fix dependency.
Merge commit '0b9382c792c303a93f5805adf4eba377dac01950' into gingerbread-plus-aosp
* commit '0b9382c792c303a93f5805adf4eba377dac01950':
Separate out Proguard flag files to fix dependency.
Merge commit 'e7874c430895b9a4e631c89f1e7729da9264d167' into gingerbread-plus-aosp
* commit 'e7874c430895b9a4e631c89f1e7729da9264d167':
Integrate dexpreopt into the build system.
Merge commit 'f7912e4ee0ceb014117c66369485f0aa9ea7cf08' into gingerbread-plus-aosp
* commit 'f7912e4ee0ceb014117c66369485f0aa9ea7cf08':
Support to build host dex.
It turns out we should also LOCAL_INSTRUMENTATION_FOR.
To disambiguate LOCAL_INSTRUMENTATION_FOR_PACKAGE_NAME is renamed to LOCAL_MANIFEST_INSTRUMENTATION_FOR.
Bug: 2902591
Change-Id: I6cb893c135736fc4170aa2259105b4c5eea798a1
Merge commit '606540b739599c8f079baa2a03b5f0501b148eb2'
* commit '606540b739599c8f079baa2a03b5f0501b148eb2':
Packages can specify where to find AndroidManifest.xml
By overriding LOCAL_MANIFEST_FILE, a package can now specify which
AndroidManifest.xml file to use. This also allows for AndroidManifest.xml to
be in a non-standard location, though that's not recommended.
Change-Id: Ib6d1baeef7601e5a93d4ce64d18883d45373fc12
Enabled compiler warnings by default and then modified javac
command to include warnings only if a project's warning flag,
LOCAL_WARNINGS_ENABLE, is set to true.
Change-Id: I5111d16a862f3afaaf1dcba2f2c2b7fc072613f1
Merge commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b'
* commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b':
Support to build native libraries with prebuilt NDK
LOCAL_JNI_SHARED_LIBRARIES_ABI allows individual APKs to specify
specify the path where JNI shared libraries are stored in the APK. This
is useful if you want to build an APK that supports a generic version of
an ABI (e.g. armeabi) from a device configuration where
TARGET_CPU_ABI is set to a more specific version of an ABI (e.g.
armeabi-v7a.)
Note that specifying the LOCAL_JNI_SHARED_LIBRARIES_ABI does not
affect how the local JNI shared libraries are built. It just controls
where the local JNI shared libraries are placed within the APK.
Defaults to TARGET_CPU_ABI.
Change-Id: I1cbb293e0c953688945fc147c7fc367421cf860b
commit 7401608f3b9b52b3348e32ec9fefe7583d6c2fa4
Author: Guang Zhu <guangzhu@google.com>
Date: Fri Apr 23 11:54:37 2010 -0700
collect emm meta files for emma instrumented build
when doing 'make dist', with EMMA_INSTRUMENT on the coverage.em files
generated for each module will be collected into one emma_meta.zip file
Change-Id: I382c39a97005e6cae5c79ad7eaef1c8857f658af
commit 8376d70938f6507d54b66fe5832a637aa883974e
Author: Guang Zhu <guangzhu@google.com>
Date: Wed Mar 10 15:48:03 2010 -0800
enhancement for building app with emma code coverage
* global filter to avoid applying instrumentation on emma classes
* remove local variable information at dex step instead of compile time
Change-Id: If04c27bc717f34816077a98ead9ceb0dbcbb0d2f
Change-Id: I971bd0f291bede2568b21347247d37a7d035c661
* global filter to avoid applying instrumentation on emma classes
* remove local variable information at dex step instead of compile time
Change-Id: If04c27bc717f34816077a98ead9ceb0dbcbb0d2f
The Dalvik core libraries team would like to start making warnings
errors in certain packages by definition LOCAL_JAVACFLAGS. This will
allow easier debuging of warnings in other packages by supplying
"-Xlint:..." options.
This lets you use the source code from one apk to build a new one
with a new module name, a new android package name and optionally,
a new certificate.
To use this, in a makefile, add this:
$(call inherit-package, \
packages/apps/Music/Android.mk, \
Music, \
MusicFork, \
my_cert, \
com.example.music)
You don't need the LOCAL_PATH and CLEAR_VARS stuff. It will override
only the packages that are defined in the makefile name you give, but
if other modules of other types are defined, you will get an error
saying that it's defined twice. In that case, you need to move the
duplicate library (for example a .so) out into a different makefile.
A LOCAL_OVERRIDES_PACKAGES entry is automatically created for the
forked app.
Now, by default, instead of fully building everything,
we skip dexing the modules that aren't going to be included
in the current build.
This will slow down some of the incremental builds (like tests),
but it improves the regular eng build from 27.5 minutes on my
Mac Pro to 25 minutes. That's not as much of an improvement
as I had hoped for, but it's still better.
There is also a change in here that puts the java-source-list
file which is used to get around limited command line lengths
in the proper directory. Before this change, it was an
accident that the directory for that file existed!