To reduce the start time.
With the change and previous change of doing clean step in only given paths,
start time of mm/mmm is reduced from ~5s to about 1s;
lunch time is reduced from ~40s to 3.5s.
Bug: 7186768,7169854
Change-Id: Ifd72ba1c6362a5e1125a23c505fd47947ab56675
Bug: 6987838
- With this change, use "EMMA_INSTRUMENT=true" to enable emma in full or
unbundled build.
- You don't need to add "LOCAL_STATIC_JAVA_LIBRARIES += emma" any more for
unbundled apps.
- Now a single var LOCAL_EMMA_INSTRUMENT replaces the previous
LOCAL_NO_EMMA_INSTRUMENT and LOCAL_NO_EMMA_COMPILE.
- By default, if EMMA_INSTRUMENT is true, emma is enabled for only
non-test apps.
- A new global var EMMA_INSTRUMENT_STATIC. It enables EMMA_INSTRUMENT
and builds emma into apk/jar as static library, instead of using emma
as part of shared library core.jar.
Change-Id: I0aa219e83074879ececc159b5b07c39eb07ccc00
We are now unifying the NDK versions of unbundled native code to always
use the latest NDK.
We don't need the variable LOCAL_NDK_VERSION now.
To build native code with NDK, you need set just LOCAL_SDK_VERSION.
Bug: 6932421
Change-Id: I86f05a264249cda6bae97b4b1616f03700cd9dfa
We are now unifying the NDK versions of unbundled native code to always
use the latest NDK.
We don't need the variable LOCAL_NDK_VERSION now.
To build native code with NDK, you need set just LOCAL_SDK_VERSION.
Bug: 6932421
Change-Id: I86f05a264249cda6bae97b4b1616f03700cd9dfa
Bug: 6167394
$make lint-<app-name> # to lint on a single module
$make lintall # to lint on all packages in the source
tree.
Change-Id: I4decc76fb75793ce44809232b0ec72b766fbb434
So, just add the output include directory to the include path
Change-Id: Ia370454237913a748288124f65a6b731b17d6e1a
Signed-off-by: Dima Zavin <dima@android.com>
This is useful when a device inherits from an architecture
product, such as omap4.mk. The architecture specific product
can provide kernel headers to all the devices that use
that architecture.
Change-Id: I0c9d3120a6089fb535a3fa8eccf10775a271cd21
Signed-off-by: Dima Zavin <dima@android.com>
Currently, we need to pollute the common bionic/libc/kernel/...
directory with device specific kernel headers. This has created a giant
dumping ground of headers from all the projects we have ever done.
Allow each device to provide their own headers and thus eventually allow
bionic/libc/kernel to become *just* the common linux kernel headers.
This change will automatically add device/oem/name/kernel-headers to
the include list and also allow the BoardConfig.mk to specify
additional directories with TARGET_BOARD_KERNEL_HEADERS variable.
The requirement is that the final dir name must be kernel-headers to
mark explicitly where kernel headers are kept.
Change-Id: I7d32a979eef1f464db06c1bc448a04ddc3575efd
Signed-off-by: Dima Zavin <dima@android.com>
Sometimes TARGET_TOOLS_PREFIX is passed in as command line makefile
variable or environmental variable without TARGET_TOOLCHAIN_ROOT.
This change computes TARGET_TOOLCHAIN_ROOT from TARGET_TOOLS_PREFIX in
that case.
Change-Id: I0a37dc1f4d1e3e1951faeffd5e9f926f0a6614dd
We used to do that unconditionally but that caused lots of spurious
warnings in gcc-4.4.x about an unrecognized gcc option.
Change-Id: Idb5118b069871859e07a7efa04914ab6ed0b1372
Switch the emulator builds to ash to make sure it still
works, in case we find that we need to go back to using ash.
Change-Id: Id5641940b63cc4225011be1c375f4c86ec4d21cc
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
With gLucid protoc is installed in the base system, by renaming
our version there will be no confusion about which compiler is
being used.
Change-Id: Id6900baacc7d57abee5dc5f694b013d7a42b35c6
This allows one to declare a meta-package that depends on a list
of modules. This is extremely useful for vendor provided prebulit
libraries where there is a big list of libraries/binaries to include.
Specifying that list in multiple places would be error prone and
eventually lead to very annoying bug hunts.
With a fake package, one does:
LOCAL_MODULE := my_fake_package
LOCAL_REQUIRED_MODULES := <list of required module names>
LOCAL_MODULE_TAGS := optional
include $(BUILD_PHONY_PACKAGE)
Change-Id: Idcfe91f6f2d6d886aba094981a70690e5a808bfc
Signed-off-by: Dima Zavin <dima@android.com>
Merge commit 'e7874c430895b9a4e631c89f1e7729da9264d167' into gingerbread-plus-aosp
* commit 'e7874c430895b9a4e631c89f1e7729da9264d167':
Integrate dexpreopt into the build system.
Merge commit '1c4f64b59491eb8f3f7cb7b992a9fb06f2c475a1'
* commit '1c4f64b59491eb8f3f7cb7b992a9fb06f2c475a1':
[build] move dumpvar.mk include after select.mk include
Merge commit '1e80c294ffef26a6a7fe435411cd7557003b1d3f' into gingerbread-plus-aosp
* commit '1e80c294ffef26a6a7fe435411cd7557003b1d3f':
[build] move dumpvar.mk include after select.mk include
because the dumpvar target was included early in envsetup.mk, it was
not possible to use it to dump variables that were defined by makefiles
included later (like the toolchain variables in combo/select.mk).
move dumpvar.mk to after select.mk and javac.mk, so that shell functions
can be created using the toolchain build variables
Change-Id: I1c22025a8981fa91c183846fb28be26fb562adfb
Signed-off-by: Gary King <gking@nvidia.com>
Besides that, add enough magic to build everything tagged
as "shell_$(TARGET_SHELL)" and permit ash/mksh as not unusual
Change-Id: I36c0590ba49f45251d24dc179cb27c8368c3662a
Merge commit '065521be4fd6965058fbd599bb43fe13101fee7c' into gingerbread-plus-aosp
* commit '065521be4fd6965058fbd599bb43fe13101fee7c':
Backport ext4 support from master [DO NOT MERGE]
With the CL, "include $(BUILD_NATIVE_TEST)" to build native test;
"include $(BUILD_HOST_NATIVE_TEST)" to build a host native test.
Change-Id: Icdbbcf906cd4c5c35e65962897490052cd051102
http://b/issue?id=1505957
Before this change, if tools.jar can not be found, make reports error like:
make: *** No rule to make target `Please-install-JDK-5.0,-update-12-or-higher,-which-you-can-download-from-java.sun.com'...
With this change, the error message is much nicer:
build/core/config.mk:264: *** Error: could not find jdk tools.jar, please install JDK-5.0, update 12 or higher, which you can download from java.sun.com. Stop.
Change-Id: Id33cfb6ee7676d66f00d0a41d07c1f27abc6a402
With this change, you can add your .rs files to LOCAL_SRC_FILES.
The .rs files will be compiled by slang and the output .java files
will be compiled into the jar, while the generated .bc files will
be put into the final apk as raw resources.
Change-Id: Icde3d6139951d6d039b4b37376e72e1fc5c8b0d4
Merge commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b'
* commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b':
Support to build native libraries with prebuilt NDK
Merge commit 'f0f60cdd8f4f74b2480774887606afdebec8d891' into gingerbread-plus-aosp
* commit 'f0f60cdd8f4f74b2480774887606afdebec8d891':
Support to build native libraries with prebuilt NDK
Merge commit 'c9d118615161d8b94d4abedac86e3bdf510b251b'
* commit 'c9d118615161d8b94d4abedac86e3bdf510b251b':
Allow TARGET_ARCH to be set from BoardConfig.mk
Merge commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5'
* commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5':
Refactor Stripper. Allow a stripper other than SOSLIM to be specified
Merging from master because I'm bringing my maps API work into
gingerbread.
Fix and enable JarJar in Java builds.
java.mk contained a target to enable JarJar in Java builds, but it was
being bypassed. This change enabled JarJar as part of the build
process, and fixes a slight bug with the way it was set up.
Change-Id: I814e64eb30b41bf249a63d683c03040e2658fe0d
java.mk contained a target to enable JarJar in Java builds, but it was
being bypassed. This change enabled JarJar as part of the build
process, and fixes a slight bug with the way it was set up.
Change-Id: If24113f399a168939a1a1d0738c5df57caf8d05f
- envsetup.mk & config.mk: we define a new BUILD_OS and a minimal set
of things like BUILD_OUT to be able to use some local tools when
doing cross-compilation. This allows us to use the Linux version of
ACP when cross-compiling the tools to Windows.
- Makfile: include windows_sdk.mk when needed to build a Windows SDK.
- main.mk: support a win_sdk target (e.g. PRODUCT-sdk-win_sdk)
(Merge master Change I9d08d0df)