Commit graph

417 commits

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