Commit Graph

144 Commits

Author SHA1 Message Date
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
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
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