With this CL, run "make APP-{appname}" to build unbundled app in
the unbundled app src tree.
See http://b/issue?id=2667113
Change-Id: I1d753db795142508bc841ae66b4408220ab687c5
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
Security hardening: don't allow code to compile which
uses format strings in an inappropriate way. Make format
string compiler warnings into errors.
Change-Id: I1461dad589a2416420fd84ccf765983e859eea8a
Merge commit '95f862bcb0418fd931c574157a5c90312ea2fb77' into kraken
* commit '95f862bcb0418fd931c574157a5c90312ea2fb77':
Fix "make modules" script bug under Mac OS X.
Add files included as prebuilts with "BUILD_MULTI_PREBUILT"
to be installed as part of the 'prebuilt' target.
Change-Id: I2fa2dfff2637701281ab78a523c58fc46577ab75
Merge commit 'f7c634216e673407f5a7a879bcf2ddb2454e4670' into kraken
* commit 'f7c634216e673407f5a7a879bcf2ddb2454e4670':
Replace arm with proper variable for CPU/ABI
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
Merge commit '6e079d7e3d30cd8985fc5d1e34c871cdf2ec5068' into kraken
* commit '6e079d7e3d30cd8985fc5d1e34c871cdf2ec5068':
Allow for a slightly larger libwebcore, add another library to the list,
Merge commit '03fb96f01eeed12ce5dc6dd8fa2e839ed497758e' into froyo-plus-aosp
* commit '03fb96f01eeed12ce5dc6dd8fa2e839ed497758e':
Allow for a slightly larger libwebcore, add another library to the list,
Merge commit 'aed937ba46e4137ad5a5d047a438f48c4c81e46b' into kraken
* commit 'aed937ba46e4137ad5a5d047a438f48c4c81e46b':
Fixed a bunch of stuff in the prelink mappings file:
Merge commit '3ca0e96a3a66a6c53536bf7346f616e672e2c57a' into froyo-plus-aosp
* commit '3ca0e96a3a66a6c53536bf7346f616e672e2c57a':
Fixed a bunch of stuff in the prelink mappings file:
Add -Wa,--noexecstack and -Wl,-z,noexecstack as default
flags when compiling applications. This enables NX
protections, which prevent code from executing on the
stack or heap. NX protections can block a large number
of buffer overflow attacks, and is an important security
feature.
Change-Id: Iad4bab9f8664584ba6ce832a5318d07680d7a908
* Added mappings for most of the libraries that didn't already
have them (as observed from my build).
* Re-canonicalized all the offsets in the mappings file,
per the official policy of keeping things megabyte-aligned.
* Added comments on each line indicating what size the library
actually appeared to be in my build (to help with future rejiggerings).
* Added a bit of documentation about the whole deal.
Even with this change, I know there are other libraries that will
still need to be included, but I think what I have here is a good
step. Also, this change only reserves room for the new libraries, but
subsequent changes (in other subprojects) are required to actually
start prelinking the new libraries. Those changes will be forthcoming
as well.
Bug: 2651381
Change-Id: I7a06382fc2b8a14bbd3261de58df3f8a31e4108e
Static libraries that include other static libraries were being incorrectly
built with .a files inside the top level .a file, as well as the .o files
that were extracted from the component .a files. This patch fixes the
final ar call to only add .o files to the archive.
Change-Id: Ic1ff025129e3c379fa56b4da2f09e9f16ea3c4fb
Also extending the arbitrary limit on build argument sizes,
which I ran up against in building after this change.
Change-Id: Iba79a37b27e7d5efa2b02a99aa253a2eec7ede75
Merge commit 'ae4e14556bb3a789c4263ebba7ed42b3035e13f6' into kraken
* commit 'ae4e14556bb3a789c4263ebba7ed42b3035e13f6':
Adapt to new location of libcore
Make expr more POSIXy
generic_x86 support
Remove obsolete machine-setup.html reference.
For Mac OS uses BSD sed, it doesn't support "\n". Then, "make modules"
command cannot work correctly under Mac OS. Using tr command to replace
sed command, it has the same behavior under both Mac OS and Linux.
Change-Id: I29e044cc66bf24f6459cbb33164fd9f55f772e3c
A package can define a LOCAL_LDFLAGS. If a LOCAL_LDFLAGS
exists, it should come after the global LDFLAGS, to allow
the local flags to override the global flags.
Change-Id: I6e44c17949c1f11c808d0ed3f327d63fb51a1468
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
Merge commit '381ee392e8ebba35cb65321415f4cdb537b446ed' into kraken
* commit '381ee392e8ebba35cb65321415f4cdb537b446ed':
Support building Windows SDK under Linux.
See http://b/issue?id=2468418
After this CL, add "samplecode" to your make goals, you will get the sample apks
built and installed at out/target/common/samples/.
Change-Id: Iff83f2ba6b6c2fe6ac1c78ca4a9d4bc6953dac8a
- 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)
- 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)
Change-Id: I9d08d0df598b8a7292532d23c55f48101a95a240
* global filter to avoid applying instrumentation on emma classes
* remove local variable information at dex step instead of compile time
Change-Id: If04c27bc717f34816077a98ead9ceb0dbcbb0d2f
Merge commit '966c7355c3705095532bcc71ae6d893bdbe3531d' into kraken
* commit '966c7355c3705095532bcc71ae6d893bdbe3531d':
Add clean step for SDK version change.
Everywhere we build...
Froyo is now Android 2.2, API 8.
This breaks the YouTube prebuilt (yay prebuilts!) but little else.
Does this mean we are becoming mature?
Change-Id: I15d228d57853a0dfabc47dda253d55339a5b3d17
http://b/issue?id=2451361
With this CL, you can inherit a testing package to test a inheriting package.
Note: we change the meaning of $(5), so we need to change any existing calls
to inherit-package in other projects.
Change-Id: I673155d1b8b6006953d14e1ab87066536ebd1e54
Store a dump of the desired uid/gid/mode for every system file in the
target_files zip. Modify ota_from_target_files to use this stored
information when it is available, instead of running fs_config from
the current client (which might be out of sync from the one where the
target_files zip was built).
b/2516887 - New android_filesystem_config.h needed
Change-Id: I8409a0265d1d50daad9c2bc033c99b74b8931b20
This adds "-lpthread" to TARGET_GLOBAL_LDFLAGS when TARGET_SIMULATOR
is true. This is much easier than inserting it into individual
makefiles as needed. Has no effect on other builds.
Should fix the sim-eng build breakage in libcameraservice.
Change-Id: I4dcd7d54b93d1be1622b8ce78a1662d28ca9f9f2
I found these kicking around my system/app with old timestamps, and old
packages just cause trouble. Depending on the build flavor they may or
may not still be there, but it's harmless to clean them.
This allows to explicitly deal with situations where we
want to use PRODUCT_COPY_FILES to manage overrides.
Change-Id: I2f87862e19b973f090099f335e9bdeb0c9f3bfe9
This allows "make dist" to work on that configuration.
A better fix would be to allow each product to specify
whether it's an emulator target or a device target, and
to adapt to that, but that'd be a lot more intrusive.
Change-Id: I47708025204a4991466abceb1708a3020a543238
This detail got lost in my previous cleanup change 9b4a812.
Also add a comment explaining why the host side of the
simulator needs to be built in 64-bit (wxWidgets).
Change-Id: I2a867f7f80b43d53e73348b19f6ae834600295f9
The only OS-ARCH combo that would have benefited from it
is linux-x86, but it explicitly used separate configurations
for the HOST_ and TARGET_ side of things.
This makes is clear which files are related to the HOST_
configuration and which ones are related to the TARGET_
configuration, and expands $(combo_target) to the only
possible/reasonable value that it could have had in every
file.
This also cleans up the simulator, by moving it in a single
place in TARGET_linux_x86 (since the only part that's special
is to use HOST_ settings even when building TARGET_ modules).
Change-Id: I2420eeb8cfe539f5807ec99cb3177ffb9f2476d5
The "set default variant to armv5te if none defined" in the ARM config
was applying to all architectures, but as it turns out only ARM builds
actually cared. When I made a copy of the "set default" code to the x86
config, one or the other would win for builds that didn't specify a
variant. Turns out x86 won, so sim and voles worked, but opal didn't.
This allows to use a proper $(call inherit-product) across
the open-source -> non-open-source boundary in a way that
can automatically adapt to whether the non-open-source
part is present or not
Change-Id: I357721c68362ff8c0f90610850b0368adee68ada
The variable inheritance system can leave extra spaces in a variable
when multiple levels of inheritance are used. It can expand:
"@inherit:foo @inherit:bar @inherit:baz"
to
"value @inherit:bar @inherit:baz"
and then
"value @inherit:baz" (if bar has no value for the variable)
and then
"value " (if baz also has no value).
Call strip to remove excess spaces between words after each
replacement pass.
Change-Id: Ic4cfc6fed1865066a6353a522e4bdcb68ec875d3
With this change, you can specify "?" in place of a tag number in a
.logtags file and the build system will assign numbers to these tags.
(The numbers used shouldn't matter since we translate them back to tag
names whenever the logs are read back.)
This is pretty straightforward to do:
- make merge-event-log-tags.py assign numbers to any tags that specify
"?"
- make the generated java files depend on the merged output
- make java-event-log-tags.py read both the original .logtags and the
merged output, and fill in tag numbers for any "?" using the merged
version.
Change-Id: Icc6ccd705db461d570fc929922a830aa6deaca48
This change allows modules to insert different include paths before the system
include paths. STLPort uses this to find system include files that have the same
name.
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.