Commit Graph

550 Commits

Author SHA1 Message Date
Ying Wang 710e0265bc resolved conflicts for merge of f966bda4 to master
Change-Id: Ic2a16e62c6b9683bd235673e548901381dec9322
2014-03-31 18:17:22 -07:00
Ying Wang f966bda49f am 4714d3d7: am b34af41e: Merge "Fix java version detection when _JAVA_OPTIONS is set."
* commit '4714d3d7a604391d174049a7a595e80ebab2da18':
  Fix java version detection when _JAVA_OPTIONS is set.
2014-04-01 00:15:50 +00:00
Peter Ammon bb406bf4c0 Fix java version detection when _JAVA_OPTIONS is set.
_JAVA_OPTIONS is an environment variable that
can be used to affect the behavior of java and javac.
It is currently required to get Android to build on
some configurations, where the default Java heap size
is too small. Unfortunately, if _JAVA_OPTIONS is set,
both java and javac will output its value to the console
as the first line on every invocation, including trivial
ones like java -version. This will confuse main.mk’s
version detection, which only looks at the first line of
output. Tweak the version detection to run grep before
head, so that the _JAVA_OPTIONS line is filtered by the grep.

Change-Id: I69aee52b56d27711b7d3087ec6b3ebab07ffc3af
2014-03-31 15:36:02 -07:00
Narayan Kamath 9c2daa97e1 Merge "Add warning message for java6 builds." 2014-03-21 10:43:49 +00:00
Ying Wang 81717cc251 am 84fbc7e8: am 996f3826: am c5a56344: am 1c43aaea: Merge "Remove the redundant DISABLE_DEXPREOPT"
* commit '84fbc7e82a0a075c3cc8bb73baa9e6d87fd53aa4':
  Remove the redundant DISABLE_DEXPREOPT
2014-03-20 22:27:16 +00:00
Ying Wang 996f3826f7 am c5a56344: am 1c43aaea: Merge "Remove the redundant DISABLE_DEXPREOPT"
* commit 'c5a563447a68c30dd998b7cd6f8f8c30693edc37':
  Remove the redundant DISABLE_DEXPREOPT
2014-03-20 20:18:38 +00:00
Ying Wang c6848b398d Remove the redundant DISABLE_DEXPREOPT
To disable dexpreopt, use just:
WITH_DEXPREOPT=false

Change-Id: I5804f3774f8ec50eb16c5336776dbce0c28b16d9
2014-03-20 13:01:31 -07:00
Narayan Kamath 8c06afdea3 Add warning message for java6 builds.
Change-Id: If5a402e1412e5adb5340b101854e9fbb4c5d4ec8
2014-03-20 10:35:52 +00:00
Ying Wang 557282dbc4 am 332bbced: am a8d273d3: am bbe5f88e: Merge "Conditionally include the \'samplecode\' rules."
* commit '332bbced6d075eccdf54b00d4178afc59db6f096':
  Conditionally include the 'samplecode' rules.
2014-02-26 20:15:01 +00:00
Ying Wang a8d273d3ce am bbe5f88e: Merge "Conditionally include the \'samplecode\' rules."
* commit 'bbe5f88e1df32d1c998b424eb05ab99cc35c1e8b':
  Conditionally include the 'samplecode' rules.
2014-02-26 20:06:26 +00:00
Ying Wang 48fbc42f93 Conditionally include the 'samplecode' rules.
Not sure goal 'samplecode' is still used by anybody these days.

Change-Id: I808a021a6e4be6a97c4b5c256b94374c1b3dae47
2014-02-26 11:55:38 -08:00
Tsu Chiang Chuang 43d524854a add exception to be able to build emulator_tests in conjunction with the
sdk.

Change-Id: Ic4c63c756c78da97657e08faa5b4b6891b951b03
2014-02-25 10:38:22 -08:00
Ying Wang 6d5ca9f46b am 52cefc36: resolved conflicts for merge of 6ca56b6a to klp-modular-dev-plus-aosp
* commit '52cefc36cf4718cd85e6e35832b2a8674ba9e838':
  Make the module existence check nonfatal
2014-02-18 19:24:39 +00:00
Ying Wang 52cefc36cf resolved conflicts for merge of 6ca56b6a to klp-modular-dev-plus-aosp
Change-Id: I8f647bb5ff9a4de1fbdbfb1dae169e547aeba3ce
2014-02-18 11:17:53 -08:00
Ying Wang b1d75bd81d Make the module existence check nonfatal
Now we have sdk variants that may inherit the non-existent module names
from the device product.

Change-Id: Ibe96a33cde650fd79ae4731561dcb674203c3b91
2014-02-14 13:39:42 -08:00
Ying Wang 1fd8265d1a am 1e8fec5b: am e2f06adb: Merge "Don\'t check the existence for the 64-bit modules for 32-bit SDK build."
* commit '1e8fec5baea381604a2bf197bfb091eeb7aa36ef':
  Don't check the existence for the 64-bit modules for 32-bit SDK build.
2014-02-14 00:15:42 +00:00
Ying Wang 940d68af53 Don't check the existence for the 64-bit modules for 32-bit SDK build.
Change-Id: I0d5d6ecc07332bef6854466fd98380eb12fc08fc
2014-02-13 15:56:34 -08:00
Colin Cross 84a20ac12e am 2c32144b: resolved conflicts for merge of 7cd7bd65 to klp-modular-dev-plus-aosp
* commit '2c32144b328e0191fa32bf342dc7eb01d6174b6e':
  HACK: add 64-bit directory blacklist
  add support for module supported or unsupported target architectures
2014-02-12 23:00:21 +00:00
Ying Wang e6a65a5f15 resolved conflicts for merge of b6d53f0b to master
Change-Id: Id01809e2a72ca8ba13594621690273fc6f982095
2014-02-12 14:58:06 -08:00
Ying Wang 6336d6bf07 am 1968f286: am b12cce10: Merge "Refine module name resolving in multilib build"
* commit '1968f286d69c36692bd5788fa8745ed16ccc03cb':
  Refine module name resolving in multilib build
2014-02-12 22:47:33 +00:00
Colin Cross 02e31d240a HACK: add 64-bit directory blacklist
Change-Id: I431e8b220db81d51930dc0b3d95995df120c179a
2014-02-12 12:17:55 -08:00
Ying Wang bec954d05e Merge "Clean up dangling module names" 2014-02-12 01:31:22 +00:00
Ying Wang d18e570fba Clean up dangling module names
Those modules have disappeared from the source tree.

https://code.google.com/p/android/issues/detail?id=61210

Change-Id: Iab369d2f591f46eb86b9fccf2087515edf974662
2014-02-11 17:28:30 -08:00
Ying Wang 14a6cbd902 Refine module name resolving in multilib build
-- Added TARGET_PREFER_32_BIT, which sets LOCAL_32_BIT_ONLY for an
   executable, if LOCAL_NO_2ND_ARCH is not true.

Name resolving in 64-bit multilib build:
-- Name resolving in PRODUCT_PACKAGES:
   foo:32 resolves to foo_32;
   foo:64 resolves to foo;
   foo resolves to both foo and foo_32 (if foo_32 is defined).

-- Name resolving for LOCAL_REQUIRED_MODULES:
   If a module is built for 2nd arch, its required module resolves to
   32-bit variant, if it exits;
   Otherwise for executable and shared library, a required module
   resolves to the default 64-bit variant; for other module classes,
   required module foo resolves to both foo and foo_32 (if foo_32 is
   defined)

Bug: 12898862
Change-Id: I5fda1a77f58814097b10b5ad2743ee25adfaecc4
2014-02-10 22:39:14 -08:00
Ying Wang fc33037547 Dedup the targets and dependencies of required modules.
For whatever reason, two modules may have the same file as their
installed module. In that case circular dependency is created if the two
modules have requited-by relation.

Change-Id: I15ed271ca3f3c343e4662182ded5ccc63d6c42cc
2014-01-31 19:56:31 -08:00
Ying Wang 3136010cdd Dedup the targets and dependencies of required modules.
For whatever reason, two modules may have the same file as their
installed module. In that case circular dependency is created if the two
modules have requited-by relation.

Change-Id: I15ed271ca3f3c343e4662182ded5ccc63d6c42cc
2014-01-31 19:22:35 -08:00
Ying Wang 4d2cc665ea Set up rules to build shared libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of shared_library_internal.mk.
Intermediate fils of libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/
and the built libfoo.so will be in
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib.

Bug: 11654773
Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
2014-01-24 13:35:30 -08:00
Brian Carlstrom 0cf57dc99f Add missing paren in "java -version" check
Change-Id: Id66e795423e8d25b48ac996956748a93060ea5db
2014-01-20 23:48:45 -08:00
Ying Wang 791fa6a909 Set up rules to build shared libraries for TARGET_2ND_ARCH
The rules for the 2nd arch are set up in the second inclusion
of shared_library_internal.mk.
Intermediate fils of libfoo of the 2nd arch will be built into
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/SHARED_LIBRARIES/libfoo_intermediates/
and the built libfoo.so will be in
$(PRODUCT_OUT)/obj_$(TARGET_2ND_ARCH)/lib.

Bug: 11654773
Change-Id: I58bbe5a05a65f63bce6279131552f3792000716e
2014-01-16 15:43:47 -08:00
Narayan Kamath 1d755aaa7b resolved conflicts for merge of 6835cbf9 to master
Change-Id: I21593edf5f597bc79ff91b756bdaf6921b05cba7
2013-12-06 17:31:38 +00:00
Narayan Kamath e2d27887be A few more Java7 related clean ups.
- Separate SDK checking from version checking and
  make messages clearer.
- Add explicit source & target versions for javac to
  make things clearer.
- Rename flag from EXPERIMENTAL_USE_JAVA7_OPENJDK to
  EXPERIMENTAL_USE_JAVA7.
- Allow Oracle JDK 1.7 to be used on Mac OS, since there's
  no official OpenJDK support for that platform.

Change-Id: I454d2c917ed78f03ec7559a99659fefe7e7d50f3
2013-12-05 13:23:06 +00:00
Ying Wang 13ca2c7f5c am 71e5dd30: am 7a772619: Merge "core: support make 4.00"
* commit '71e5dd3055dc6a441ce20f0905f1b3893f79d27e':
  core: support make 4.00
2013-12-02 23:31:44 +00:00
Ying Wang 7a77261988 Merge "core: support make 4.00" 2013-12-02 19:16:02 +00:00
Ying Wang ad69099131 Add experimental flag to support OpenJDK builds.
bug: 8992787

(cherry picked from commit d1dbe7f5a2)

Change-Id: Ie977d4f26ae8d3eee9d7b9cf2c0c270bee5b54b3
2013-11-26 10:30:14 +00:00
The Android Open Source Project b9041a45b1 Merge commit 'c73341006286c391ae4d268a77f5e008045d5308' into HEAD
Change-Id: I4bf7d32d65e19dfa1f0533fdd3b2295c50b13005
2013-11-22 11:06:11 -08:00
Ying Wang 7b66d366bf Call "java[c] -version" only once
and print out the full output if error occurs.
Bug: 11672548

Change-Id: Iba217789f7ab69d73902a4dc82e8975b2f6a48fc
2013-11-13 15:05:15 -08:00
Elliott Hughes 2773ab94d7 am 36e681b0: resolved conflicts for merge of 12f87a5b to klp-dev-plus-aosp
* commit '36e681b02a7cd2554f038bcac65d7fdfc7889273':
  Remove the hacks needed to support ash and mksh concurrently.
2013-11-07 09:44:31 -08:00
Elliott Hughes 36e681b02a resolved conflicts for merge of 12f87a5b to klp-dev-plus-aosp
Change-Id: I8ce0a86bbaae0c1e3ce5ed46de628ea22ea17d16
2013-11-07 09:08:00 -08:00
Elliott Hughes 12f87a5b77 am a05365ce: Merge "Remove the hacks needed to support ash and mksh concurrently."
* commit 'a05365ceceaead86651f61f7ba66153e36b7be5d':
  Remove the hacks needed to support ash and mksh concurrently.
2013-11-07 08:35:17 -08:00
Elliott Hughes 32bfd70333 Remove the hacks needed to support ash and mksh concurrently.
We no longer have ash, and we'd rather not have unnecessary symbolic links
on the system.

Change-Id: Icfb1a51f1baaf1861c203f6ed93843b094deb65d
2013-11-05 11:13:49 -08:00
Ying Wang d1dbe7f5a2 Add experimental flag to support OpenJDK builds.
bug: 8992787

Change-Id: Ice0fc7dea1d855914fdab9a01b1ac9c722031288
2013-10-28 19:09:28 +00:00
synergydev 2b537262fe core: support make 4.00
Make 4.00 is now out, and builds work fine with it.

Change-Id: I49e36d651a7997a52270badb0e8badd975f64e8f
2013-10-17 12:49:07 -07:00
Mike Lockwood 253555b5e3 "make dist" should not try to package apps for embedded builds
Change-Id: Icbe522737f7b8a44c8a458b32678fe0472b94dff
2013-10-02 07:51:11 -07:00
Ying Wang 293ad10d25 Remove unnecessary dependencies between host and target modules.
With this change, modules introduced by LOCAL_REQUIRED_MODULES will be
split by host/target: target modules only depend on target modules and
host modules only depend on host modules.

Bug: 9303948
Change-Id: I4078a7983aa3c00e99534f3f170dfe4b66b12287
2013-09-18 09:01:03 -07:00
Ying Wang 20ef354e8c Load the ONE_SHOT_MAKEFILE even in dont_bother mode
This makes "mmm <path> snod" work again.
Note that snod has dependency on the rest of the command line goals,
which is all_modules for ONE_SHOT_MAKEFILE,
so build race condition is avoided.

Change-Id: Ib0c0e622530cde773180a095e5ec4dde1149b8e5
2013-09-09 12:13:25 -07:00
Ying Wang 39e08f2827 Delete dead code.
frameworks/policies/base/PolicyConfig.mk does no longer exist.

Change-Id: I34d4820bc7c1e19ac84095f5f2caf6aefdfe1bd3
2013-09-09 11:35:42 -07:00
Ying Wang 495f684024 In apps_only build dist a module only if it has a BUILT file.
This allows you to specify a PHONY target in TARGET_BUILD_APPS.

Change-Id: Idd813cd0dbdb14c705fbd3187596d4c64b99d045
2013-08-27 15:04:57 -07:00
Ying Wang 62c81f821f Collect NOTICE files for apps_only build.
In apps_only build (after running tapas or exporting TARGET_BUILD_APPS),
run "make notice_files" to collect and combine the NOTICE files of
modules that are needed by the apps.

Bug: 10445634
Change-Id: I6555bba1104e43b48c723c82143c46d444a75e80
2013-08-24 13:55:59 -07:00
Ying Wang b6cf5b2f41 am b88ca53a: am ddce2eb0: am de32713f: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit 'b88ca53a465ef004a60ceb9c4c641c3c997edeb5':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 12:19:48 -07:00
Ying Wang ae9115a525 Collect and store proguard obfuscation dictionary files.
Collect and store proguard obfuscation dictionary files.
Only do this for apps_only build for now.

Bug: 9407666
Change-Id: I51c78bf0f42f959dc920de230e60e0f71ed0d0ea
2013-08-23 12:13:24 -07:00
Ying Wang c3e977acf1 am 2363485c: am 06de9f94: am 8709497e: Merge "Revert "Collect and store proguard obfuscation dictionary files."" into jb-mr2-dev
* commit '2363485c2fb3f08d36e8cdbb2240b9c3993b470c':
  Revert "Collect and store proguard obfuscation dictionary files."
2013-08-23 10:17:47 -07:00
Ying Wang 58ad70618d am 93b95dc4: am aa87a11d: am afd7457a: Merge "Collect and store proguard obfuscation dictionary files." into jb-mr2-dev
* commit '93b95dc4b9f9b4e04e8a0fac25c958d5c52266e4':
  Collect and store proguard obfuscation dictionary files.
2013-08-23 10:12:26 -07:00
Ying Wang df8b48449a Revert "Collect and store proguard obfuscation dictionary files."
This reverts commit 41dbe1e535.

Change-Id: I023594779128083b75a069fd860cd29dd7951ef5
2013-08-23 17:11:18 +00:00
Ying Wang 41dbe1e535 Collect and store proguard obfuscation dictionary files.
Collect and store proguard obfuscation dictionary files.
Only do this for apps_only build for now.

Bug: 9407666
Change-Id: I0324eed6bb236abb0d3725f8d2a0b6c5c31935fe
2013-08-22 20:54:31 -07:00
Ying Wang a7deb0857c Add phony goal GET-INSTALL-PATH
It can be used as a goal of mm/mmm.
It prints out modules' install paths, which can be used by the runtest
utility.

Change-Id: If113e4c990b672acbacf723104583c0157d43c3b
2013-08-16 13:24:47 -07:00
Ying Wang ad7fd29b31 Don't bother going through the source tree
Don't bother going through the source tree in more circumstances:
all cleaning goals, helping goals, no-deps goals.

Bug: 10244578
Change-Id: Id53a249085c62838e4193962a85e0ac34f46954f
2013-08-09 10:08:30 -07:00
Ying Wang 16b92edc38 Remove unnecessary dependencies between host and target modules.
With this change, modules introduced by LOCAL_REQUIRED_MODULES will be
split by host/target: target modules only depend on target modules and
host modules only depend on host modules.

Bug: 9303948
Change-Id: I4078a7983aa3c00e99534f3f170dfe4b66b12287
2013-07-31 20:00:45 -07:00
Ying Wang 172f5f5746 More verbose on what the build system is doing
Sometimes users get confused for long time of no message printed to the
screen.

Change-Id: I99d3b2954f3dcba47d5ee5dd9fd760578c0e0192
2013-07-31 12:22:57 -07:00
Ying Wang 54d9cc3fac am cd9cadbc: am 7768c91c: am 94de1eba: Put a copy of the radio/bootloader files in the dist dir.
* commit 'cd9cadbcf68bfe07ac994e61aa00969572ae3fd5':
  Put a copy of the radio/bootloader files in the dist dir.
2013-07-26 13:00:20 -07:00
Ying Wang 94de1eba0e Put a copy of the radio/bootloader files in the dist dir.
Bug: 10035750
Change-Id: I3b51e61ec737899d9264885a1e66c89a7a740d54
2013-07-26 12:19:20 -07:00
JP Abgrall 1390cac3ce core: don't hardcode "out" during findleaves.py invocations.
"out" can be $OUT_DIR

Bug: 7183057
Change-Id: I7b52d40de4398f481e47f6d6d719fb550d874f73
2013-07-11 19:08:06 -07:00
Ying Wang fcec57a116 Allow to run checkbuild in sdk build.
Bug: 9594464
Change-Id: Ia02e7d8fc157cdfe2e065ce9e42a3800457f89f6
2013-06-26 18:00:17 -07:00
Ying Wang 951e0f1e8d am fe365531: am 1e1241ce: Dist static Java library modules.
* commit 'fe365531b0ee363640fb50d5a230c0b999fbbe4d':
  Dist static Java library modules.
2013-06-12 15:41:57 -07:00
Ying Wang 1e1241ce3d Dist static Java library modules.
With this change, we can build and dist static jar files, as well as
apks.

Bug: 9386024
Change-Id: Iab4660d8dfd7a2d164714a2124445de298075901
2013-06-12 15:29:38 -07:00
Ying Wang d72db32f84 Remove unnecessary dependencies between host and target modules.
With this change, modules introduced by LOCAL_REQUIRED_MODULES will be
split by host/target: target modules only depend on target modules and
host modules only depend on host modules.

Bug: 9303948
Change-Id: I4078a7983aa3c00e99534f3f170dfe4b66b12287
2013-06-06 18:05:53 -07:00
Ying Wang 237770761f am 8150cfcb: am 9592af96: Merge "Do vendor check on modules installed by LOCAL_SHARED_LIBRARIES" into jb-mr2-dev
* commit '8150cfcb209dfb6ad86413cf3d4373d074f54062':
  Do vendor check on modules installed by LOCAL_SHARED_LIBRARIES
2013-04-16 09:02:55 -07:00
Ying Wang d6b1d61d84 Do vendor check on modules installed by LOCAL_SHARED_LIBRARIES
Since commit 6c86a1 we have split LOCAL_SHARED_LIBRARIES out of
LOCAL_REQUIRED_MODULES and the vendor check does no longer cover the
installed modules introduced by LOCAL_SHARED_LIBRARIES.
This change brings back the coverage.

Change-Id: Ie78692e48f173a3350792eb2fee8127ff9433caa
2013-04-15 17:41:55 -07:00
Ying Wang b036e955fc Allow to set BUILD_EMULATOR outside the core build system.
For example, you can set it as enviromental variable, command line
makefile variable, or board config variable.

Change-Id: I5a4dbb70270cb4952109b5d96fbbf61eb2603502
2013-04-12 14:14:36 -07:00
Ying Wang a0febe5e6d Support to build vendor.img
Bug: 8341435
Change-Id: I2db7970936984d38aed35054e3f695d298f4e512
2013-03-25 09:53:16 -07:00
Raphael Moll cdfb5bac3a resolved conflicts for merge of a3aea5b6 to jb-mr2-dev
Change-Id: I4ff0adb3f9d9b5ae293c4903569e871ac5f2e9ae
2013-03-14 12:42:04 -07:00
Raphael Moll 8a2b7707dd Build SDK using prebuilts/devtools.
Cleans up some unused/renamed files:
- sdk_only_whitelist is better named windows_sdk_whitelist.
- a few product.mk dependencies should not be listed here
  any more but in the sdk/product.mk instead (which they were.)

Change-Id: Ifad3049321c8ec4edd8b94b83e570eebba442e7d
2013-03-13 15:30:35 -07:00
Ying Wang 512b9628b0 Remove nonexisting module names.
Change-Id: I825de45f1b982e4aa391b11bf18ba90432272fa7
2013-03-07 18:29:56 -08:00
Ying Wang 2e65cd5510 Don't install all host modules by default.
Instead we should explicitly set up the dependency, if the module will
be used in the build process; Use LOCAL_MODULE_TAGS with eng, debug or
tests if the module is for testing; or add to PRODUCT_PACKAGES if it's
required by a product.

Change-Id: Ic26319c26c1166bc1062dfbcfb4e006af185249a
2013-03-06 11:47:36 -08:00
Ying Wang 534fcd766e Allow to call dist-for-goals multiple times for the same file
You can dist the same file for multiple goals in multiple calls to
dist-for-goals. The first call will establish the real copy rule, while
the rest call just establishes the goals' dependency on the dest file.
This enable uss to remove the bizarre $(if ..) enclosing the droid and
sdk dist while avoiding make's multiple rules warning.

Change-Id: I76475db76a9e6167e0e606dd582b54e80dfcdd22
2013-03-01 16:51:26 -08:00
Jean-Baptiste Queru 4dbbd8a37e am 757e212c: am 0426da29: Merge "Fixed error message for using OpenJDK."
* commit '757e212ca2eb5584efb1631c3b26241ffb06e3c6':
  Fixed error message for using OpenJDK.
2013-02-25 21:21:03 +00:00
Tim Roes 304f5194fd Fixed error message for using OpenJDK.
Output a meaningful error message, when OpenJDK is detected
instead of giving the "wrong java version" output.
That output confused several users (from experiences in IRC)
since it gives you an output like "You are using java
version 1.6.0, right version would be Java SE 1.6".

Change-Id: I31ceeb03f1f98524b2b7de9b8be45231985fdb9e
Signed-off-by: Tim Roes <tim.roes88@googlemail.com>
2013-02-23 20:25:00 +01:00
Ying Wang 50e52fa11e Don't run cleanspecs if you are using mm/mmm.
There is lurky bug in the previous logic I believe:
in rare cases, people saw almost all cleansteps rerun.
Anyway, it's very rare that you need to run cleansteps when you run mm/mmm.

Change-Id: I42e84b3bf01590712ba1b167fe9a500f4ae1ddde
2013-02-22 18:15:29 -08:00
Ying Wang 9485a57bb2 Untwist the target/host shared library dependencies.
Before this, if there are duplicate module names in both the host and
target spaces, LOCAL_SHARED_LIBRARIES results in mixed dependencies.

Bug: 7026946
Change-Id: I5407e3d078a8903c94978cc6d3e256851c52340f
2013-02-22 14:32:30 -08:00
Ying Wang 3126831621 Support for ANDROID_BUILD_EVERYTHING_BY_DEFAULT
Set ANDROID_BUILD_EVERYTHING_BY_DEFAULT to true to build everything by
default. You can set it in your .bashrc or buildspec.mk.

Change-Id: I0bc2461d0e17c63a6f1c439cdfaaa94e36483a02
2013-02-21 18:42:28 -08:00
Ying Wang b607f7bd4c mma and mmma
augmented mm/mmm:
Their usages are the same as mm/mmm.
They build not only all modules in given path(s), but also their
dependencies.
With them, to run mm/mmm you don't need to run a full build first now:
Just run mma/mmma first.
Note that mma/mmma need to load all the makefiles in the source tree
so they are much slower than mm/mmm.
You should run mma/mmma the first time, and then mm/mmm for
incremental build.

Bug: 8163814
Change-Id: I554a97c0a23343b65c50870406225eb0064e0651
2013-02-08 18:13:15 -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
Ying Wang ef4d82f283 Umbrella build targets to help engineers verify build
With this change, by choosing the right build target, you can reduce
significant verification build time:
If you are working on the framework, "make target-java" sounds enough;
if you are working on native target code, "make target-native" saves
your time by not building the Java code.
This will help reduce uncaught breakges for by default not everything
is built now.

Change-Id: I5a7c82d3f6372db03bea76155c8d6cc63d988eae
2013-01-29 17:08:40 -08:00
Ying Wang 63d94fa305 Build from source or prebuilt
With this change, you can easily switch between building from source
code and prebuilt.
Set LOCAL_PREBUILT_MODULE_FILE to the path of the prebuilt file,
relative to the top of the source tree, in the usual module definition.
The prebuilt will be used unless any of the followings satisfied:
1) ANDROID_BUILD_FROM_SOURCE is "true", which disable prebuilt globally;
2) The module name is in ANDROID_NO_PREBUILT_MODULES;
3) The LOCAL_PATH is prefixed by any of ANDROID_NO_PREBUILT_PATHS.
A developer can set ANDROID_NO_PREBUILT_MODULES or
ANDROID_NO_PREBUILT_PATHS to build only his own module(s) from source,
while build other modules from prebuilts.
You can set ANDROID_BUILD_FROM_SOURCE to true to build everything from
source.
Those variables can be set with shell environmental variable or in your
buildspec.mk.

Sometimes module B is able to be built from source only if module A is
also
built from source, for example, if B is the test apk of A.
In that case, you can use the macro include-if-build-from-source to
include B's Android.mk only if A is built from source too, or
if-build-from-source to conditionally include the definition of module
B,
if their module definitions are in the same Android.mk.

Support host-executable-hook and host-shared-library-hook.

Change-Id: Icab7cf028c87eaba0dd7efc2a7749fd6f32b44e4
2012-12-14 14:48:00 -08:00
Andrew Hsieh 60a34ed501 am fc76f0eb: am 2ea957a3: Merge "Revise checks for MacOSX to build emulator"
* commit 'fc76f0eb17c606eb6df639d7a6c2f4ef2f3e09f1':
  Revise checks for MacOSX to build emulator
2012-11-09 11:12:42 -08:00
Andrew Hsieh fc76f0eb17 am 2ea957a3: Merge "Revise checks for MacOSX to build emulator"
* commit '2ea957a373018ba6773c621065164256f0d84078':
  Revise checks for MacOSX to build emulator
2012-11-09 10:28:36 -08:00
Andrew Hsieh 1dcca61869 Revise checks for MacOSX to build emulator
1. Check $(HOST_CC) instead of gcc for llvm-gcc.
2. Remvoe Mac SDK 10.4 check because emulator uses
   the same SDK version as the rest of framework

Change-Id: I4071fd45dc09a18c5341ad79e6a85e61df060fb4
2012-11-09 02:06:33 -08:00
Ying Wang 92cd50c416 Remove nonexistent modules from PRODUCT_PACKAGES
and revert back to fatal error if sdk has nonexistent modules.

Change-Id: Ic7185128b0253b3591592b4167ea1e26cee1aa84
2012-10-31 11:55:53 -07:00
Ying Wang 84da5c55dd Filter out the overridden packages before doing required module expansion.
Bug: 6900954
Change-Id: Ib0f57dc4bfc341ec7166429a5bb71bfc5e28d271
2012-10-26 14:17:06 -07:00
Mike Lockwood 0cbacc4b21 am 86e2fd92: am daf5e22d: Add new embedded target for a super minimal android build
* commit '86e2fd9215faaffed47ab0373b2955d9a1892113':
  Add new embedded target for a super minimal android build
2012-10-26 08:47:40 -07:00
Mike Lockwood 86e2fd9215 am daf5e22d: Add new embedded target for a super minimal android build
* commit 'daf5e22dbac03e174e22c8209ed97c44c3a2a2c9':
  Add new embedded target for a super minimal android build
2012-10-26 08:45:36 -07:00
Mike Lockwood daf5e22dba Add new embedded target for a super minimal android build
Remove obsolete BUILD_TINY_ANDROID

Change-Id: Ic0f3a5b3250ea80529f5099653068f118a13b12e
2012-10-25 15:28:37 -07:00
Kenny Root a7fa6a4607 resolved conflicts for merge of 37868329 to master
Change-Id: I437f42a7197d1716b4783749f2b27e19c8721395
2012-10-16 17:41:33 -07:00
Kenny Root 37868329b2 am 2e0d1af7: Merge changes I58d43128,Ie34c958f
* commit '2e0d1af767f64996f47de2a84b685ddcfa02e686':
  Remove HAVE_SELINUX guards, part 2
  Remove HAVE_SELINUX guard
2012-10-16 17:34:42 -07:00
Kenny Root 92ca0197ed Remove HAVE_SELINUX guards, part 2
Change-Id: I58d43128447ef3be0f70ff2479af2e61fe4c5849
2012-10-16 13:43:08 -07:00
Elliott Hughes 2d17b1aba6 resolved conflicts for merge of 01b2aaaa to jb-mr1-dev-plus-aosp
Change-Id: I66481eb8b269775716f79e42e9d89c2ebbd45288
2012-10-03 12:13:38 -07:00
Ying Wang e37c3dc3f6 Build only modules required by the current product.
Don't build modules_to_check by default.
Instead add "checkbuild" to the command line as a build goal, if you
want to build everything.
We can use the "checkbuild" goal to make sure some build targets on the
build server still build everything.

(cherry-pick of 5a88269ad6ed44fb163f96847954faac21292567.)

Bug: 7253452
Change-Id: I21eb93f3cb430c9531fe41a2f5d7b445c09938b9
2012-10-03 10:27:31 -07:00
Ying Wang d0244b395a Remove build variant "tests"
Bug: 5368571
Now we have a phony target "tests" instead.
The target can be built in any other build variant (eg userdebug).
For example, "make PRODUCT-full-userdebug tests dist" will build and
put the *-test-* zip file in the dist dir.
The "tests" target will include all modules tagged as "tests" in
addition to other modules in specific target out directories.

Change-Id: I8383097380d8e6846c3e2107d6dd5f68788cfc39
2012-10-01 10:18:40 -07:00
Ying Wang 5a88269ad6 Build only modules required by the current product.
Don't build modules_to_check by default.
Instead add "checkbuild" to the command line as a build goal, if you
want to build everything.
We can use the "checkbuild" goal to make sure some build targets on the
build server still build everything.

Bug: 7253452
Change-Id: I84b62116131e85d1f32d58a424cdfd9d51fa9755
2012-09-28 15:04:27 -07:00
Ying Wang b301817223 Don't install all host modules by default.
Instead we should explicitly set up the dependency, if the module will
be used in the build process; Use LOCAL_MODULE_TAGS with eng, debug or
tests if the module is for testing; or add to PRODUCT_PACKAGES if it's
required by a product.

Change-Id: I326e97df6630dee4acc6582ce6cef2dec8289155
2012-09-24 18:17:26 -07:00
Benoit Goby 4b0c7230e6 am a52d50a2: am 063d0c5d: Merge "Add openssl to TINY_ANDROID build" into jb-mr1-dev
* commit 'a52d50a235d07229ade4595e0551c1b0409c23be':
  Add openssl to TINY_ANDROID build
2012-09-12 17:03:31 -07:00
Benoit Goby bc2406e64c Add openssl to TINY_ANDROID build
adb depends on it

Change-Id: I79f23315142b45bc7f9a2685fa2b9865b22396ad
2012-09-11 17:25:05 -07:00
Ying Wang dceb47f2e2 am 4084c112: am 2d39468b: Merge "Filter out the overridden packages before doing required module expansion." into jb-mr1-dev
* commit '4084c112e5d073bd0d6875c45939ed7fba62ed14':
  Filter out the overridden packages before doing required module expansion.
2012-08-24 09:55:05 -07:00
Ying Wang 489458fa31 Filter out the overridden packages before doing required module expansion.
Bug: 6900954
Change-Id: Ib0f57dc4bfc341ec7166429a5bb71bfc5e28d271
2012-08-23 15:08:34 -07:00
Ying Wang 3ea0a81c2b am d19511a6: am c3a4cfe9: Merge "Support EMMA_INSTRUMENT in both full and unbundled builds." into jb-mr1-dev
* commit 'd19511a6657efc7f1a7e544df04f076223f8fe65':
  Support EMMA_INSTRUMENT in both full and unbundled builds.
2012-08-22 15:27:37 -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
Joe Onorato 769239f299 resolved conflicts for merge of 34539244 to master
Change-Id: I55b5c4aea999ff3fb5ceaabfe5d658a296f3d971
2012-08-17 02:51:45 -07:00
Joe Onorato c5fbef5413 resolved conflicts for merge of fab83a3d to jb-mr1-dev
Change-Id: I97aff2be317fd10b68d933e65259ec48bd5ff6a1
2012-08-17 01:26:41 -07:00
Joe Onorato 0ee86a7429 Another error to warning
Change-Id: Ifbad63e3eb37d087d88a39e102b4239f305d0ee3
2012-08-17 01:12:27 -07:00
Joe Onorato cea08a5220 resolved conflicts for merge of 5836d3b3 to jb-mr1-dev
Change-Id: If3d84a7439717ccf7723b3f79e934d73abbb3fea
2012-08-17 00:09:27 -07:00
Joe Onorato 8d0847e924 build system changes for jb-aah-dev merge
Change-Id: I29e27505a0d9f7cc2932f725bfe1c83d804388bc
2012-08-16 22:45:56 -07:00
Joe Onorato e213944da4 Fail when a non-vendor product references a vendor module.
Change-Id: Ia5ca233e9b11f64b72074f65899d3041cf955c4c
2012-08-16 22:45:56 -07:00
Joe Onorato 6a185e453d Remove support for user tags in the build system.
It is not forbidden to say LOCAL_MODULE_TAGS := user,
and if you don't say LOCAL_MODULE_TAGS, it now defaults
to optional.

Change-Id: I0a0b200bb6f1c7bf1fe3a89cdc8f69678617526c
2012-08-16 22:45:56 -07:00
Joe Onorato f93f5be23e Dump the user tagged modules.
Change-Id: I623821df3e48b358a6b898ccb13750f7dc54ddcf
2012-08-16 22:45:56 -07:00
Joe Onorato 918ee311f5 Don't give the user tag to host modules automatically.
Change-Id: I12d0a84786e5bf2224efd8684526b6097e6105d7
2012-08-16 22:45:55 -07:00
Joe Onorato 10649c632d Add a phony "nothing" goal that reads the makefiles but doesn't try to build anything.
Change-Id: Idac551e5c796321e993b94761f5cbf5b55c1a994
2012-08-16 22:45:55 -07:00
Joe Onorato 26ead966d7 build system changes for jb-aah-dev merge
Change-Id: I29e27505a0d9f7cc2932f725bfe1c83d804388bc
2012-08-16 22:36:41 -07:00
Joe Onorato 75493610b3 Fail when a non-vendor product references a vendor module.
Change-Id: Ia5ca233e9b11f64b72074f65899d3041cf955c4c
2012-08-16 22:36:41 -07:00
Joe Onorato 529302d912 Remove support for user tags in the build system.
It is not forbidden to say LOCAL_MODULE_TAGS := user,
and if you don't say LOCAL_MODULE_TAGS, it now defaults
to optional.

Change-Id: I0a0b200bb6f1c7bf1fe3a89cdc8f69678617526c
2012-08-16 22:36:41 -07:00
Joe Onorato d23c3235fa Dump the user tagged modules.
Change-Id: I623821df3e48b358a6b898ccb13750f7dc54ddcf
2012-08-16 22:36:40 -07:00
Joe Onorato f85cb7c936 Don't give the user tag to host modules automatically.
Change-Id: I12d0a84786e5bf2224efd8684526b6097e6105d7
2012-08-16 22:36:40 -07:00
Joe Onorato d6b1d628be Add a phony "nothing" goal that reads the makefiles but doesn't try to build anything.
Change-Id: Idac551e5c796321e993b94761f5cbf5b55c1a994
2012-08-16 22:36:40 -07:00
Ying Wang bc415dd5eb Support to build emmap_mata.zip in unbundled builds.
Bug: 6987838
Change-Id: Id6c81b08c4859442b7d52054ed5f278575719d1a
2012-08-16 10:10:11 -07:00
Ying Wang da19eafc42 Support to build emmap_mata.zip in unbundled builds.
Bug: 6987838
Change-Id: Id6c81b08c4859442b7d52054ed5f278575719d1a
2012-08-15 12:22:44 -07:00
Ying Wang 7023f6179d Fix build.
Set BUILD_EMULATOR to true when HOST_OS is linux.
Disable the emulator package target if BUILD_EMULATOR is not true.

Change-Id: I8987c0a091622baa0e861b451e635c4ddb148b29
2012-07-27 09:57:36 -07:00
Ying Wang 7d8c535c1f Fix build.
Set BUILD_EMULATOR to true when HOST_OS is linux.
Disable the emulator package target if BUILD_EMULATOR is not true.

Change-Id: I8987c0a091622baa0e861b451e635c4ddb148b29
2012-07-26 15:12:21 -07:00
Joe Onorato 2dd9902cf9 am 4ae631f4: am c11b5efa: Merge "Should have been included in 74e883d1415f68dc52a7e679cd1ea1f486b8d8bb"
* commit '4ae631f4560d383c28767641bb7e9e47ab175c7f':
  Should have been included in 74e883d141
2012-07-25 22:24:02 -07:00
Joe Onorato 42f0127a06 am e3adc7fd: am c22da7d7: Merge "Don\'t try to build the emulator on Mac OS if the right tools aren\'t installed."
* commit 'e3adc7fdcc04b7382d6818c5157c0a06eaf8c48f':
  Don't try to build the emulator on Mac OS if the right tools aren't installed.
2012-07-25 22:24:00 -07:00
Joe Onorato e35a445f2f Should have been included in 74e883d141
Change-Id: Ia0d06a89d0efd36c877e51b0adb45ae7bb3e5480
2012-07-25 17:55:03 -07:00
Joe Onorato 74e883d141 Don't try to build the emulator on Mac OS if the right tools aren't installed.
Change-Id: I3cd2f82f9ee64174bddbb12a18ca8fcf23bdcebd
2012-07-25 15:01:22 -07:00
Ying Wang 594165c17b am 9ffe27e0: am 9e38d6bf: Merge "This property is set when HAVE_SELINUX:=true during build."
* commit '9ffe27e013c84e036d5e38b02edf3ca12f7405a8':
  This property is set when HAVE_SELINUX:=true during build.
2012-07-03 12:20:50 -07:00
Ying Wang 9ffe27e013 am 9e38d6bf: Merge "This property is set when HAVE_SELINUX:=true during build."
* commit '9e38d6bf1bf78a00d8f4288e6444be358a70a692':
  This property is set when HAVE_SELINUX:=true during build.
2012-07-03 12:16:03 -07:00
William Roberts 9d8a51f537 This property is set when HAVE_SELINUX:=true during build.
This will provide a convenient method for determing build
configuration when in the Java layer. For instance, this will
be used in change id I69529fb7a3adfe31eccb16d79740fc4952ff5e68
to determine if the Settings app should display the SE Linux
status.

Change-Id: Idc8dff020aaac41649eac64f5fa8e311dabbc51f
2012-07-03 11:05:03 -07:00
Ying Wang dfb5818027 am d512fda4: am e42ed0ba: Merge "Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk"
* commit 'd512fda4ae7cc56cc9b83fcb6e7a9e0d0f02c259':
  Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk
2012-06-29 20:22:20 -07:00
Ying Wang d512fda4ae am e42ed0ba: Merge "Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk"
* commit 'e42ed0ba1571f20866609710ba7c73fd138c0405':
  Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk
2012-06-29 20:19:50 -07:00
Ying Wang 478ba5e3f0 Move the llvm-gcc warning from HOST_darwin-x86.mk to main.mk
Bug: 6754632
So the warning won't show up when you run lunch.
Now the warning only shows when you do a clean build.

Change-Id: I7876da783f059d390f0072df37d3ab0291589eb7
2012-06-28 16:02:19 -07:00
Ying Wang 0d570a7163 lint support.
Bug: 6167394
$make lint-<app-name>       # to lint on a single module
$make lintall               # to lint on all packages in the source
                              tree.

Change-Id: I4decc76fb75793ce44809232b0ec72b766fbb434
2012-06-18 18:45:40 -07:00
Keun young Park 1a2c28368c am fe8cddea: am efe02ce9: add TARGET_BUILD_JAVA_SUPPORT_LEVEL to allow checking if java build is OK in PDK
* commit 'fe8cddea28bc5a5266ede2bd10b482dbe840c0bf':
  add TARGET_BUILD_JAVA_SUPPORT_LEVEL to allow checking if java build is OK in PDK
2012-06-07 16:34:25 -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
Ying Wang d5ba4064c3 am f521a8e8: am 6afbda9f: Merge "Clean common intermediate files if overlay changed" into jb-dev
* commit 'f521a8e888a425dcd5fff70d18d14c9324e2d3aa':
  Clean common intermediate files if overlay changed
2012-06-06 09:47:25 -07:00
Joe Onorato 049f4055a8 am d7d0afca: Add the ability in a product spec file to have modules installed for specific variants.
* commit 'd7d0afcaea24b0fb0cb37dca921a5ff52fd2485b':
  Add the ability in a product spec file to have modules installed for specific variants.
2012-06-05 16:06:45 -07:00
Joe Onorato d7d0afcaea Add the ability in a product spec file to have modules installed for specific variants.
Change-Id: Ifa5eb2e15b3d3e5007378ec00efc4aec3e9a3b99
2012-06-05 15:57:07 -07:00
Ying Wang 71004f8135 Clean common intermediate files if overlay changed
This change cleans the packages' intermediate files if their overlays
changed between incremental builds.
If two builds have different overlay, they will have different R
classes, and so the jar files in the common intermediate dirs can
not be shared. Therefore incremental build can't be applied.

This change detects the overlay changes on package's base.
If a package's overlay is different from the previous build, its common
intermediate dir is nuked.
This makes broader incremental builds possible.

Change-Id: I368610ebbbbc85a80f9aecd714ab22cd78da7f12
2012-06-04 18:02:55 -07:00
Ying Wang 13054c3653 am ce21b820: am 9ccacd7a: Set PWD to the absolute path of the top tree.
* commit 'ce21b8204d5713fd0d511cc3635719dd4ca0bf75':
  Set PWD to the absolute path of the top tree.
2012-05-23 09:30:50 -07:00
Ying Wang 9ccacd7a6f Set PWD to the absolute path of the top tree.
Previously PWD is passed in as a shell environmental variable,
which does not point to top of the source tree if you run mm/mmm.
That in turn breaks mm/mmm if OUT_DIR_COMMON_BASE is set to an absolute
path.

Change-Id: Iac99d5668aee1bbd3cb9897750afc2149bd9f973
2012-05-22 18:29:02 -07:00
Joe Onorato b30517897f Merge commit '54973dbc' into work
Conflicts:
	core/product.mk

Change-Id: Ib5eb6be09b34bdc04602e2a35a4bf7df0ba82aad
2012-05-17 22:15:22 -07:00
Joe Onorato e1d191ee95 Add rules to build the factory bundle.
Change-Id: I66bda914a5bd41bda7c8a4314f658924087e2bfb
2012-05-17 20:57:35 -07:00
Ying Wang 000e89a5b9 Strengthen dependencies on LOCAL_REQUIRED_MODULES
Bug: 6418863
This change expands the PRODUCT_PACKAGES with the required modules.
Before this change, since the required modules are not in the
PRODUCT_PACKAGES, they are not directly depended on by the image files.
If the dependent is not to be included in the image but the required
modules are to be included, the dependency of the image on the required
modules gets lost!
That would lead to build race condition.

Change-Id: I0b656db1538ca43d3785dbf17364ffa88b80ac41
2012-04-30 16:32:25 -07:00
Ying Wang 3024d2394f Strengthen dependencies on LOCAL_REQUIRED_MODULES
Bug: 6418863
This change expands the PRODUCT_PACKAGES with the required modules.
Before this change, since the required modules are not in the
PRODUCT_PACKAGES, they are not directly depended on by the image files.
If the dependent is not to be included in the image but the required
modules are to be included, the dependency of the image on the required
modules gets lost!
That would lead to build race condition.

Change-Id: Idbd504fd415b488c397e67ab487a22bff4fa188e
2012-04-30 15:48:27 -07:00