Commit Graph

1585 Commits

Author SHA1 Message Date
Ying Wang 20e2083ea0 Support to build static Java library with Android resource
Bug: 5714516

The rationale behind this change:
- the library is compiled into a jar file, but its R class is generated
  making the constant not constant (static, not final static) (aapt
  option --non-constant-id). Also the jar file does not contain the R
  class.
- this allows the integer value to not be inlined in the compiled
  class files. Note that this prevents using switch statements.
- the main project use this jar file as a normal static library: it will
  add all the class files except the R.class.
- the main project uses the library res folder as a resource
  folder with lower priority than the main project (basically the
  main project is an overlay. This is accomplished using aapt's
  --auto-add-overlay to handle resources only in the main project
  (which the normal overlay mechanism doesn't allow).
- the main project creates R classes in the main project's
  package but also in the library's package. This is done with
  aapt's --extra-packages which accept as many packages as
  needed, separated by a :.
- manifest merging is not done yet, so
  activities/services/permissions/etc... have to be manually declared in
  the main app.

To use a static library with Android resource in your app,
1. Add the library's resource dir to your app as an overlay:
LOCAL_RESOURCE_DIR := <app_resource_dir> <static_library_resource_dirs>
2. Set the proper aapt flags:
LOCAL_AAPT_FLAGS := <apps_own_flags> --auto-add-overlay \
  --extra-packages <lib1_package_name>:<lib2_package_name>:...

Change-Id: Ifb4d2300b952ea4aaee74da1bb0c6c72ea0698a3
2011-12-14 16:04:59 -08:00
Ying Wang e109a1d08d Allow to build Java module from mere static Java libraries.
With this change, we can easily turn a static Java library to a shared
Java library.

Change-Id: I9915992cd19879846511d6272483d7a0a934e7eb
2011-12-12 17:52:03 -08:00
Ying Wang fd626f2d21 Collect the GPL source files.
Bug: 5693205
Change-Id: I045b83949f8b29d7c5cf5c0ab32c5b83cf398e71
2011-12-12 12:57:38 -08:00
Stephen Hines 914f7a2990 Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS.
Change-Id: Ia2a058e6711839d89072c2e96f0c60aa4cedda6b
2011-12-07 11:41:28 -08:00
Ying Wang 99bcbeb355 Print more info of the image size stats.
Bug: 5620615
Before this change it only reports the limit if the real size exceeeds
or approaches the limit.

Change-Id: Ie1737d6ba2dc2d57ad82c487990e109882526d6e
2011-12-02 10:34:45 -08:00
Jeff Hamilton 293f9392ba Bypass alias for grep in the tapas command.
Change-Id: I82705535bda927ddc7e9aebb9610d712b68a50d2
2011-11-18 17:24:13 -06:00
Ying Wang 5f074803fb Build system support to export include paths
Bug: 5573756
With this change, we can set LOCAL_EXPORT_C_INCLUDE_DIRS in the module
definition to export include dir paths.
Paths in LOCAL_EXPORT_C_INCLUDE_DIRS should be relative to the top dir
of the source tree.
If a library (shared or static) exports some include paths, any module
using it will import the include paths and add them to the compiler
command line.

Change-Id: I49aabc589d2cf214044d13ccd5532ef68209adf0
2011-11-17 10:52:32 -08:00
Conley Owens e04c2c21ee am e915ab45: Place linker arguments after objects for gcc
* commit 'e915ab45a11f88c4fa5f2561c1aaca4b7d3d7593':
  Place linker arguments after objects for gcc
2011-11-10 19:01:36 +00:00
Conley Owens e915ab45a1 Place linker arguments after objects for gcc
gcc 4.6.1 does not properly link if libraries are specified before
objects.

Change-Id: Iabe3eac831fe597abe8a93a946ab7a22d584db46
2011-11-10 10:55:13 -08:00
Conley Owens d9e7d25741 Place linker arguments after objects for gcc
gcc 4.6.1 does not properly link if libraries are specified before
objects.

Change-Id: Iabe3eac831fe597abe8a93a946ab7a22d584db46
2011-11-10 09:57:40 -08:00
Joe Onorato c72b1403e4 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2011-10-30 21:37:35 -07:00
Bjorn Bringert cec077521e Merge "Compile each proto file separately" 2011-10-18 09:48:20 -07:00
Bjorn Bringert 20f5efd82c Compile each proto file separately
Before, if a module had several proto source files,
they would all be compiled in a single invocation
of aprotoc. If any of the files imported one of the
other files, you got an aprotoc error about duplicates.
And if you removed the files that were imported
from the list of source files, no Java code
would be generated for the imported files,
causing a Java compile time error.

This changes compiles each proto file separately, which
avoids both of the problems above. It's slightly more
inefficient, but aprotoc is really fast.

Change-Id: I7bd8092ec2953c20269367a1c68ff84acceea3be
2011-10-18 16:08:27 +01:00
Dianne Hackborn 9baabf8d7e am a0f464a8: New PRODUCT_AAPT_PREF_CONFIG.
* commit 'a0f464a8e7f006177db084df7e925bbb8e5ffed3':
  New PRODUCT_AAPT_PREF_CONFIG.
2011-10-17 11:31:38 -07:00
Dianne Hackborn a0f464a8e7 New PRODUCT_AAPT_PREF_CONFIG.
To use the new aapt --preferred-configurations option.  For use with Prime
to be able to strip everything but xhdpi density bitmaps selectively,
not stripping when this would result in no data for the resource.

Change-Id: I4e1012929b8f9b0b1e79c06496647f69661ba1f2
2011-10-14 19:37:57 -07:00
Ying Wang d89452976b Merge "Use shell variable to eliminate $(eval) in commands." 2011-10-11 10:11:44 -07:00
Ying Wang f1054bf22e Merge "Discard hidden files when rounding up resource." 2011-09-08 14:16:23 -07:00
Stephen Hines c963eae72c Update build to properly use prebuilt llvm-rs-cc.
Change-Id: I52a83066b6c08d05d69db4f93631eeaf9c0b41c6
2011-08-10 17:01:43 -07:00
Ying Wang 6ab5d6aa16 Discard hidden files when rounding up resource.
Aapt will discard the hidden files anyway.
With this change, we can avoid unnecessary rebuild if a module has only
hidden files in its resource dir.

Change-Id: Iaf0a13e038cca5fb60012c550cc90f7abbe967e1
2011-08-10 16:05:51 -07:00
Ying Wang 6e7db38de7 Use shell variable to eliminate $(eval) in commands.
$(eval) in the commands does not evaulate in the same order in emake as
in gmake. Using shell vars work in both makes.

Change-Id: I4e95adb2bc6f4600e29b9a8524275a099f47a401
2011-07-27 12:57:37 -07:00
Ying Wang 7e8d442ca4 Uniq the system properties.
If multiple items with the same key appear in a config variable,
only the first item is taken.

Change-Id: Icf57befafb36ec35dd4d48c8c3ec595f353f68e7
2011-06-17 17:10:04 -07:00
Ying Wang 194a8ec8ae Use arg list file to pass arguments to jar.
To fix error "/bin/bash: Argument list too long"

Change-Id: Ie336b18f9a7eba38d94a6e32c07a88589ce9f1fd
2011-06-06 14:34:52 -07:00
Ying Wang 4387dc3ee1 am 823f6389: am 3487736b: am 7d83ef8f: Support custom RenderScript compiler
* commit '823f63894fb4ad5c1280a5ee7eb004792223a488':
  Support custom RenderScript compiler
2011-06-02 16:49:33 -07:00
Doug Kwan e804fc92ec Merge "Allow enabling RTTI in a module." 2011-06-01 11:23:20 -07:00
Joe Onorato 149dd914b8 Switch the java encoding from ascii to utf8.
Change-Id: Iee0972df68b44fc8c653812cf165b57350a7ec5d
2011-05-31 18:21:07 -07:00
Ying Wang 823f63894f am 3487736b: am 7d83ef8f: Support custom RenderScript compiler
* commit '3487736bac5625bef8ff9bc4ef311b29348055d9':
  Support custom RenderScript compiler
2011-05-27 15:38:10 -07:00
Ying Wang 7d83ef8ff7 Support custom RenderScript compiler
Change-Id: I85e38e84565e04f99dd26217f280274883dc322d
2011-05-27 13:47:17 -07:00
Doug Kwan 9a8ecf970b Allow enabling RTTI in a module.
Change-Id: Ie8ce920e3ccb7e53bdf917d8ac5a386df3e7836a
2011-05-10 21:50:58 -07:00
Ying Wang fcdabd4bdb Add LOCAL_GROUP_STATIC_LIBRARIES
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
2011-04-25 14:22:41 -07:00
Ying Wang ddbcad8c85 Add TARGET_PROJECT_INCLUDES as system includes
And do the same to host modules.

Bug: 4279745
Change-Id: I5b0cd0e13e0e61b5051537b5834eba48e5f822f8
2011-04-18 11:45:44 -07:00
Ying Wang 4761e56a71 Pass TARGET_C_INCLUDES as system include directories to gcc
So warnings from those headers can be suppressed.
Bug: 4279745

Change-Id: Id69b253c5566de53153b87ef69eff15b8a47c832
2011-04-12 12:49:04 -07:00
Ying Wang bb9c230b68 Set the default app sdk verstion to LOCAL_SDK_VERSION
Instead of using the DEFAULT_APP_TARGET_SDK, which is the hardcoded in
the build system, ie the sdk version of the current source tree.

Change-Id: I2fae3521300cc6b2449df3659ded7f7a397609c0
2011-04-08 17:27:35 -07:00
Brian Carlstrom bb7c6d88c6 Tracking merge of dalvik-dev to master
git cherry-pick --no-commit  5fac8d8f7096d8a950acad1ad0a8b963cef72e03

git cherry-pick --no-commit  1a8210710b46a0796ff2f8e76b6beb3a54f89019

git cherry-pick --no-commit  4fe2ac9f7284b838393aec8f0f48caef2510fd46

git cherry-pick --no-commit  7beb710a8f976fc4cb1e8be780644386870c4975

Change-Id: Ib10348e5509c906c6b95fa4accd6a18900bfe748
2011-04-01 15:45:58 -07:00
Ying Wang cd4e323e0e am ce467097: am 54aa74ef: am a9e5bb8a: am f78fb1d1: Merge "Use my-dir in a consistent way as others"
* commit 'ce4670977d0367983e40ed339da793792fdb6e06':
  Use my-dir in a consistent way as others
2011-03-31 15:16:36 -07:00
Ying Wang ce4670977d am 54aa74ef: am a9e5bb8a: am f78fb1d1: Merge "Use my-dir in a consistent way as others"
* commit '54aa74ef5da0a76a0fc1afdabaa24d2fb0744cd1':
  Use my-dir in a consistent way as others
2011-03-31 15:14:32 -07:00
Ying Wang 4f1ab92aac Move screen density config from PRODUCT_LOCALES to PRODUCT_AAPT_CONFIG
With this change, PRODUCT_LOCALES will contain only locales.
Other aapt config flags, such as *dpi, small/normal/large/xlarge,
should go to PRODUCT_AAPT_CONFIGS.
Bug: 4086309

Change-Id: I922f153d79777a9522c542a3907111193b40e7b7
2011-03-15 13:19:30 -07:00
Iliyan Malchev b375e71d30 build: remove prelinker build build system
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
2011-03-12 14:59:46 -08:00
Chih-Wei Huang e73c4bbc50 Use my-dir in a consistent way as others
Change-Id: I3fd0cc58b48d621b431d7dd05fb689c1917b530d
2011-03-11 11:48:48 +08:00
Ying Wang a67ce69e9a Handle MODULE_LICENSE_MPL the same as MODULE_LICENSE_GPL.
Change-Id: Iefc6df3f3401a591f53ec3f22202044c60acf460
2011-03-03 14:57:10 -08:00
Jeff Brown bd528a82a2 Build system tweaks for Valgrind.
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: Ifed4ffe17003d90370c711ea6606e2b75e841dee
2011-02-16 15:06:30 -08:00
David 'Digit' Turner d6b413a904 am 3be47af9: am b3f59bde: am 86a90364: Merge "core/binary.mk: Add missing Objective-C objects to the build."
* commit '3be47af9491b7fd93b74122cb7f979f2b86c1634':
  core/binary.mk: Add missing Objective-C objects to the build.
2011-02-15 11:03:57 -08:00
David 'Digit' Turner 3be47af949 am b3f59bde: am 86a90364: Merge "core/binary.mk: Add missing Objective-C objects to the build."
* commit 'b3f59bde44fc16fa43b6a01a890c4b42cf446292':
  core/binary.mk: Add missing Objective-C objects to the build.
2011-02-15 10:40:24 -08:00
David 'Digit' Turner 5ca286d58b core/binary.mk: Add missing Objective-C objects to the build.
For some reason, all_objects was not listing objects generated from
objective-C sources. We need these for the emulator (which builds its
own version of SDL which uses Quartz on OS X).

+ Fix a typo in transform-host-m-to-o definition.

This also explains why https://review.source.android.com/#change,21074
had to be reverted, since it gets rid of the prebuilt SDL libraries when
building the emulator.

Change-Id: I173811cf11cdb5b045073aade59364236145bc77
2011-02-11 17:52:52 +01:00
Ying Wang 4a2ecaf5dc Fix the case image-size-from-data-size returns 0.
This time with correct escaping.

Change-Id: I660887ac62425e9960e266391b52979a7dff4617
2011-02-09 17:24:27 -08:00
Ying Wang bfaf531e05 Revert "Fix the case BOARD_FLASH_BLOCK_SIZE smaller than BOARD_NAND_PAGE_SIZE, eg generic_x86"
This reverts commit 279f3084bb.

Change-Id: I27069190503e586d3d77a933d92459a34eb55cb8
2011-02-09 16:15:21 -08:00
Ying Wang 389cf7ac4e Merge "Fix the case BOARD_FLASH_BLOCK_SIZE smaller than BOARD_NAND_PAGE_SIZE, eg generic_x86" 2011-02-09 13:21:09 -08:00
Ying Wang 279f3084bb Fix the case BOARD_FLASH_BLOCK_SIZE smaller than BOARD_NAND_PAGE_SIZE, eg generic_x86
Also don't build ota package for generic_x86.

Change-Id: I7606d56b312ac2e0c3514a8f250e005e0c05a3f1
2011-02-09 13:11:50 -08:00
Jeff Brown 703e7c6d50 Build system tweaks for Valgrind.
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
2011-02-08 16:38:56 -08:00
Ying Wang 3a7e4ccad9 Unify use of $(hide).
Change-Id: Ib7e17bbb4682caecce5812e63de872b676403d64
2011-01-28 14:14:47 -08:00
Ying Wang a02d3d9f74 Break down the buge shell command line preparing whole static libraries.
This can fix the "@: command not found" messages, which is caused by "@"
in the middle of the shell command line.

Change-Id: I444827458045efcbc70a6e1e43bf4ee040e71b79
2011-01-27 18:48:00 -08:00
Jean-Baptiste Queru c61d4c91b6 Extra protobuf-related support
Change-Id: I375d32f0bcb695ccb0603743133034941d584163
2011-01-27 13:49:30 -08:00
Jean-Baptiste Queru 79ee7bf896 Protobuf compiler support in the build system 2011-01-27 12:44:30 -08:00
Ying Wang 80e6cce93e Correct misuse of target/host vars.
Change-Id: Ide41aeddc44ca05d85a36035c2d55ea453cfd216
2011-01-24 23:25:36 -08:00
Ying Wang 015edd2c1b Add modifier goal incrementaljavac
With "incrementaljavac" on your make command line, you will recompile
only Java source files that have been changed since last build.
Nothing is changed if "incrementaljavac" is not among your make goals.

Change-Id: Iae591459827df81ac91e95292464db5e9828343a
2011-01-21 17:49:30 -08:00
Ying Wang 84ed6fa27b Disable "-t" for acp.
Acp can not handle high resolution file timestamp on ext4.
We need this to fix incremental build on ext4.

Change-Id: I54e45c73ffa44c4253c7a431375d419fa4dccfd9
2011-01-19 12:15:38 -08:00
David 'Digit' Turner 60a1e88052 Add support for custom Linux host toolchains when building the SDK.
This is needed in order to build Linux SDK binaries that can run
properly on Ubuntu 8.04 (Hardy). By default, the host toolchain
on 10.04 (Lucid) generates machine code that won't run on Hardy
due to GLibc ABI mistmatches.

Note that nothing happens if the new toolchain is not in the
prebuilt tree.

Change-Id: I914f5a303f16b6871759ce5a7178585ed3060870
2011-01-16 19:14:04 +01:00
Ying Wang 085ff6a8ac am 098826bf: am 099fecd7: Use PRIVATE_CXX in HOST modules.
* commit '098826bf61cba2b14a0538100878bdb029f50790':
  Use PRIVATE_CXX in HOST modules.
2010-12-20 11:42:35 -08:00
Ying Wang 098826bf61 am 099fecd7: Use PRIVATE_CXX in HOST modules.
* commit '099fecd759ce54168fe4094880d1ca748e8906b9':
  Use PRIVATE_CXX in HOST modules.
2010-12-20 11:40:33 -08:00
Ying Wang 099fecd759 Use PRIVATE_CXX in HOST modules.
This fixes the build error:
out/host/linux-x86/obj/SHARED_LIBRARIES/libneo_util_intermediates/neo_err.o:
file not recognized: File format not recognized
See also CL #84578

Change-Id: Ib91230c7a5c9809eb1935959eaa9be8fa7c596b9
2010-12-20 11:18:28 -08:00
David 'Digit' Turner 02e172e892 am efc5d814: am 15f4980d: Merge "Add support for custom Linux host toolchains when building the SDK." into gingerbread
* commit 'efc5d81428a8c7d9cf7cb7b3a5f1a8344b02a700':
  Add support for custom Linux host toolchains when building the SDK.
2010-12-14 02:45:58 -08:00
David 'Digit' Turner efc5d81428 am 15f4980d: Merge "Add support for custom Linux host toolchains when building the SDK." into gingerbread
* commit '15f4980d510824113a4d2b71d70de9c67715f3dc':
  Add support for custom Linux host toolchains when building the SDK.
2010-12-14 02:42:10 -08:00
Brian Carlstrom 782695112d Unify target and host Java compilation
This changes tries to reconcile drift between
transform-java-to-classes.jar which is used to build java for the
target with transform-host-java-to-package which is used for the
host. Several packages such as libcore are built both ways and the
drift between these rules was making it hard to make common changes to
things such as warning options.

The new compile-javac definition tries to include as much as possible
from the two previous definitions. Some conflicts it sorts out:
- hardwired -g vs PRIVATE_JAVAC_DEBUG_FLAGS
- consistent order of arguments
- moving PRIVATE_JAVAC_FLAGS to end to allow override of arguments
- xlint_unchecked is always conditional based on LOCAL_WARNINGS_ENABLE

Now what differs between the two is clear in the
transform-java-to-classes and transform-host-java-to-package
definitions. Notable differences:
- the target case supplies a bootclasspath while the host case does not.
- .class files are cleaned up after jaring in the target case,
  but in the cost case they are left for the sake of the vm-tests target
  which expects them to be present. That should probably be fixed in the future.
- PRIVATE_EXTRA_JAR_ARGS used to package resources into the jar only
  happens for the host. Its handled by add-java-resources-to-package for the
  target after dxing.

Change-Id: I2fb28f688fbb632102ca63448c2ac911db0477ae
2010-12-13 11:29:58 -08:00
David 'Digit' Turner 0960ca7488 Add support for custom Linux host toolchains when building the SDK.
This is needed in order to build Linux SDK binaries that can run
properly on Ubuntu 8.04 (Hardy). By default, the host toolchain
on 10.04 (Lucid) generates machine code that won't run on Hardy
due to GLibc ABI mistmatches.

Note that nothing happens if the new toolchain is not in the
prebuilt tree.

Change-Id: I45c1f68e37e15a0032f885df1c5c0f297b3d8642
2010-12-13 11:52:03 +01:00
Jean-Baptiste Queru 1ee80eefc7 am dbd43691: am 3ef1d674: am 4985f06f: Merge "Make image-size-from-data-size not use hard coded values."
* commit 'dbd43691870fa64d1ad79371e3d796ed8e63b3b9':
  Make image-size-from-data-size not use hard coded values.
2010-12-06 16:45:01 -08:00
Jean-Baptiste Queru 3ef1d67480 am 4985f06f: Merge "Make image-size-from-data-size not use hard coded values."
* commit '4985f06f4e96351c77b88b20bc9ded65daefcd3e':
  Make image-size-from-data-size not use hard coded values.
2010-12-06 15:10:35 -08:00
Lars Svensson 9cb8c28352 Make image-size-from-data-size not use hard coded values.
The function image-size-from-data-size was using hard
coded values. The size of spare area and pages has become
configurable so we need to read from the variables.

Change-Id: I9461d34400ffc2cc5920860d8aa78750d559e397
2010-12-06 16:18:46 +01:00
Ying Wang 33c0d952fc Allow module-specific protoc flags.
You can add local protoc flags via LOCAL_PROTOC_FLAGS.

Change-Id: If246a4edafe1edcec6a7f193bde8ce3c83de745b
2010-11-05 11:30:58 -07:00
Ying Wang a5fc87a937 Integrate protocol buffer compiler into the build system.
Bug: 3152546
Change-Id: Ida3ca3d633ce45704dc8e80d044cdbd3ca69aca5
2010-11-02 19:25:47 -07:00
Shih-wei Liao c656030f7d Turn off llvm-rs-link to make launch time go faster.
Change-Id: Idbbb5e24a269e3c9a1911b47b4fbb1616cef5803
2010-10-23 03:07:13 -07:00
Doug Zongker 98582b28e8 radio files aren't modules, prebuilt or otherwise
Change-Id: Ic21cf9f7d9657819e40c6700c98e61971dab24b4
2010-10-13 13:39:56 -07:00
Ying Wang 4a5bd245ff Fix typo.
Change-Id: Iabdc6ec1ead4f37294f01ebebc1e71e188455533
2010-10-11 16:36:02 -07:00
Shih-wei Liao f7b32bfe41 Enable LLVM_RS_LINK. No longer forking an LLVM linker inside llvm-rs-cc.
Change-Id: I2ebc6ec759daf36d1e77fa8e30147ab8e40b44fc
2010-10-11 10:36:42 -07:00
Shih-wei Liao d01fadb6bc Make naming consistent: llvm-rs-cc and llvm-rs-link.
Change-Id: I8e8ae27548131b47fbbd037d55b472d095d7bb8f
2010-10-08 17:55:26 -07:00
Joe Onorato e814ad4950 am 5c41c178: am 700b88e1: Pass device characteristic information through to aapt.
Merge commit '5c41c17868865d1f2e9e2ff4680b528da61d16af'

* commit '5c41c17868865d1f2e9e2ff4680b528da61d16af':
  Pass device characteristic information through to aapt.
2010-10-08 14:36:43 -07:00
Ying Wang 24e1c018ba Integrate the slang "-MD" into the build system.
So that the header dependency can be included.
Bug: 2932230

Change-Id: I4d69870049157206ce2ab637ec6d673467db0c64
2010-10-08 09:37:44 -07:00
Shih-wei Liao c95899f46d "Slang" no longer needs "--allow-rs-prefix" option. "Slang" now knows if a function
is in a system header file. If so, the function can be prefixed by "rs". Otherwise,
"rs" prefix is rightly disallowed. So, no more "allow-rs-prefix" hacking.

Change-Id: I8d5982cd6a75d465ffa6f98ca96941ae761117a2
2010-10-08 07:14:03 -07:00
Joe Onorato 5c41c17868 am 700b88e1: Pass device characteristic information through to aapt.
Merge commit '700b88e1451f216d137d8a356496bf51712512c6' into gingerbread-plus-aosp

* commit '700b88e1451f216d137d8a356496bf51712512c6':
  Pass device characteristic information through to aapt.
2010-10-07 07:09:25 -07:00
Joe Onorato 700b88e145 Pass device characteristic information through to aapt.
A build configuration can define PRODUCT_CHARACTERISTICS, which is
a comma-separated list of device characteristics, for example
"nosdcard,grayscale".  This will be passed through to aapt with
the --product flag.

Change-Id: I902c034b2f2824dbd2d33449308ee08beeb09551
2010-10-06 10:44:33 -04:00
Ying Wang 1406613b63 am bf2ed191: am a83940fa: Move odex related files to product-specific dir.
Merge commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637'

* commit 'bf2ed191fe229b6a83684c19a57e11e7b50c8637':
  Move odex related files to product-specific dir.
2010-10-01 17:07:29 -07:00
Ying Wang bf2ed191fe am a83940fa: Move odex related files to product-specific dir.
Merge commit 'a83940fa7851b35712e559be2246b56b5666b805' into gingerbread-plus-aosp

* commit 'a83940fa7851b35712e559be2246b56b5666b805':
  Move odex related files to product-specific dir.
2010-10-01 15:51:35 -07:00
Ying Wang a83940fa78 Move odex related files to product-specific dir.
For target Java libraries, now the LOCAL_BUILT_MODULE includes both javalib.jar
and the .odex file, if dexpreopt is enabled.
These 2 files are moved to a product-specific dir in this change.
For target Java Libraries, $(intermediates) now points to the product-specific dir.
There is still a javalib.jar in the $(intermediates.COMMON) dir, which is used as dependency.
Nothing is changed for host Java libraries.

Change-Id: I2546dbb940c74537864ca002d1acb49bb731fbbc
2010-10-01 14:41:43 -07:00
Ying Wang b5425fdfc8 am e52fddec: am 879779a5: Merge "framework-res is not used as regular Java library now." into gingerbread
Merge commit 'e52fddec86a808b98bcdd033704b43a83cf569ea'

* commit 'e52fddec86a808b98bcdd033704b43a83cf569ea':
  framework-res is not used as regular Java library now.
2010-09-28 18:21:39 -07:00
Ying Wang e52fddec86 am 879779a5: Merge "framework-res is not used as regular Java library now." into gingerbread
Merge commit '879779a5806d6e09d1c852a93dd4e1793bbd96cd' into gingerbread-plus-aosp

* commit '879779a5806d6e09d1c852a93dd4e1793bbd96cd':
  framework-res is not used as regular Java library now.
2010-09-28 17:36:46 -07:00
Ying Wang 912f828605 framework-res is not used as regular Java library now.
Change-Id: Ic2b8f7d7bceab3be7884eb4a7dbe721c14bd1ccb
2010-09-28 17:27:56 -07:00
Ying Wang 509d28b2b3 resolved conflicts for merge of 3453d5f3 to master
Change-Id: If23d2817b4d74d48632776923805c2141da82257
2010-09-24 18:27:29 -07:00
Ying Wang 3453d5f3a2 am d56d69b6: Merge "Fix dependency when switching between build variants with and without Proguard." into gingerbread
Merge commit 'd56d69b621bf41b478d59b6f987b6f796a9d8652' into gingerbread-plus-aosp

* commit 'd56d69b621bf41b478d59b6f987b6f796a9d8652':
  Fix dependency when switching between build variants with and without Proguard.
2010-09-24 18:12:12 -07:00
Ying Wang 957fea52f3 Fix dependency when switching between build variants with and without Proguard.
With this change, in a user build the dependency looks like:
package.apk -> progaurd.classes.dex -> ... -> proguard.classes.jar
While in an eng build:
package.apk -> noproguard.classes.dex -> ... -> noproguard.classes.jar

Because package.apk is product-specific and removed when switching between
user and eng builds, it can always be built with the correct and up-to-date .dex file.

Bug: 3022484

Change-Id: I3a732cb3e256f193088c294dc4a0573188283cb2
2010-09-23 16:48:46 -07:00
Joe Onorato 8dc8faaaea Add option to fail when Android.mk files change PRODUCT_* variables.
It's turned off for now.

Change-Id: I0b5a3ce5fdc7693c8ebd870312f0c2e13fdb8b22
2010-09-14 13:13:27 -04:00
Jean-Baptiste Queru 4074f2377c Warn when new modules are found that use user tags
Change-Id: I49369cc1596f269e0964f0a6a88bcc7152209bde
2010-09-08 12:44:06 -07:00
Jean-Baptiste Queru 6b747cfb21 am a90f9d2c: Merge "Warn when new modules are found that use user tags - DO NOT MERGE" into gingerbread
Merge commit 'a90f9d2c299d7833b37f8a0e244a2893054d9ea5' into gingerbread-plus-aosp

* commit 'a90f9d2c299d7833b37f8a0e244a2893054d9ea5':
  Warn when new modules are found that use user tags - DO NOT MERGE
2010-09-08 10:32:52 -07:00
Jean-Baptiste Queru 39de432897 Warn when new modules are found that use user tags - DO NOT MERGE
Change-Id: Ia563765f3d0161d7c851a0162d65c2a249b4dd38
2010-09-03 17:39:10 -07:00
Ying Wang 54b634dce8 am a79db6e4: am 3dae0ee4: Fix inherited dependency when instrmentation.
Merge commit 'a79db6e47a378cb089021a56637a9c6925f14261'

* commit 'a79db6e47a378cb089021a56637a9c6925f14261':
  Fix inherited dependency when instrmentation.
2010-09-03 10:36:41 -07:00
Ying Wang a79db6e47a am 3dae0ee4: Fix inherited dependency when instrmentation.
Merge commit '3dae0ee46cf5fcde6eb424f9ab0c69f2d901a671' into gingerbread-plus-aosp

* commit '3dae0ee46cf5fcde6eb424f9ab0c69f2d901a671':
  Fix inherited dependency when instrmentation.
2010-09-03 10:21:37 -07:00
Ying Wang 3dae0ee46c Fix inherited dependency when instrmentation.
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
2010-09-03 10:05:39 -07:00
Ying Wang 512802772a Now slang supports "-I" options.
Change-Id: I32aef6c913d9d30f9982a593397145f1562aecf9
2010-09-01 13:28:52 -07:00
Ying Wang ebfddaa55b Now slang supports multiple rs files in a single run.
Change-Id: I26be766614ee3542d76471e3fc55f485ac65bdee
2010-08-05 12:54:30 -07:00
The Android Open Source Project 87208510ab am 85581a1b: merge from open-source master
Merge commit '85581a1ba81105740cc1e87bfad040bbac4662ec'

* commit '85581a1ba81105740cc1e87bfad040bbac4662ec':
  Allow explicit warnings for projects
2010-07-22 11:35:13 -07:00
The Android Open Source Project 85581a1ba8 merge from open-source master
Change-Id: Ide7fbe06d7f9c1a06827365f006ddc7a01ba4dab
2010-07-22 11:31:59 -07:00
Jeffrey Chyan 7adbf97d11 Allow explicit warnings for projects
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
2010-07-20 15:32:21 -07:00
Ying Wang 0bd59a0a58 Build system support for RenderScript
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
2010-07-19 13:38:56 -07:00
Ying Wang aabbc07cb8 am 90cf34c7: am f0f60cdd: resolved conflicts for merge of 1a08100f to gingerbread
Merge commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b'

* commit '90cf34c72e204eb1d23f43d1fccbf2076e8ff67b':
  Support to build native libraries with prebuilt NDK
2010-07-13 17:26:00 -07:00
Ying Wang 90cf34c72e am f0f60cdd: resolved conflicts for merge of 1a08100f to gingerbread
Merge commit 'f0f60cdd8f4f74b2480774887606afdebec8d891' into gingerbread-plus-aosp

* commit 'f0f60cdd8f4f74b2480774887606afdebec8d891':
  Support to build native libraries with prebuilt NDK
2010-07-13 17:24:09 -07:00
Ying Wang f0f60cdd8f resolved conflicts for merge of 1a08100f to gingerbread
Change-Id: I9e4183a1d5c0efb13de8655b9eb7c74d50b34cd7
2010-07-13 17:21:33 -07:00
Ying Wang 1a08100fa9 Support to build native libraries with prebuilt NDK
Bug: http://b/issue?id=2811253
Change-Id: Iabd4ab8b3d7236dffe89f1939e1142e882944026
2010-07-13 16:29:18 -07:00
The Android Open Source Project 4be5c394c1 am 0fd96df4: merge from open-source master
Merge commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5'

* commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5':
  Refactor Stripper. Allow a stripper other than SOSLIM to be specified
2010-07-09 16:05:04 -07:00
The Android Open Source Project 0fd96df49c merge from open-source master
Change-Id: I40aa6f0f885ea30dd5f9918c323fa240a4830c38
2010-07-09 16:02:03 -07:00
Bruce Beare 45ac434151 Refactor Stripper. Allow a stripper other than SOSLIM to be specified
Change-Id: I61137f5bb123dc5f610af9928ed3debdf85ba74d
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
2010-07-09 12:16:46 -07:00
Ying Wang 8f5069b1be resolved conflicts for merge of 822fa972 to master
Change-Id: Ic7a7499b2058abbc6cefd94a0a06a95ef8c4d61c
2010-06-29 11:08:13 -07:00
Ying Wang dd2c21550c am 0af605f3: Merge "Allow to override --version-code and --version-name in LOCAL_AAPT_FLAGS" into froyo
Merge commit '0af605f3b6e759f480a5124dc6b338ec58e1d40c' into gingerbread

* commit '0af605f3b6e759f480a5124dc6b338ec58e1d40c':
  Allow to override --version-code and --version-name in LOCAL_AAPT_FLAGS
2010-06-29 09:28:56 -07:00
Ying Wang 1ae607add3 Allow to override --version-code and --version-name in LOCAL_AAPT_FLAGS
Change-Id: Ibbcd626e6856d9340d9d3e2f916127feed0b6f5c
2010-06-23 13:34:22 -07:00
Jack Palevich a0ab29b986 Add LOCAL_JNI_SHARED_LIBRARIES_ABI build variable.
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
2010-06-18 15:38:07 +08:00
Guang Zhu 63f7dad434 am 4873beb5: am a943634a: Merge "improvement for emma filter option" into gingerbread
Merge commit '4873beb5b018d74a3b38403f34628ed6c3435888'

* commit '4873beb5b018d74a3b38403f34628ed6c3435888':
  improvement for emma filter option
2010-06-16 15:28:20 -07:00
Guang Zhu 9cd3d8c654 improvement for emma filter option
the original implementation directly embeds the filter variable into command
line; this implies that filter variable cannot contain any whitespaces,
otherwise it'll be misintepreted as a new command line argument to emma. the
side effect is that user will be forced to cram all filter related java
class/package names into one line, which could be very long. with this
change, user can use line continuation ("\") or appending ("+=") to break
up long filter specs.

Change-Id: I2c130033cdb5120251d6f84c3dd906d140d52991
2010-06-15 13:37:30 -07:00
Ying Wang 12a77ba4c6 am 2e684553: am eee01787: am e8ffa149: am ba16a89d: Override LOCAL_CERTIFICATE in inherit-package. 2010-06-02 22:35:33 -07:00
Ying Wang eee0178732 am e8ffa149: am ba16a89d: Override LOCAL_CERTIFICATE in inherit-package.
Merge commit 'e8ffa1490023eff03335b550c582eaadd3a4561b' into kraken

* commit 'e8ffa1490023eff03335b550c582eaadd3a4561b':
  Override LOCAL_CERTIFICATE in inherit-package.
2010-06-02 14:38:43 -07:00
Ying Wang e8ffa14900 am ba16a89d: Override LOCAL_CERTIFICATE in inherit-package.
Merge commit 'ba16a89dbd61003a3b907d0f5e8fc48fba2afcab' into froyo-plus-aosp

* commit 'ba16a89dbd61003a3b907d0f5e8fc48fba2afcab':
  Override LOCAL_CERTIFICATE in inherit-package.
2010-06-02 14:37:28 -07:00
Ying Wang ba16a89dbd Override LOCAL_CERTIFICATE in inherit-package.
it's to fix typo.

Change-Id: I9a791faa4b7b5967b5d23bfcb4caeebaef94e723
2010-06-02 13:24:36 -07:00
Ying Wang e4b24ebab8 Fix "argument list too long"
Bug http://b/issue?id=2718472

Change-Id: I07eaf0d9dff2fa7c86f59bc50fb3b28516642301
2010-05-27 14:41:31 -07:00
Guang Zhu 18b7556642 Squashed commit of the following (DO NOT MERGE):
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
2010-05-18 15:26:22 -07:00
The Android Open Source Project 2373361ecb am 63cac277: am f48c3ac3: am f7c63421: merge from open-source master 2010-05-10 11:13:56 -07:00
The Android Open Source Project f48c3ac39d am f7c63421: merge from open-source master
Merge commit 'f7c634216e673407f5a7a879bcf2ddb2454e4670' into kraken

* commit 'f7c634216e673407f5a7a879bcf2ddb2454e4670':
  Replace arm with proper variable for CPU/ABI
2010-05-10 11:11:09 -07:00
The Android Open Source Project f7c634216e merge from open-source master
Change-Id: Id99b6cbc613c6c7b9d1ef79274b1c28b808a32d4
2010-05-10 11:05:12 -07:00
Patrick Scott 0e27dff167 Quiet the build a little more.
Change-Id: Id15808249800f32671bb902872b50051dfcb9909
2010-05-07 08:37:11 -04:00
Bruce Beare 5b9f19e58f Replace arm with proper variable for CPU/ABI
Change-Id: If8594d9a2abf4d8c08b5ccea612bb700afa9e9b7
2010-05-05 11:26:04 -07:00
Colin Cross 6c6ab0a753 am 80d38729: am 9ca21644: build: Fix including WHOLE_STATIC_LIBRARIES in static libraries 2010-05-05 11:07:53 -07:00
Colin Cross 9ca2164414 build: Fix including WHOLE_STATIC_LIBRARIES in static libraries
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
2010-05-04 18:09:56 -07:00
Jesse Wilson 72c941a147 Moving junit out of core.jar and into core-junit.jar.
Also extending the arbitrary limit on build argument sizes,
which I ran up against in building after this change.

Change-Id: Iba79a37b27e7d5efa2b02a99aa253a2eec7ede75
2010-05-04 16:33:49 -07:00
Ying Wang 3533eca851 Add build number to apks by appending it to versionName.
Change-Id: I476ff3514068814211d67e8ed956f1923be33bcd
http://b/issue?id=2557312
2010-04-21 10:23:42 -07:00
Guang Zhu 155afe393f 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
2010-04-20 13:38:49 -07:00
Ying Wang 8c254825a0 Support to override instr target package in inherit-package
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
2010-03-16 17:08:58 -07:00
Ying Wang c61d5932d3 Don't force localization for package tagged as tests.
Change-Id: I612598443371fc388cf08ddde7ebdd1d3dec9c7e
2010-03-10 16:02:42 -08:00
Doug Zongker abfbbe2e1d allow EventLog tag numbers to be auto-assigned
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
2010-02-16 14:32:08 -08:00
Ying Wang 3b2bdf1033 Fix and enable proguard on packages. 2010-02-11 13:41:10 -08:00
Patrick Scott 9825256577 Put private includes before system includes.
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.
2010-02-08 18:57:03 -05:00
Jeff Hamilton bb67d21337 Get LOCAL_MANIFEST_PACKAGE_NAME working.
Change-Id: Ieafbf2596252ee3a2fe5d1ad433e8863fbf84601
2010-02-05 23:57:34 -06:00
Brian Carlstrom f184a0f26d Add support for LOCAL_JAVACFLAGS
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.
2010-02-05 15:57:07 -08:00
Joe Onorato 899e62a841 Add an inherit-package macro to the build system.
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.
2010-02-05 10:16:57 -08:00
Doug Zongker 14833605d2 add UnmountAll function to OTA script; support radio images w/path
Three unrelated changes:

- change the add-radio-file makefile function to support adding files
  with paths.  (The path part of the pathname is stripped off.)

- add an UnmountAll function to the OTA script generation code, so
  that we can explicitly unmount everything we've mounted (in addition
  to doing it automatically at the end of the script).

- add the updater API version to the info object passed to
  device-specific code.

Change-Id: Ia62b15403c1cc8fce8d9910f291450c8077e49f4
2010-02-03 09:21:22 -08:00
Bjorn Bringert a89c990e31 Add all-logtags-files-under macro
Change-Id: Icb4c7e1bb2dfa4df71f07cb022c92e95a9115019
2010-02-02 20:44:13 +00:00
Jean-Baptiste Queru 75127b769e Remove special-handling of the restricted tag.
Nobody is using it any more, and it'd be too easy to
make a build system change that wouldn't properly handle it.

Change-Id: Ia61232ff944c34c46932c1885b2b0ec1b479566b
2010-01-11 09:40:39 -08:00
Jean-Baptiste Queru 0a3cfdc853 Add all-html-files-under
This allows to run droiddoc on only a specific set of subdirectories
instead of using all subdirectories.

Change-Id: I6b5daa31f6ce6801705a5c87bd05ea0e4e8c5d88
2009-12-18 09:02:13 -08:00
Doug Zongker 0d5eb0b7e4 am af830d39: am 485847e4: Merge change I6f85805b into eclair-mr2
Merge commit 'af830d3999ac1670b92207f6c1201d297913b9a9'

* commit 'af830d3999ac1670b92207f6c1201d297913b9a9':
  break up event-log-tags; generate java source files with constants
2009-12-04 04:31:16 -08:00
Doug Zongker 9bd4962af8 break up event-log-tags; generate java source files with constants
Construct the /system/etc/event-log-tags file by unioning together any
*.logtags files included in LOCAL_SRC_FILES throughout the system (with
appropriate error checking for dup tag numbers, etc.)

For java packages, generate a java source file from the logtags file for
that package that contains static integer constants for each tag name.
2009-12-03 16:47:52 -08:00
Dan Bornstein 6581feda85 Only put .o files into static libraries when building for the host.
In particular don't put the symbol indices from included .a files into
them. I didn't change the equivalent device rule ala the "if it ain't
broke" rule of thumb.

Change-Id: I064ac356a6f48f93fca2cd08a8408ca835f8f9a4
2009-10-22 13:14:41 -07:00
Dan Bornstein 3d02eacbde It's not safe to use the TARGET ar when building a HOST .a (natch).
Change-Id: If9e851fe3306993fb49210952d81ab36cb78c807
2009-10-21 11:12:56 -07:00
Doug Zongker 5e98e6f05c use aapt to build jar files instead of the system zip (DO NOT MERGE)
By using 'aapt add' instead of whatever 'zip' utility happens to be
installed on the machine, we get files that are imgdiff-friendly,
which makes for smaller incremental OTAs.

(This is a cherry-pick of a change already submitted to eclair-mr2;
the change was approved for mr1.)
2009-10-19 17:05:46 -07:00
Dan Bornstein 6bffc91c5d Make the host static library build rule know about
LOCAL_WHOLE_STATIC_LIBRARIES.

While I was in the territory, I reordered a few lines to be more
consistent with nearby code/files.

Change-Id: Ie9809f065e32ca748ae4539dd785980ff496c2d2
2009-10-15 16:28:56 -07:00
Doug Zongker 9e4374be2c use aapt to build jar files instead of the system zip
By using 'aapt add' instead of whatever 'zip' utility happens to be
installed on the machine, we get files that are imgdiff-friendly,
which makes for smaller incremental OTAs.
2009-10-09 12:14:03 -07:00
Sriram Raman 5bbd2294e9 For Ying Wang:
Fix "argument list too long" build error bug.
2009-10-07 16:27:38 -07:00
Dave Bort b392641d9b Make $(my-dir) fail if it's called after including $(CLEAR_VARS) 2009-09-23 12:58:20 -07:00
Doug Zongker 93d9ff44ce increase reserved blocks from 5 to 8
Our yaffs filesystems reserve 5 blocks, use 1 for a checkpoint, and
may use 1 or 2 more for caching.  Take these all into account when
computing the max image size.
2009-09-14 17:46:41 -07:00
Joe Onorato 2daa2b3b05 Add the ability to turn on proguard for java targets, and to call aapt
to generate a rules file for proguard for stuff from the manifest and
other resources that need to be kept.
2009-08-30 13:43:00 -07:00
Doug Zongker fbc039e9b9 am 4ac1ba61: fix typo in bash expression
Merge commit '4ac1ba61075190fa9ced594c85285beff6293184' into eclair

* commit '4ac1ba61075190fa9ced594c85285beff6293184':
  fix typo in bash expression
2009-08-26 11:41:13 -07:00
Doug Zongker ed96e88850 resolved conflicts for merge of 6dd2ae02 to eclair 2009-08-26 09:37:07 -07:00
Doug Zongker 4ac1ba6107 fix typo in bash expression
Fortunately the error doesn't change the value of the expression
(since undefined variables are treated as 0 inside "$((...))").
2009-08-25 20:38:50 -07:00
Doug Zongker 6dd2ae02c1 turn down allowed image size
yaffs appears to reserve 5 blocks on the partition for itself.
Account for this when computing the maximum allowable image size.
2009-08-25 18:05:02 -07:00
Raphael f6ff4c5acf Windows: Fix platform build. 2009-08-19 11:32:15 -07:00
Dianne Hackborn a37bdef67a am 6929fb57: Merge change 20880 into donut
Merge commit '6929fb57a5afb90606feb8c35c8c2cda170adfe4'

* commit '6929fb57a5afb90606feb8c35c8c2cda170adfe4':
  Fix issue #2048267: Run zipalign on all prebuilts
2009-08-12 12:05:27 -07:00
Dianne Hackborn 9c0c4b7a58 Fix issue #2048267: Run zipalign on all prebuilts 2009-08-11 19:41:51 -07:00
Doug Zongker 8510a1e0d7 use *_PARTITION_SIZE instead of *_MAX_SIZE
Make BoardConfig.mk store the size of the partition rather than the
maximum size of the image that can be flashed there, because the
function used to do the conversion isn't available when BoardConfig.mk
is read any more.
2009-08-10 09:03:16 -07:00
Android (Google) Code Review 80f820ca1a am 01bf5684: Merge change 20313 into donut
Merge commit '01bf5684b448623d7eb054b6d717bb77af05de33'

* commit '01bf5684b448623d7eb054b6d717bb77af05de33':
  add feature to strip "# comment" lines from prebuilt files
2009-08-06 16:35:50 -07:00
Doug Zongker 1046d20624 add feature to strip "# comment" lines from prebuilt files
Change things so that when $(LOCAL_PREBUILT_STRIP_COMMENTS) is
nonempty, we copy the source file using sed to strip out all the "#
line"-style comments and blank lines, saving considerable system image
space in the case of some wifi configurations.

Bug: 2036961
2009-08-06 14:39:43 -07:00
Joe Onorato dc1a728fb8 Rewrite findleaves.sh in python
This cuts the make startup time by about 30 seconds.  Python is faster
than bash in this case, and also we can now supply multiple directories
to prune, and skip the .repo directory, which is, uh, big.

This is from my mac laptop:

$ time build/tools/findleaves.sh --prune="./out" . Android.mk > /dev/null

real    0m29.186s
user    0m0.550s
sys 0m5.897s

$ time build/tools/findleaves.py --prune="./out" . Android.mk > /dev/null

real    0m4.701s
user    0m0.645s
sys 0m1.294s

$ time build/tools/findleaves.py --prune="./out" --prune="./.repo" . Android.mk > /dev/null
real    0m0.176s
user    0m0.094s
sys 0m0.080s
2009-08-06 12:09:21 -07:00
Joe Onorato f2bce89880 am e334d255: Speed up the full build.
Merge commit 'e334d255dc8f85d610f4d0339227a0b985494811'

* commit 'e334d255dc8f85d610f4d0339227a0b985494811':
  Speed up the full build.
2009-07-17 17:13:08 -07:00
Joe Onorato e334d255dc Speed up the full build.
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!
2009-07-17 16:48:15 -04:00
Doug Zongker b17199ee41 am 742fa575: fix problems with new image size calculations
Merge commit '742fa575d09272f1e06616fc208a1e08830c8f82'

* commit '742fa575d09272f1e06616fc208a1e08830c8f82':
  fix problems with new image size calculations
2009-07-08 13:52:20 -07:00
Doug Zongker 742fa575d0 fix problems with new image size calculations
The build servers have GNU coreutils 5.93, where stat does not output
a newline.  Ubuntu hardy has GNU coreutils 6.10, where it does.
Lacking a newline messes up the summing of the sizes.  Fix
get-file-size to remove the newline if present, and make the total
calculation in assert-max-file-size more robust.

Also, if the image was too big, it was not actually making the build
fail (because /bin/false was not the last thing called).  Fix that so
it does.
2009-07-08 12:09:04 -07:00
Doug Zongker 97f696cdaa am 4647f12a: fix image size tests
Merge commit '4647f12a4ff9dc54247184f17ff3de1cc423f213'

* commit '4647f12a4ff9dc54247184f17ff3de1cc423f213':
  fix image size tests
2009-07-07 16:43:16 -07:00
Doug Zongker 4647f12a4f fix image size tests
There are currently two errors in the way we test the size of built
images against the size of the partition on the hardware:

- the limits in BoardConfig.mk are set with the data size only, but
  images contain an extra 64 bytes per 2048-byte page.  This means we
  think the partition is about 1/32 smaller than it really is.

- when we deliver a build via OTA, the system partition ends up with
  one more file than when it's flashed via fastboot.  That file is a
  copy of the recovery image.  In order to be able to OTA a build, we
  need to make sure the system partition has enough room for all the
  system files plus the recovery image as well.

For the kila system partition, these errors are roughly the same order
of magnitude -- about 2MB, one in the "safe" direction, one in the
"unsafe" direction.  This change fixes both to give us a more accurate
notion of how close we are to the limit.

Make the build emit a warning (but not fail) when the size is within
32kb of the limit.

Also, include the values of the partition size limits in an info file
in the target-files package, so post-processing tools can use them
without parsing the BoardConfig.mk file.
2009-07-02 12:21:43 -07:00
Doug Zongker e01100c7ac generalize the definition of a "radio image"
Non-HTC devices may have multiple files constituting their "radio
image".  Generalize the INSTALLED_RADIOIMAGE_TARGET variable a bit:
initially define it as empty, then let AndroidBoard.mk files add to
it.  Provide a convenience function add-radio-image for them to call
to add files.  Put all those files into the target_files zip for use
in OTA and fastboot package construction.

Note that for HTC devices, this changes the name of the radio image in
the target_files zip:  instead of "RADIO/image" it will be
"RADIO/radio.img".  Tools that use the target_files zip will need to
be changed.
2009-06-22 17:46:19 -07:00
Joe Onorato 483d92412f Put the java source file list files somewhere where they don't
conflict with the .class files that are getting zipped up, and
delete them when we're done with them.
2009-06-18 13:16:52 -07:00
Sriram Raman f1a55f8bfb Fix the usual build hanging issue by using -o (overwrite without prompting) option with unzip
This should fix the common problem when googlelogin-client and google-framework are both included
2009-06-09 15:08:29 -07:00
Dima Zavin 46e9beca50 core: Add support for static libraries to include other whole static libs.
Currently, if LOCAL_WHOLE_STATIC_LIBRARIES is specified, its values is
ignored. This patch addresses this limitation and works as follows:
For every whole lib specified, it extracts the archive into a sub-directory
under the target lib's intermediate, and then seeds the initial target
archive with all the members.

Signed-off-by: Dima Zavin <dima@android.com>
2009-05-27 20:14:55 -07:00
David 'Digit' Turner 5dbb529de9 Allow the build system to build Objective-C sources.
This is needed to move our modified SDL sources under external/qemu/distrib.
As per joeo's request, this change also enables target Objective-C compilation, letting it error at build time.
2009-05-20 11:29:15 +02:00
Dianne Hackborn 9bd5404a9d Use new aapt feature to add default version info to .apks. 2009-05-18 12:41:45 -07:00
Joe Onorato 64d85d0d82 AI 145618: am: CL 145333 Cloned from CL 144759 by 'g4 patch'.
Original change by joeo@abreu on 2009/04/06 19:54:13.
  Implement SDK add-ons in the build system.
  - Add an option to use the standard javadoc doclet instead
  of droiddoc, since droiddocs non-sdk templates aren't
  ready for prime time.
  - Add the notion of a stubs for a library.  It's only
  implemented for java libraries, but when we do native
  libraries in the NDK or sdk-addons, it will work there too.
  Original author: joeo
  Merged from: //branches/cupcake/...

Automated import of CL 145618
2009-04-09 19:31:12 -07:00
The Android Open Source Project 88b607994a auto import from //depot/cupcake/@135843 2009-03-03 19:28:42 -08:00
The Android Open Source Project 05806d7af6 auto import from //depot/cupcake/@135843 2009-03-03 18:28:14 -08:00
The Android Open Source Project 094268cf8c auto import from //depot/cupcake/@132589 2009-03-03 14:03:52 -08:00
The Android Open Source Project a9b2249753 auto import from //depot/cupcake/@137055 2009-03-02 22:54:15 -08:00
The Android Open Source Project ed18741e07 auto import from //branches/cupcake/...@127101 2009-01-20 14:03:55 -08:00
The Android Open Source Project 66339ad5ce auto import from //branches/cupcake/...@126645 2009-01-15 16:12:07 -08:00
The Android Open Source Project 4f85cc54b3 auto import from //branches/cupcake/...@125939 2009-01-09 17:50:54 -08:00
The Android Open Source Project dcc08f073b Code drop from //branches/cupcake/...@124589 2008-12-17 18:03:49 -08:00
The Android Open Source Project b6c1cf6de7 Initial Contribution 2008-10-21 07:00:00 -07:00