Commit graph

606 commits

Author SHA1 Message Date
Dan Albert
5245bc8b34 am 201f6b3e: Merge "Make modules depend on their makefile."
* commit '201f6b3e92a2ef2f3a117f33cd399d5304dd385a':
  Make modules depend on their makefile.
2014-11-11 22:56:01 +00:00
Dan Albert
954b5bdcf4 Make modules depend on their makefile.
This should obviate much of the need for cleanspecs, and also make it
unnecessary to continue adding LOCAL_ADDITIONAL_DEPENDENCIES for this
sort of thing all over the tree.

Change-Id: I97aa8fd280ae868a5f6364f8b7bf3c2fe235d6ce
2014-11-11 14:30:54 -08:00
Ying Wang
f4053c70e4 am 007026f0: am 3fe170c5: Merge "Add support for prebuilt AARs." into lmp-mr1-ub-dev
* commit '007026f0ebf2216d875b9fdab44cc68b659e2307':
  Add support for prebuilt AARs.
2014-11-03 18:11:53 +00:00
Ying Wang
007026f0eb am 3fe170c5: Merge "Add support for prebuilt AARs." into lmp-mr1-ub-dev
* commit '3fe170c51ea1eca253164fa8738ab42b5b9aaa6b':
  Add support for prebuilt AARs.
2014-11-03 18:07:45 +00:00
Nick Kralevich
0a5105bd25 am e4cbc2af: Merge "Revert "Add support for prebuilt AARs."" into lmp-mr1-ub-dev
* commit 'e4cbc2af5f476d9eb875253584260bed807acddf':
  Revert "Add support for prebuilt AARs."
2014-11-02 16:53:29 +00:00
Ying Wang
e9dd9f2bfc Add support for prebuilt AARs.
- You can give a .aar as source file to a prebuilt static Java library
  module. The build system will set up dependencies and rules to extract
  classes.jar and other resource files.
- To build against a prebuilt AAR module, use:
  LOCAL_STATIC_JAVA_AAR_LIBRARIES := <module names of aar prebuilt AARs>
  The build system will set up rules to merge the library's
  AndroidManifest.xml with the main AndroidManifest.xml, add the AAR's
  resource dirs and link/merge the AAR's classes.jar.

Bug: 18168693
Change-Id: Ic2c1d20572a93bd98dbc72f8a39e26b459e442c2
2014-11-02 16:51:49 +00:00
Nick Kralevich
36fd476843 Revert "Add support for prebuilt AARs."
master doesn't compile anymore.

This reverts commit f567292504.

Change-Id: Icc16fe5360d1222740b803e9dd006081e3c66e46
(cherry picked from commit bcf8683b29)
2014-11-02 05:26:14 +00:00
Nick Kralevich
bcf8683b29 Revert "Add support for prebuilt AARs."
master doesn't compile anymore.

This reverts commit f567292504.

Change-Id: Icc16fe5360d1222740b803e9dd006081e3c66e46
2014-11-02 05:11:11 +00:00
Ying Wang
df95d8c1f7 am 4ef8133a: am f5672925: Add support for prebuilt AARs.
* commit '4ef8133a421dd92c6feb0508bc2274f12576cfd2':
  Add support for prebuilt AARs.
2014-10-31 00:20:31 +00:00
Ying Wang
4ef8133a42 am f5672925: Add support for prebuilt AARs.
* commit 'f56729250448200834c5c95c86c937e887d73623':
  Add support for prebuilt AARs.
2014-10-31 00:13:50 +00:00
Ying Wang
f567292504 Add support for prebuilt AARs.
- You can give a .aar as source file to a prebuilt static Java library
  module. The build system will set up dependencies and rules to extract
  classes.jar and other resource files.
- To build against a prebuilt AAR module, use:
  LOCAL_STATIC_JAVA_AAR_LIBRARIES := <module names of aar prebuilt AARs>
  The build system will set up rules to merge the library's
  AndroidManifest.xml with the main AndroidManifest.xml, add the AAR's
  resource dirs and link/merge the AAR's classes.jar.

Bug: 18168693
Change-Id: I478913d5d498f800b322529d7c2c2c0ea78425e5
2014-10-29 23:40:52 +00:00
Jeff Davidson
79ddea19f6 am 4e466096: am ed9981d9: am 427d1e98: Merge "Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE."
* commit '4e4660961b6c704d13c6c521f36958f436ec40f3':
  Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.
2014-10-29 20:52:18 +00:00
Jeff Davidson
ed9981d927 am 427d1e98: Merge "Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE."
* commit '427d1e98eceb78f5cb8f1e50d00d342fc7f359c6':
  Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.
2014-10-29 17:40:05 +00:00
Jeff Davidson
b8ddd55b55 Pull in latest protolib when using LOCAL_PROTOC_OPTIMIZE_TYPE.
If a module is explicitly depending on a versioned protolib, we strip
the dependency and log a warning so the unneeded dependency can be
removed.

Change-Id: I949d32fb5126f1c05e2a6ed48f6636a4a9b15a48
2014-10-23 07:20:16 -07:00
Ying Wang
2fee3a8659 Allow to build libcore in PDK build.
Change-Id: Ice40f19dd3302378daa9bd4c4ecd2c1d2c7ff284
2014-10-17 18:26:39 -07:00
Mark Renouf
ba19802001 am 0ab5cc6b: am 99332f11: Allow for opt-in of proguard shrinking of tests with new flag
* commit '0ab5cc6b8e04e0a07778f3c620a9edac3a40bc4e':
  Allow for opt-in of proguard shrinking of tests with new flag
2014-09-10 07:01:07 +00:00
Mark Renouf
99332f11c5 Allow for opt-in of proguard shrinking of tests with new flag
By adding 'shrinktests' to LOCAL_PROGUARD_ENABLED, the -dontshrink
flag will be omitted from the resulting proguard config allowing
tests to have unnecessary classes removed before dexxing.

Clockwork is running into 64k method limits on some tests which
depend on GmsCore. On 4.4W (klp-modular-dev) we don't have the
option for multi-dex so proguard is the only solution here.

This change leaves the default behavior unchanged. Shrinking is
still disabled for tests by default unless the 'shrinktests'
flag is set in the Makefile.

Change-Id: Ib586ae9e7f617072b41e95742559bf7c8a6a6ce1
2014-09-09 20:42:48 -04:00
Ying Wang
efb935800b Support "LOCAL_SDK_VERSION := system_current"
A module can declare "LOCAL_SDK_VERSION := system_current" to build
against the android system stubs generated from source.
For now this is only supported in platform build.

Change-Id: I1e9bbd159886bc0ea3a02b1dc4cbcb1a56e9cb15
2014-07-19 17:00:50 -07:00
Yohann Roussel
e019dfd721 Support dx generating multiple dex files.
Dx is now capable of generating multiple dex file in one run.
This capability is not compatible with --output=*.dex so this CL
changes the --output argument to be a directory. This CL also
includes the packaging of the multiple dex files when dx generates
more than one dex file.

(cherry picked from commit 8ffe9c3e79)

Conflicts:
        core/java.mk

Change-Id: I1ddc91b416de5929d4d4b41824c6012b32f94deb
2014-07-16 12:38:22 +02:00
Jeff Brown
4c4aa99ced Support more precise package exclusion from JAR files.
Allow LOCAL_JAR_PACKAGES to work on subpackages.  Previously it
only worked on top-level packages due to a bug in how the directories
were recursively deleted.

Add LOCAL_JAR_EXCLUDE_PACKAGES to allow specific subpackages to
be excluded.  This rule applies after LOCAL_JAR_PACKAGES has
selected which packages to include.  It may also be used independently.

Change-Id: Ibd0e495be1a20c84b59c9da132e92100ef3f8705
2014-05-23 18:41:19 -07:00
Yuncheol Heo
623d706253 Fix the path for findbugs.
Change-Id: I45485f1aeaf7fc3db2839f42829278d8c0ec97e3
2014-05-20 17:13:34 +09:00
Ying Wang
a87489b5c2 am 74b71317: am 2d72094f: am 960d919e: resolved conflicts for merge of 4df82b3e to klp-dev-plus-aosp
* commit '74b71317711fe4bacc6422e45de599fea840f061':
  Allow proguarding the main app and the test app in a single run.
2014-02-10 12:51:36 +00:00
Ying Wang
960d919e81 resolved conflicts for merge of 4df82b3e to klp-dev-plus-aosp
Change-Id: I7a1d9e1954ede06a818814bd05a77c69f1ed3bc6
2014-02-08 10:31:46 -08:00
Mihail Dumitrescu
4df82b3e30 Allow proguarding the main app and the test app in a single run.
Bug: 12895101
Change-Id: I6804d73306a164d3e3ec0cab4743f9582b5ef2cf
2014-02-07 19:11:24 +00:00
Ying Wang
057375d783 am 03a06f41: am 9507a0fd: am 82c59aef: am 71e8a22e: Merge "Add DEXPREOPT support for ART"
* commit '03a06f4158e9eea9152f25286fcf2c30044d4e06':
  Add DEXPREOPT support for ART
2013-12-18 01:06:10 +00:00
Brian Carlstrom
ced4bff58e Add DEXPREOPT support for ART
Change-Id: I24d0d7b2a23a769f5d69bd4dc14be22e1475b759
2013-12-17 14:44:00 -08:00
Stephen Hines
4e12f542be Add FORCE_BUILD_RS_COMPAT option.
This enables the .so libraries to be built for apps using the
RenderScript support library. Traditionally, we trim these .so
files from full platform builds.

Change-Id: I6f8e9b8d2b671338d3d5a5ac0bfcc60fd448688b
2013-11-27 14:54:15 -08:00
Stephen Hines
c54e81c0df Add FORCE_BUILD_RS_COMPAT option.
This enables the .so libraries to be built for apps using the
RenderScript support library. Traditionally, we trim these .so
files from full platform builds.

Change-Id: I6f8e9b8d2b671338d3d5a5ac0bfcc60fd448688b
2013-09-30 15:57:36 -07:00
Ying Wang
3057adbace Drop the [no]proguard. prefix for the intermediate targets
Since we have enabled Progaurd for all build variants, we don't need the
different naming scheme along the path to make incremental build work
properly when you switch build variant.
As a result, this fixes the nothing-to-do-do-build-gets-something-build bug
introduced by the multi-dex change.

Change-Id: I907ff13091013d28910b0aa190b9218144385132
2013-09-12 17:50:11 -07:00
Ying Wang
7b7929ad38 Drop the [no]proguard. prefix for the intermediate targets
Since we have enabled Progaurd for all build variants, we don't need the
different naming scheme along the path to make incremental build work
properly when you switch build variant.
As a result, this fixes the nothing-to-do-do-build-gets-something-build bug
introduced by the multi-dex change.

Change-Id: I907ff13091013d28910b0aa190b9218144385132
2013-09-12 17:35:21 -07:00
Ying Wang
18c5126262 am 54e81f54: am 37b82aac: Skip compiling Java if an apk has no Java code.
* commit '54e81f546ccbb82b1b3a6d27026f8c58bd24731d':
  Skip compiling Java if an apk has no Java code.
2013-08-28 17:36:31 -07:00
Ying Wang
37b82aacd9 Skip compiling Java if an apk has no Java code.
Change-Id: Iee204e03ad5bc8ce5c3b4b3863c19c89184826e2
2013-08-28 17:28:36 -07:00
Ying Wang
664a236795 resolved conflicts for merge of 9915650b to master
Change-Id: Ice0f39a84363b76ea37801eb09a1d5cfd79d38fe
2013-08-28 14:45:37 -07:00
Ying Wang
53efca6c5b am 161aa74d: am 576e0146: Make it a fatal error if no source files for Java module.
* commit '161aa74de6aaa03d67f9dac10b71f15ebe728b3c':
  Make it a fatal error if no source files for Java module.
2013-08-28 14:06:41 -07:00
Ying Wang
990cf5e57d Better handle of need_compile_java.
Change-Id: I609a27e2b35b08962243b6516c6c525c0c938d3c
2013-08-28 14:05:20 -07:00
Ying Wang
576e0146a9 Make it a fatal error if no source files for Java module.
Change-Id: Ia04158c11381b6b1687b9d5c699a9ea8ae3cb317
2013-08-28 11:19:36 -07:00
Ying Wang
e260b24cde am 670a7a63: am c5b72527: am ec3c15e5: am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit '670a7a6389948c325399ae9bb3dc6a678f9982f8':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:20:28 -07:00
Ying Wang
c5b72527d3 am ec3c15e5: am 04c4d34d: am 7311a344: Make it easier to enable obfuscation and optimization.
* commit 'ec3c15e5c7c11cf3a831898f286c7eb7c216e50f':
  Make it easier to enable obfuscation and optimization.
2013-08-23 10:12:26 -07:00
Ying Wang
7311a344be Make it easier to enable obfuscation and optimization.
With this change, use:
* LOCAL_PROGUARD_ENABLED := obfuscation  # to enable obfuscation
* LOCAL_PROGUARD_ENABLED := optimization # to enable optimization
* LOCAL_PROGUARD_ENABLED := obfuscation optimization # to enable both

Now the meaning of the LOCAL_PROGUARD_ENABLED options:
* full:
    Use the build system's default configurations:
    with shrink but no obfuscation or optimization,
    global proguard flags in build/core/proguard.flags
    are applied.
* custom:
    The same as "full" except no aapt-generated resource-related
    proguard flags.
* nosystem:
    Don't use any build system's default configurations; but
    aapt-generated proguard flags are still applied. You are
    responsible for any other flags.
* disabled:
    Disable proguard.
* obfuscation:
    The same as "full" but with obfuscation enabled.
* optimization:
    The same as "full" but with optimization enabled.
* no value (the default):
    The build system chooses the proper value: "full" if it's an
    app; "disabled" if it's a library.

You can use more than 1 of them in a meaningful combination,
for example:
LOCAL_PROGUARD_ENABLED := obfuscation optimization

Bug: 10307372
Change-Id: Id248caca3048e99547f16559fae74f4afe85c354
2013-08-22 17:12:38 -07:00
Yohann Roussel
400c48cc3b Merge "Support dx generating multiple dex files." 2013-08-22 08:31:14 +00:00
Yohann Roussel
8ffe9c3e79 Support dx generating multiple dex files.
Dx is now capable of generating multiple dex file in one run.
This capability is not compatible with --output=*.dex so this CL
changes the --output argument to be a directory. This CL also
includes the packaging of the multiple dex files when dx generates
more than one dex file.

Change-Id: I1ddc91b416de5929d4d4b41824c6012b32f94deb
2013-08-20 20:53:40 +02:00
Ying Wang
a3b7593546 Support to optionally run rmtypedefs.
Bug: 10330586
Change-Id: I6ddfca2ec986cf2c82b0942b7a5360508f095e9a
2013-08-14 18:20:54 -07:00
Mike Lockwood
c73018c2e9 Fix typo from previous change to fix the build
Change-Id: I6cf7217eb81abd794339143b7c23456b68808caf
2013-08-06 16:15:48 -07:00
Mike Lockwood
6e5d867e30 Add support for overriding default Java libraries on a per-target basis
Change-Id: I425041554867a7ed7d74e1d603f160b2110bc86b
2013-08-06 15:07:18 -07:00
Jeff Brown
ae859f9b64 Split framework jar.
Change-Id: I38c68ac169a4ea10e4640b5d8e24298a6caaf441
2013-07-17 21:08:18 -07:00
Torne (Richard Coles)
d919c7a314 Add proper deps for jarjar rules files.
Changes to the jarjar rules file for a module were not causing
rebuilds; add the missing dependency.

Change-Id: Ib78fa708681cbc414218fe84cc2c4282c619f45f
2013-06-05 14:25:47 +01:00
Ying Wang
5745351908 Split out proguard_basic_keeps.flags
For 'LOCAL_PROGUARD_ENABLED := nosystem' we still include
proguard_basic_keeps.flags.

Change-Id: I43ee7e98d2aaeb84879441f90ab6839c0e8f4e65
2013-05-17 10:02:00 -07:00
Tim Murray
8e0567ae77 Don't build librs.*.so in bundled branches since we'll use native RS.
bug 8939828

Change-Id: I3f991ad7b6b1590063a9048326fd95edc483af13
2013-05-13 15:46:37 -07:00
Ulas Kirazci
bde274ef83 Add a "nano" option to LOCAL_PROTOC_OPTIMIZE_TYPE.
Change-Id: I7429015b3c5f7f38b7be01eb2d4927f7a9999c80
2013-04-03 13:37:07 -07:00
Stephen Hines
8db4ccea4a Link RS compatibility files with libc and make bcc_compat a regular dep.
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
2013-03-27 16:51:38 -07:00
Tim Murray
1a6f09a48c Add support for multiple architectures with RS compat lib.
Change-Id: I310f6f72e1124c06e9c59b0f59d33f168dc1e632
2013-03-06 17:15:26 -08:00
Stephen Hines
9ac9b53dc6 Reduce RS build verbosity.
Change-Id: I9d04198ed1b9025abd60080c5ef23b3ce5ef9e22
2013-02-27 00:51:08 -08:00
Ying Wang
370fa673b5 Build rs_compatibility_jni_libs into product-specific dir
They can't be shared across products.

Change-Id: I2e2b9126f2e78eb28866978d58cf6eb8c52f3d09
2013-02-25 16:06:42 -08:00
Ying Wang
9c3aa053f5 Order-only deps on LOCAL_C/CXX and BCC_COMPAT
So if the host binaries are updated, we don't run the rules again.
Bug: 8234097

Change-Id: I6c888d2b3ae39db1f91411da630ac098273f139d
2013-02-20 13:34:05 -08:00
Stephen Hines
d1f4e18574 Fix duplicate build rule warning.
Change-Id: Ieb90af933bff162cd1ed5aa36fc1efd2b4ca7e04
2013-02-19 14:31:59 -08:00
Stephen Hines
ec02b4f8d5 Switch to librs.FOO.so instead of libFOO.so to prevent collisions.
Change-Id: Ifda68f3d416d87d6f4916e44a350f15b68994536
2013-02-15 23:02:20 -08:00
Stephen Hines
4cc701480c Merge "Remove dependency on libcompiler_rt.so for RS compatibility." 2013-02-13 22:36:15 +00:00
Stephen Hines
4404433876 Remove dependency on libcompiler_rt.so for RS compatibility.
We are now using libcompiler_rt.a, so we don't need the shared version.

Change-Id: I1d35238581dc344de6918e037e89aa0362885e0e
2013-02-13 14:13:40 -08:00
Ying Wang
8392284a70 Disable LOCAL_RENDERSCRIPT_COMPATIBILITY for non-arm builds
This fixes the x86 build.

Change-Id: I370063fc83915c4c20cee08cc4feae68c7d7292b
2013-02-13 10:48:28 -08:00
Stephen Hines
6adffc196f Remove libcompiler_rt.so dependency for RS compat lib.
Change-Id: I0d871c9c7d7946b8551fdefd201603bb59ea010e
2013-02-11 20:03:38 -08:00
Stephen Hines
7b3c71d1be Add libcompiler_rt.so as a JNI dependency for RS compatibility.
Change-Id: I8840faaa86ae31abc3d78553eecdd1e642c6d15d
2013-02-11 11:11:22 -08:00
Stephen Hines
90a94b4bb2 Build RS compatibility library apps with libcompiler_rt.so too.
Change-Id: Ibc14ceb473bef23ab9e28f3a6bf7e4e99d529c01
2013-02-07 14:00:27 -08:00
Shih-wei Liao
c8dfc169c8 Fix libcompiler-rt. Use the official name libcompiler_rt.
Rename libcompiler-rt to libcompiler_rt.

Change-Id: I62e77d4dc83458bc238bd8320b70ddb7efe0dd12
2013-02-07 13:46:29 -08:00
Stephen Hines
3b0fa1083e Copy RS compatibility libraries to /system/lib/ for bundled builds.
Bug: 8138884
Change-Id: I74fb0c5835974af3c6e34fcd2d9ebfc2e7b08b4d
2013-02-06 20:16:22 -08:00
Tim Murray
99b060f624 Attempt #2: libclcore.bc comes from prebuilts/sdk for unbundled projects.
This change also adds the NDK library path for unbundled builds.

Bug: 7419958
Change-Id: Id8b608b5dd49d72bec697da8fa7a9393d2ab735f
2013-02-01 12:01:38 -08:00
Ying Wang
1d977e3183 Refactor calculation LOCAL_CHECKED_MODULE
To remove dup code;
Also added two more umbrella targets: host, target.

Change-Id: Ia6deed2940a26a31ad823fe54816840861f3fb72
2013-01-30 14:23:58 -08:00
Ying Wang
ef1a9613cb Revert "Refactor calculation LOCAL_CHECKED_MODULE"
This reverts commit ba99e69424

Change-Id: I3c42dea56376d26a5bb77b4944ae17a6875aadbb
2013-01-30 20:44:49 +00:00
Ying Wang
ba99e69424 Refactor calculation LOCAL_CHECKED_MODULE
To remove dup code;
Also added two more umbrella targets: host, target.

Change-Id: Ic82db571435cdbd10fd9e70e6c4195f4ca9ecd99
2013-01-30 11:22:06 -08:00
Stephen Hines
8f199b0588 Revert "libclcore.bc comes from prebuilts/sdk for unbundled projects."
This reverts commit ba6a7e1d46

Change-Id: I2855923e67c226d39fe362342570e9ab96b885b8
2013-01-23 18:39:05 +00:00
Stephen Hines
ba6a7e1d46 libclcore.bc comes from prebuilts/sdk for unbundled projects.
This change also adds the NDK library path for unbundled builds.

Bug: 7419958

Change-Id: If22823c3890f5507d486e654a1e0296c06a2e239
2013-01-22 17:56:37 -08:00
Stephen Hines
9541f5864d Build RS compatibility objects with libcompiler-rt.a.
Change-Id: Ic49fdc30b1d4568bbdc94338e116a31a1ade1e80
2013-01-18 16:41:22 -08:00
Ying Wang
2ce71aa062 Add new LOCAL_PROGUARD_ENABLED option "nosystem"
With which we don't include proguard flags defined by the build system.
Bug: 7990659

Change-Id: I78384d2fbaccdd714d646e1b648417195bbd8dde
2013-01-11 15:31:45 -08:00
Stephen Hines
f692513071 Clean up libRSSupport.so and libclcore.bc dependencies.
Bug: 7419958
Change-Id: I62453bb6830cc2c82ca9dbbf576b52da95eef4b1
2012-12-17 17:59:47 -08:00
Stephen Hines
e719f28d93 Build rules for Renderscript compatibility library.
Bug: 7419958
Change-Id: I2e0f0bb632e6ff22b2cf1a1b96b28364637995cc
2012-12-12 14:58:02 -08:00
Joe Onorato
7aff0a751e am 0cf8969b: am 2e5d317c: make packages respect LOCAL_ADDITIONAL_DEPENDENCIES
* commit '0cf8969bebcc40ee0ba1d720a4cc3c0003ac1265':
  make packages respect LOCAL_ADDITIONAL_DEPENDENCIES
2012-10-20 19:22:35 -07:00
Joe Onorato
537ea6be79 resolved conflicts for merge of 50462d67 to master
Change-Id: I8652008641a3eb3bc98e0225d2a80997c11b1465
2012-10-20 19:05:12 -07:00
Joe Onorato
2e5d317c3b make packages respect LOCAL_ADDITIONAL_DEPENDENCIES
Change-Id: I2595040f77f8ebb4d7c89140394a6060f167aee5
2012-10-20 18:13:57 -07:00
Joe Onorato
8858d2a731 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2012-10-20 17:25:55 -07:00
Ying Wang
057eba07b8 Use PRIVATE_WARNINGS_ENABLE
Before this LOCA_WARNINGS_ENABLE never worked :-(

Change-Id: I129a0bbbbb68e4179454b0827b0b0d18d6de67a0
2012-10-18 10:54:49 -07:00
Joe Onorato
0eccce99d7 Add a tool to let you enforce layering between packages in a java module.
And build system support for it too.

Change-Id: I4dd5ed0b9edab6e8884b0d00cfeeae5fa38d967a
2012-10-18 10:21:46 -07:00
Stephen Hines
daf2ca50dd am d2637573: resolved conflicts for merge of ed38fe6f to jb-mr1-dev-plus-aosp
* commit 'd26375733992298edc036652d25170e1cd7cbd49':
  Add support for building Filterscript files.
2012-10-12 11:02:14 -07:00
Stephen Hines
0ab6e3e6e6 Add support for building Filterscript files.
This change piggybacks Filterscript rules onto the existing Renderscript
rules. There is no real difference other than the file extension (which
llvm-rs-cc uses to apply a more stringent set of warnings/errors).

Bug: 7166741
Change-Id: I27175ff1c16c27129cafa92b4e8caabf2e5f4150
2012-10-11 15:29:10 -07:00
Brian Carlstrom
6a68e77f51 Support LOCAL_ADDITIONAL_DEPENDENCIES for java
Change-Id: Iac4b14b73e3c941b2d922e45f5698875c68134e1
2012-09-28 10:13:30 -07:00
Ying Wang
3a6f7589e8 Add LOCAL_DONT_DELETE_JAR_META_INF
To support to not delete META_INF directory from the static Java
libraries.

Change-Id: I720bfa059c43dd457a74a0c60bb6797aa408ecaf
2012-08-30 12:59:42 -07:00
Ying Wang
245592908c Keep the emma classes if emma is enabled.
Change-Id: Ie551d48532c61bf610b12875dc33cfe476625c5e
2012-08-27 16:10:28 -07:00
Ying Wang
af4800c8a6 Support EMMA_INSTRUMENT in both full and unbundled builds.
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
2012-08-22 12:11:01 -07:00
Guang Zhu
79f68bc925 Use new flag for emma instrumented build and limit to apps only
Based on existing setup, when EMMA_INSTRUMENT is used on a full
build, all Java modules will be processed with emma instrument
unless otherwise marked in their own Makefiles.

For the purpose of collecting code coverage, emma-instrument
all Java modules aren't that useful, instead, instrumenting all
the app packages is more useful. This change adds a new flag
EMMA_FULL_APP_INSTRUMENT, which can be used with a full build
to instrument all app packages.

Change-Id: Ie143fed49c23402b21f6cccac2ef25741726be45
2012-08-08 16:46:53 -07:00
Ying Wang
28437aac99 Add LOCAL_SOURCE_FILES_ALL_GENERATED support
Set "LOCAL_SOURCE_FILES_ALL_GENERATED := true" if you want to build a
Java library from only generated source files, without any static
source files. Previously this is not allowed.
This is needed by building api stub libraries, which have only source
files of generated stub files.

Bug: 6814443
Change-Id: Idb2ae9c71a473b796154a03ef07a3403461c4f3c
2012-07-19 14:38:43 -07:00
Keun young Park
efe02ce9e0 add TARGET_BUILD_JAVA_SUPPORT_LEVEL to allow checking if java build is OK in PDK
- three levels: not defined, sdk, platform
- TARGET_BUILD_PDK_JAVA_PLATFORM gives the original meaning of java platform API
  supported for java.mk
- remove libexif from user tag
- libexif_jni is pulled from f/b/media

Bug: 6623618

Change-Id: I5fa085bd10f43963350c57b7f885c700de8963e5
2012-06-07 15:40:53 -07:00
Keun young Park
816b9fd4e2 enable PDK to use platform JAVA API
- make platform-java will add necessary Java stuffs from out/target/common/
  to platform.zip
- make platform works as before: no Java libraries
- normal fusion build will pick up the file, and define TARGET_BUILD_PDK_JAVA
  besides TARGET_BUILD_PDK if Java stuffs are included
- For TARGET_BUILD_PDK_JAVA, java.mk does not touch LOCAL_SDK_VERSION, which will lead into
  pulling non-SDK Java APIs

Bug: 6482799

Change-Id: I90b1a0b06dc774150711680a6612f2b97b9eab3f
2012-05-24 11:19:31 -07:00
Ying Wang
0ec188f1c1 Support to build against prebuilt current SDK in unbundled branch
Bug: 6465084
With this change and prebuilt current SDK checked in, you can build
unbundled apps with LOCAL_SDK_VERSION current in an unbundled branch.

Change-Id: I4efcee611d08a3a903bd6bf5a80de11500564206
2012-05-10 17:40:49 -07:00
Keun young Park
ebb351e1b3 enable Java build for PDK build
- Highest LOCAL_SDK_VERSION forced for package build / java library build

Bug: 6352960
Change-Id: I4a26bf26a51b95fb97c8b2adc9d32a543832c708
2012-04-20 16:34:33 -07:00
Keun young Park
b9566c0221 Revert "enable Java build for PDK build - Highest LOCAL_SDK_VERSION forced for package build / java library build - uses prebuilt tools for PDK"
This reverts commit 9283168e61
2012-04-20 16:18:34 -07:00
Keun young Park
9283168e61 enable Java build for PDK build
- Highest LOCAL_SDK_VERSION forced for package build / java library build
- uses prebuilt tools for PDK

Bug: 6352960
Change-Id: Ibb5162a16aa8151a1675baac14adb0cdfc13592d
2012-04-20 10:07:31 -07:00
Ying Wang
3f45b3c35c Support to run DroidDoc in unbundled builds.
Change-Id: Ia5ace10ed75c451e346e289f0c534ad619abdb65
2012-04-02 18:32:05 -07:00
Alex Sakhartchouk
0b7d3d69bc Moving libRS
Change-Id: I45058b3e1cc213db6e322090f86dd19a6747fc4c
2012-03-28 14:22:55 -07:00
Marius Renn
fe97fe9e9f Multi-Project Commit: Move of filterfw out of system/media (3 of 7)
This is part of the multi-project commit to move the filter-framework
from system/media/mca to frameworks/base/media/mca.

Note that the filter-framework will soon be replaced with a refactored
version currently under API review (also to go under frameworks/base).
This move is done now to unblock the PDK efforts.

Change-Id: I3d12882239e0bb66e11d3fb5ec952cc474be4f0a
2012-03-27 10:46:13 -07:00
Stephen Hines
5a4eb5f0f8 Update llvm-rs-cc build to use unified headers in all cases.
Change-Id: I66a2cc5f762b7d170f4bfc6c88f8c7df11be4f4b
2012-03-07 15:59:05 -08:00
Ying Wang
5758b8ed96 Remove the R/Manifest classes when building the static Java library
Bug: 5448433

Instead of deferring the removal to building the app.
In that case any R/Manifest classes in any static Java libraries will be
deleted, no matter if they are generated from Android resource, or just
source R.java/Manifest.java in the source tree by accident.

Change-Id: I656f45e3cbc3796c5d4832363231480b3f1dc5b8
2011-12-15 16:36:55 -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
Stephen Hines
914f7a2990 Enable -Wall/-Werror with LOCAL_RENDERSCRIPT_FLAGS.
Change-Id: Ia2a058e6711839d89072c2e96f0c60aa4cedda6b
2011-12-07 11:41:28 -08:00
Ying Wang
d62de0f884 Merge "Provide LOCAL_RENDERSCRIPT_TARGET_API override." 2011-09-08 14:26:28 -07:00
Stephen Hines
a941d137fa Provide LOCAL_RENDERSCRIPT_TARGET_API override.
BUG=5206223

This allows us to set the RS API level independent of the other SDK
versions that a developer might choose.

Change-Id: Id8b476abcbbbdaa86e04ba0ea16414cb2fa5bd15
2011-08-29 19:00:25 -07:00
Eino-Ville Talvala
76a7d82fac Add filterfw.jar to standard list of java libraries to include.
Since classes from this jar are part of the public API, it should be
included by default.

Also add the jar into the dex_preopt list.

Bug: 5098987
Change-Id: Ib39deffea43714eb56630ad1d65411cfde5878fd
2011-08-26 14:22:57 -07:00
Ying Wang
6e41a7483a Merge "Provide mechanism to override llvm-rs-cc headers." 2011-08-24 10:26:41 -07:00
Stephen Hines
d4136c0fc6 Provide mechanism to override llvm-rs-cc headers.
Change-Id: I87fd496069a9dfde633e2d232e436fa5d7315cc0
2011-08-23 22:01:49 -07:00
jeffhao
ca94f3583f Removing target-api option from build.
This is cherry-picked from dalvik-dev.

Change-Id: I85cd23c08fcad400e6426cdaad079e91dcd9babf
2011-08-23 14:18:24 -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
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
Ying Wang
7d83ef8ff7 Support custom RenderScript compiler
Change-Id: I85e38e84565e04f99dd26217f280274883dc322d
2011-05-27 13:47:17 -07:00
Ying Wang
9681379c6f Use manifest minSdkVersion as "--target-api" in LOCAL_DX_FLAGS
Or use LOCAL_SDK_VERSION, if minSdkVersion is not available.

Change-Id: Ia1d6946867e02df953a1685079b2724236d46798
2011-04-07 11:45:01 -07:00
Ying Wang
fcf00d53bf Support to build renderscript in unbundled apps.
Change-Id: I8104be723f507df4f9673616bada11fb613651b7
2011-03-29 11:47:12 -07: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
Ying Wang
85aa5ded4c Add external/clang/lib/Headers as llvm-rs-cc's system header search path
Change-Id: I30257631d484491d9a8346205e411013c76c5a91
Bug: 2943524
2011-01-19 11:50:09 -08:00
Ficus Kirkpatrick
16e2f98395 Fix a spelling error.
Change-Id: If89847fa16db4e2b30372678ab8f7117ad5fa0c6
2010-11-12 17:38:20 -08: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
Ying Wang
16697b7000 Hook up the dependency.
Now llvm-rs-link is directly called by the build system.

Change-Id: I281cc6fd9e21ee7d120ddea390f802b57c894fd6
2010-10-11 13:44:50 -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
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
Ying Wang
25a04dadf6 am b7019e21: am a9c381ed: Any intermediate targets between Progaurd and the built_dex should be differently named.
Merge commit 'b7019e2147173a962febeab0e0693cdec9f80789'

* commit 'b7019e2147173a962febeab0e0693cdec9f80789':
  Any intermediate targets between Progaurd and the built_dex should be differently named.
2010-10-02 20:10:59 -07:00
Ying Wang
a9c381ed45 Any intermediate targets between Progaurd and the built_dex should be differently named.
Change-Id: Ifb01b1fcf24ba0c5b98aa02dd604cd81918e1841

To do that, we have to move classes.jar step before proguard, so classes.jar is always with the full names.
2010-10-02 19:41:10 -07:00
Ying Wang
ed7211848a am 3c3bf677: am 0b9382c7: Separate out Proguard flag files to fix dependency.
Merge commit '3c3bf6773ac7e2324c1d06282c625b81f799e427'

* commit '3c3bf6773ac7e2324c1d06282c625b81f799e427':
  Separate out Proguard flag files to fix dependency.
2010-09-30 11:27:04 -07:00
Ying Wang
0b9382c792 Separate out Proguard flag files to fix dependency.
Bug: 3048005
Change-Id: I3e77ca1082cf7c92a43b249e5c887e3fbdf4ba11
2010-09-29 16:08:17 -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
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
Ying Wang
512802772a Now slang supports "-I" options.
Change-Id: I32aef6c913d9d30f9982a593397145f1562aecf9
2010-09-01 13:28:52 -07:00
Brian Carlstrom
7dc35a3b9c Tracking merge of dalvik-dev to gingerbread
git cherry-pick --no-commit f2f3e4b2
git cherry-pick --no-commit b6a08f0cd3
git cherry-pick --no-commit d05d74b2d6
git cherry-pick --no-commit 5479d77e32

Change-Id: I6f339aa73823e053146719b3af7af91d5375df1c
2010-08-04 23:17:47 -07:00
Ying Wang
c06243d195 Fix jar dependency on the local manifest file.
Change-Id: I1a868885e72c94c4b065723a8d6e890fce5ba1e0
http://b/issue?id=1444634
2010-07-20 16:36:44 -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
Steve Howard
ee195f3365 am 8b0ecc08: am de6a0857: Fix broken interaction of JarJar and Emma.
Merge commit '8b0ecc08166a4e83a8df5864e5264a88962101f1'

* commit '8b0ecc08166a4e83a8df5864e5264a88962101f1':
  Fix broken interaction of JarJar and Emma.
2010-07-08 19:09:53 -07:00
Steve Howard
de6a085764 Fix broken interaction of JarJar and Emma.
JarJar, like DX, can't handle the local var corruption that Emma
performs.  To fix this, I'm moving the JarJar step before the Emma
step.

Couple other minor changes:
* Improved the comment about emma hardcoding its output filename,
  since this took me about an hour to track down.
* Changed one line from "Copying $<" to "Copying $@".  It seems to be
  the convention that such lines print the destination, not the
  source, so I made it consistent.

Change-Id: I9f5c36b4f5af15daf15025b89860e942f15bb668
2010-07-07 18:46:45 -07:00
Steve Howard
750ac4f3a4 Manual merge of change 50994 from master (DO NOT MERGE)
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
2010-07-01 19:52:04 -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
Joe Onorato
a64dbd75be am 36ce8736: am 77dc0a58: Add a rule that builds an eclipse project file for an app. 2010-05-17 18:30:45 -07:00
Joe Onorato
77dc0a58e2 Add a rule that builds an eclipse project file for an app.
Type make ECLIPSE-<app1>-<app2>... with the apps as listed in LOCAL_PACKAGE_NAME.

Change-Id: Ieb96dfc9dfc13bdf1b3be53572092fc7bc695869
2010-05-17 18:20:42 -07:00
Jesse Wilson
f2f3e4b234 Moving junit out of core.jar and into core-junit.jar
This commit was submitted too early:
   https://android-git.corp.google.com/g/50610
...and then rolled back:
   https://android-git.corp.google.com/g/50622

Change-Id: I5f4e53bd0c892ab64711b99b2e95d2f101626dbc
2010-05-11 20:20:49 -07:00
Steve Howard
ef5c640fd4 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: If24113f399a168939a1a1d0738c5df57caf8d05f
2010-05-07 11:28:00 -07:00
Jesse Wilson
3600a1604a Undo commit: Moving junit out of core.jar and into core-junit.jar
Change-Id: I09875ef5f45b1d643ae389a6871cad374d80746b
2010-05-04 17:27:15 -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
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
389b7e11e4 Let Proguard load emma jar if it's enabled.
Change-Id: I57a0bcfb486339f48dc25f5fc5d44a1178dee678
See: http://b/issue?id=2502181
2010-03-09 17:24:32 -08:00
Ying Wang
85ab497a4e Turn on Proguard by default for user/userdebug builds. 2010-02-19 18:39:13 -08:00
Ying Wang
e3265fb743 Makefile change for build against historical sdk versions.
If LOCAL_SDK_VERSION is current, link against the stub, otherwise
link against prebuilt historical sdk
2010-02-11 14:23:23 -08:00
Ying Wang
3b2bdf1033 Fix and enable proguard on packages. 2010-02-11 13:41:10 -08: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
Ying Wang
6ef046c893 Fixes ProGuard options.
1. Dedup LOCAL_JAVA_LIBRARIES.
2. Even no resource or asset for a package, we still need to set
package_expected_intermediates_COMMON, which is anyway used by ProGuard.
2009-12-09 14:31:22 -08: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
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
Andrew Stadler
cef9ed98ac Fix makefile to be compatible with findbugs v 1.3.8
modified:   core/java.mk
2009-05-13 00:44:59 -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
Joe Onorato
bd46b21c31 Automated import from //branches/donutburger/...@140982,140982 2009-03-24 19:07:34 -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
66339ad5ce auto import from //branches/cupcake/...@126645 2009-01-15 16:12:07 -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