Commit graph

125 commits

Author SHA1 Message Date
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
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
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
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
37b82aacd9 Skip compiling Java if an apk has no Java code.
Change-Id: Iee204e03ad5bc8ce5c3b4b3863c19c89184826e2
2013-08-28 17:28:36 -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
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
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