Commit graph

714 commits

Author SHA1 Message Date
Dan Willemsen
fe09018b39 Merge "Handle symlinked OUT_DIRs (again)" 2016-03-24 20:38:08 +00:00
Ying Wang
f3920d0aac Merge "Add phony target javac-check."
am: 49b524c

* commit '49b524cb4a6d74b3fee49a728714d74202ce76f0':
  Add phony target javac-check.
2016-03-24 18:39:12 +00:00
Ying Wang
cddeb6c4f0 Add phony target javac-check.
javac-check covers all classes.jars that are compiled with javac
instead of jack. This target is required by tools that still need java
class files as input.

Bug: 26705771
Change-Id: I6896b9a6026a2a0dae6145d1ef5a839756aa3458
2016-03-24 11:12:16 -07:00
Dan Willemsen
1e061d789a Merge "Remove ALL_PREBUILT, all users have been removed"
am: cfb5545

* commit 'cfb554566447b31cd045a5b67b960018418fe874':
  Remove ALL_PREBUILT, all users have been removed
2016-03-23 23:19:27 +00:00
Dan Willemsen
3006962257 Remove ALL_PREBUILT, all users have been removed
Change-Id: I37154506ef419e7a68ce7e2d864624d2ae53206f
2016-03-23 14:15:16 -07:00
Dan Willemsen
cc60f01357 Handle symlinked OUT_DIRs (again)
My previous attempt at properly handling symlinked OUT_DIRs only worked
if the symlink was to a different directory, not one in the same
directory.

This time, make sure that both make and soong use the same
representation of the output directory by passing BUILDDIR to
bootstrap.bash. Soong has been updated to pick whether to use a relative
or absolute path back to the source tree depending on what makes sense.
If the BUILDDIR or the path back to the source tree change, re-run the
bootstrap.

Also, move the $OUT_DIR/Android.mk and $OUT_DIR/CleanSpec.mk generation
to before Kati runs. In the case that $TOP/out was symlinked to
$TOP/out.angler:

 1) Soong generates out.angler/soong/Android.mk
 2) Kati's find generator produces in-memory tree of the filesystem
 3) $(shell ) creates out.angler/Android.mk
 4) The emulated findleaves Android.mk search finds
    out.angler/soong/Android.mk since the in-memory tree is never updated.

This doesn't happen in the normal case, because we pass --prune=$OUT_DIR
to findleaves.

Change-Id: Ib0fdae2e80f75ddcf33a3c8c5ea0978f5308b437
2016-03-22 20:02:18 -07:00
Ying Wang
c9a19779a2 resolve merge conflicts of fc16dca602 to nyc-dev-plus-aosp
Now we can remove all uses of $(ACP) in prebuilt_internal.mk.

Change-Id: I07a449f3acca9b56c6a387ff8ca1535d19c872d1
2016-03-15 14:46:12 -07:00
Ying Wang
3a61eeb6cb Rebuild odex files in PDK fusion build.
To rebuild odex files of Java libraries and apps,
we store the jars/apks without stripping the classes.dex inside the
platform.zip. We also save the build variables that may affect how we
rebuild an odex in pdk_dexpreopt_config.mk in the platform.zip.
We store the files and configuration only for libraries/apps that get
installed to the system.img (or vendor.img).

In PDK fusion build, we auto-generate prebuilt module definitions for
the javalib.jar and package.dex.apk carried in the platform.zip, using
configuration stored in pdk_dexpreopt_config.mk.
With the prebult modules, we override the implicit rule that directly
copies the odex from the platform.zip.
To rebuild odex of javalib.jar, we added support for prebuilt shared Java
library to prebiult_internal.mk. An installable prebuilt Java library is
treated as shared Java library, i.e. with classes.dex in the jar instead
of a set of .class files.
For apks in the platform.zip, we install the stripped version from
platform files inside platform.zip, instead of the package.dex.apk,
using a new variable LOCAL_REPLACE_PREBUILT_APK_INSTALLED. We can't
strip package.dex.apk because we can't re-sign the stripped apk at this
point.

We generate prebuilt module only if it's not already defined in the
source tree.

Bug: 27543283
Change-Id: I9e146f8b713d6f57c397fd28d88c9ab700757ca1
2016-03-14 21:01:46 -07:00
Dimitry Ivanov
ed5a610654 Merge "Add options for dynamic linker developer warnings" into nyc-dev
am: 837d60f49a

* commit '837d60f49a5c764bd427c7d8b75d291c83344984':
  Add options for dynamic linker developer warnings
2016-03-01 22:04:26 +00:00
Dan Willemsen
9ffa38b193 Merge "Remove USE_NINJA=false" am: 3bfc095f53
am: d73633c082

* commit 'd73633c0824a63f7104bddf9a798bccc952b545c':
  Remove USE_NINJA=false
2016-02-29 22:19:29 +00:00
Dimitry Ivanov
f22789edd0 Add options for dynamic linker developer warnings
Add bionic options that enable developer warnings for
beta/preview builds.

Bug: http://b/27365747
Change-Id: Ifc2ab706975558824522da5eece186e1660969ad
2016-02-27 01:18:24 -08:00
Dan Willemsen
1c6dc5b942 Remove USE_NINJA=false
And everything special-cased on that. Add a warning if USE_NINJA is
set to let users know that it no longer changes anything.

Change-Id: Ib8739151fe26ea6bf8f76b7ac2b8f4097dab0b47
2016-02-26 21:48:31 -08:00
Keun Soo Yim
e575822d53 Merge "build file change for vts to use the existing cts-tradefed infrastructure" into nyc-dev
am: 4773d29ab7

* commit '4773d29ab74b15895550d04bf5ac72899d036385':
  build file change for vts to use the existing cts-tradefed infrastructure
2016-02-26 19:27:37 +00:00
Keun Soo Yim
172b7d421e build file change for vts to use the existing cts-tradefed infrastructure
Mostly done by stuartscott@

Change-Id: I016405757f39df833d532bc01fd2237e5e961a8a
2016-02-24 16:12:49 -08:00
Dan Willemsen
3714f7876c Merge "Disable java when JAVA_NOT_REQUIRED is set"
am: 74606c40cd

* commit '74606c40cdf0552c58b07b1477e79690e6037930':
  Disable java when JAVA_NOT_REQUIRED is set
2016-02-09 05:26:08 +00:00
Dan Willemsen
fdf89cd575 Disable java when JAVA_NOT_REQUIRED is set
Change-Id: Id3056cde93302be20000bf7af33aeed0fa8fdf52
2016-02-08 17:02:48 -08:00
Sebastien Hertz
8192d3b821 Merge "Support code coverage with Jack" am: 4dad88980f
am: 7b02e64148

* commit '7b02e64148e6a1c0355d715b2a8034061f0d2837':
  Support code coverage with Jack
2016-02-02 09:13:57 +00:00
Sebastien Hertz
4dad88980f Merge "Support code coverage with Jack" 2016-02-02 07:31:37 +00:00
Lee Campbell
d6620a3e10 Merge "brillo: Remove dependency on java for Brillo" am: 6c8e3e4108
am: fd5d6f440a

* commit 'fd5d6f440a13643f4e645e960e1f2c417af3355a':
  brillo: Remove dependency on java for Brillo
2016-01-29 23:48:10 +00:00
Lee Campbell
3d8bf2994c brillo: Remove dependency on java for Brillo
Brillo does not require Java. Add a JAVA_NOT_REQUIRED
flag to the build system to make the jdk requirment optional

Also don't build signapk for Brillo

BUG: 25281898
Change-Id: I31e68cc7d076bf6c234699c77c0ea1ea428be4f5
2016-01-29 15:38:53 -08:00
Sebastien Hertz
dfce8ad4f4 Support code coverage with Jack
Building an app with Jack and with the environment variable
EMMA_INSTRUMENT_STATIC set to true will apply code coverage
onto the app targeting Jacoco.

Bug: 20115492
Change-Id: Ief3640fa3faa466f7f6aaa9739e06d3db24110a0
2016-01-27 19:14:14 +01:00
Neil Fuller
fcf7c81a7f Revert "Revert "Make OpenJDK 8 the default""
Reapply the JDK 8 switch in internal builds.

This reverts commit 85bddfdedf.
2016-01-25 17:35:57 +00:00
Neil Fuller
3ec8eeb90b Merge "Revert "Make OpenJDK 8 the default"" am: c0acea2571
am: a5e4ea2e44

* commit 'a5e4ea2e44e324101b412bac9f2fbb97bdc91670':
  Revert "Make OpenJDK 8 the default"
2016-01-25 17:17:04 +00:00
Neil Fuller
1f495b865e Revert "Revert "Make OpenJDK 8 the default""
Reapply the switch to JDK 8 on aosp/master.

This reverts commit 85bddfdedf.

Change-Id: If2e8733ba78b007d37914c0512cd6be1bd4c1e69
2016-01-25 17:12:41 +00:00
Neil Fuller
85bddfdedf Revert "Make OpenJDK 8 the default"
Temporary revert to help out Brillo folks.
It will be resubmitted tomorrow.

This reverts commit 4495f6afb8.

Change-Id: Id378c7d3a6e72e9be50f9404b19d5763568987a5
2016-01-25 17:04:14 +00:00
Neil Fuller
4495f6afb8 Make OpenJDK 8 the default
To return to OpenJDK 7:
export LEGACY_USE_JAVA7=true

And run envsetup.sh/lunch again.

Bug: 25786468
Change-Id: I8e00591a24d13e3b8b6baaafe0fdff6536c58770
2016-01-25 10:19:25 +00:00
Narayan Kamath
1b5f487f10 Make a confusing error message clearer.
The java version doesn't matter here.

Change-Id: Ieb933f87d1255e7aea5d21b3ac96e4f1f755deea
2016-01-20 18:48:59 +00:00
Neil Fuller
3dfaceea79 Revert "Revert "Revert "Revert "Make OpenJDK 8 the default""""
This reverts commit ee89f219ea.

This reapplies commit
1bd16b67c4
for the third time.

Change-Id: I3be72f643f5ddce87dfc39d98f19e395525554d8
2016-01-15 16:35:54 +00:00
Neil Fuller
ee89f219ea Revert "Revert "Revert "Make OpenJDK 8 the default"""
This reverts commit c288d65762.

The launch control change that switched various builds
to JDK 8 was reverted so JDK 8 can't be mandatory without
breaking builds.

Change-Id: I5e3feb21488d3bb57c5718cfe105a931eeaa9587
2016-01-14 21:12:27 +00:00
Neil Fuller
c288d65762 Revert "Revert "Make OpenJDK 8 the default""
This reverts commit a87553f414.

Change-Id: Ibd7bf08f3adfdc3f50584b8a61b3f81f1bff53de
2016-01-12 15:11:32 +00:00
Colin Cross
861ab99536 Ignore Android.mk files with USE_SOONG=true
When USE_SOONG=true, ignore any Android.mk file that has an Android.bp
file in the same directory.

Change-Id: Id79bd90c2aed5dafc2f8ad2c5b7eb0aa6e81dc18
2016-01-11 13:43:27 -08:00
Neil Fuller
a87553f414 Revert "Make OpenJDK 8 the default"
Reverting until all continuous builds that cover branches downstream of master can be updated to use JDK 8.

This reverts commit 1bd16b67c4.

Change-Id: Icb0daa440a6286e07d3cfd9ff8b082b4154ebc21
2016-01-11 13:37:43 +00:00
Neil Fuller
1bd16b67c4 Make OpenJDK 8 the default
To return to OpenJDK 7:
export LEGACY_USE_JAVA7=true

And run envsetup.sh/lunch again.

Bug: 25786468
Change-Id: Iba08a9d3cf73bae7124e431dfe87c20ac219591e
2016-01-11 11:25:26 +00:00
Nick Kralevich
f09b468fcc Merge "set ro.adb.secure=1 for user builds" am: f9911ae087
am: 45407b471e

* commit '45407b471ef831fc10e79fc1f9ea5a6c8d838387':
  set ro.adb.secure=1 for user builds
2015-12-23 12:28:42 -08:00
Nick Kralevich
f9911ae087 Merge "set ro.adb.secure=1 for user builds" 2015-12-23 20:22:30 +00:00
Daniel Micay
18a141cc8c set ro.adb.secure=1 for user builds
In user builds, adb without authentication is always disabled. However,
it doesn't work with the defaults because authentication doesn't work
without having ro.adb.secure=1 set. It makes sense to offer builds with
no adb but not builds with adb present in an unusable state (especially
as the default).

Bug: 22220212
Bug: 21862859
Change-Id: Ic22300a70586fd57692ac59d6873ab16dde70919
2015-12-23 20:18:15 +00:00
Yohann Roussel
4ef01c412a resolve merge conflicts of 42c42b6971 to master.
Change-Id: I40e2d2f7cd3e047bc3bc661f20c7415ce751b321
2015-12-22 15:36:32 +01:00
Yohann Roussel
4a01711267 Merge "Always start jack server before first call to jack" 2015-12-22 13:59:49 +00:00
Colin Cross
cb16289b06 Merge "Combine soong builds into make builds" am: 3bfc560cc5
am: 17d3f5426b

* commit '17d3f5426b71a510244bdbbe5a0e7f0548692420':
  Combine soong builds into make builds
2015-12-16 02:01:26 +00:00
Colin Cross
3ebb2f7326 Combine soong builds into make builds
Bootstrap soong if necessary, and wrap the kati and soong ninja files
into a single ninja file.

Change-Id: I0000c7eaa1adda763189681c57ec27a97a12ee1f
2015-12-15 16:05:57 -08:00
Nicolas Geoffray
2ad526124c Revert "Revert "Make PIC and PREOPT default for all.""
bug:25801231

This reverts commit f2a9135ed1.

Change-Id: I2eca605212b78505667af1f7e9c83f5cca5db35a
2015-12-15 09:54:30 +00:00
Nicolas Geoffray
f2a9135ed1 Revert "Make PIC and PREOPT default for all."
Need to update seed and ariel.

This reverts commit b93f5905d2.

Change-Id: Icc6f1539a97ccb2b1fcb12d2bc48904045689096
2015-12-14 18:22:17 +00:00
Nicolas Geoffray
b93f5905d2 Make PIC and PREOPT default for all.
bug:25888050
bug:25801231

Change-Id: Idf0f466a00dd592c433fc798c29ed80396015713
2015-12-14 13:02:19 +00:00
Yohann Roussel
9214a26cfc Always start jack server before first call to jack
Also install and update the server if necessary.

The target start-jack-server produces no file so it's always built.
Since the dependency is "order only", it doesn't cause force rebuilt of
jack targets after start-jack-server execution.

Bug: 25443108

Change-Id: I1608d87d186694d47307e00337b1905f0b8079c4
2015-12-09 22:00:50 +01:00
Shinichiro Hamaji
7601f91de0 Merge "Prevent findleaves.py from traversing copies of " am: 84639d127b am: 22a2efde22
am: 336c2527e3

* commit '336c2527e31d1691ac9c9538c7e19f80c6493969':
  Prevent findleaves.py from traversing copies of $(OUT_DIR)
2015-11-24 21:25:17 +00:00
Shinichiro Hamaji
6a378a3a7a Prevent findleaves.py from traversing copies of $(OUT_DIR)
by putting blank Android.mk and CleanSpec.mk in $(OUT_DIR).

Bug: 25732342
Change-Id: I3fcc4efddb9ee5ce309502e978f0589335af8371
2015-11-19 18:31:29 +09:00
Dan Albert
d806b521b8 Merge "Make not having Jack non-fatal." am: 5f88dd0dd6 am: 37a9e5d568
am: 934f9fec3d

* commit '934f9fec3d72757f4a17c0abab0daea0ef9d4cdf':
  Make not having Jack non-fatal.
2015-11-13 01:24:33 +00:00
Dan Albert
fd8c722714 Make not having Jack non-fatal.
Not every build needs Java.

Bug: http://b/17441393
Change-Id: Ia55742cfd43c3a4f9c7873b87816bcce99f8156f
2015-11-12 15:29:12 -08:00
Ying Wang
751c26af31 Merge "Add suffix .so to use directly libart.so" am: d1fd823f33 am: d54b9e6ba0
am: d06577781c

* commit 'd06577781c169c5292c79c71485764ad3f19547d':
  Add suffix .so to use directly libart.so
2015-11-11 22:19:42 +00:00
randy.jeong
59bdffa76a Add suffix .so to use directly libart.so
It should be the complete name with suffix .so to use libart.
At present, unnecessarily falls back like below.
"Falling back from libart to libart.so after dlopen error:
dlopen failed: library "libart" not found"

Change-Id: Ie5da35a71d6661434d2097c842407e6a254f8f58
Signed-off-by: randy.jeong <randy.jeong@samsung.com>
2015-11-10 16:42:49 +09:00
Nicolas Geoffray
56a84e1b6c Make jit the default for all builds.
Change-Id: Ifa4280cdab0747cae8d3e2becec47b230846def6
2015-11-05 18:02:13 +00:00
Ying Wang
4a4a0bc38f Sort out ANDROID_GOALS, KATI_GOALS and NINJA_GOALS.
ANDROID_GOALS: any Android goals that need to be built.
KATI_GOALS: goals that we need to pass to Kati.
NINJA_GOALS: goals we need to pass to Ninja.

For modifier Android goals (dist, INTERNAL_MODIFIER_TARGETS),
we don't need to pass them to Ninja. See also commit
80e46c7c5c.
Restore the dist rule removed by the above commit.

Previously "droid" was never passed to Ninja. That's incorrect.
"make droid docs" should build both docs and droiod.
Fixed with this change.

Change-Id: I5c28061fe0ebe7848872ee349056d029b787ff71
2015-11-03 17:10:28 -08:00
Ying Wang
67132baa4d Fix "make product-graph" and "make dump-products".
- For unmodified "make product-graph" and "make dump-products",
  load only the current product configuration makefiles. This is much
  faster than loading all product makefiles.
- For "make product-graph ANDROID_PRODUCT_GRAPH=--all",
  "make dump-products ANDROID_DUMP_PRODUCTS=all", load all product
  makefiles.
- Move product-graph.mk out of build tasks, so we can skip loading all
  the Android.mks, which takes long and we don't really need them.
  More importantly, with all product makefiles loaded, modules in
  Android.mks are prone to clash (if they are conditionally included
  by variables set up in product makefiles) and lead to parse-time
  error.

Change-Id: Idc1d6b0c23eb2c8bb34fdd7a1fa4d56171768d21
2015-10-28 16:49:44 -07:00
Colin Cross
ec1b561981 Add dummy description for GET-INSTALL-PATH
kati takes the first @echo command in a rule and turns it in to a ninja
description that gets pretty-printed.  The GET-INSTALL-PATH is only
@echo commands and is parsed by development/testrunner/runtest.py, so
it fails to parse the pretty-printed first test.

Add a dummy @echo to GET-INSTALL-PATH for kati to use as the
description, so the rest of the @echo commands are left unmodified.

Change-Id: I192fde48b26726a2f6760448f819243bd2f21312
2015-10-23 21:38:12 -07:00
Yohann Roussel
8998d57404 Allow control of jack used for compilation
Version of Jack used to compile a module can now be control from
a dedicated mk located in prebuilts/sdk/tools

Bug: 24564814

(cherry picked from commit b68c9a498d)

Change-Id: I7809dc966026ff94b5cb2daa7e2c63762ca4768d
2015-10-21 17:22:05 +02:00
Neil Fuller
e8304ef768 Fix for Java 8 toolchain builds
We don't need to assume the OpenJDK (i.e. for Mac builds).

Change-Id: I1ac1856813045c7b1478dee6b08ad7b49300e4d7
2015-10-12 17:29:45 +01:00
Colin Cross
e06e961cc6 am 7edec14c: Merge "Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build"
* commit '7edec14c8dfe4e499cba0d77dc20bc985af1f586':
  Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build
2015-09-28 23:04:57 +00:00
Colin Cross
fe5e6894d2 Set BUILDING_WITH_NINJA flag when parsing makefiles for ninja build
Distinguish between parsing makefiles in make for a pre-ninja build,
parsing makefiles in kati for a ninja build, and parsing makefiles in
make for a non-ninja build by leaving USE_NINJA=true enabled for the
kati pass but also setting BUILDING_WITH_NINJA.

Change-Id: I63f1ce1efe08cd86fdf41f8051901f720b38cfaf
2015-09-28 15:36:05 -07:00
Colin Cross
ad4b1ef65e am 581a028f: Merge "Remove checkbuild and test from parse time goals"
* commit '581a028fb562b1d877de2b82d6a08df045d73ec8':
  Remove checkbuild and test from parse time goals
2015-09-26 03:37:54 +00:00
Colin Cross
c53d6b90b3 Remove checkbuild and test from parse time goals
The tests goal is not a parse time goal.

The checkbuild goal is only a parse time goal so that it doesn't result
in a circular dependency between droid and checkbuild when
ANDROID_BUILD_EVERYTHING_BY_DEFAULT is set.  Get rid of the circular
dependency by making droid depend on droid_targets, and droid_targets
depend on the targets that are normally built for droid.  checkbuild can
then always depend on droid_targets, and droid can condtionally depend
on checkbuild without introducing a circular dependency.

Bug: 24413153
Change-Id: I231d80e05ffe321384a5efbcdf5578f86ad84da0
2015-09-25 16:43:36 -07:00
Colin Cross
425d0248a1 am 9ff24387: Merge "Make USE_NINJA=true the default"
* commit '9ff24387c205da60e3d7deb042530b1d0b2d881c':
  Make USE_NINJA=true the default
2015-09-22 17:12:43 +00:00
Colin Cross
f77030bb30 Make USE_NINJA=true the default
Build with kati + ninja by default, unless specifically disabled with
USE_NINJA=false in the environment or on the make command line.

Bug: 23565895
Change-Id: I1fa9f5c6eb4d4ed3f5b81454f89d19fd2f1f6abb
2015-09-18 15:10:21 -07:00
Ying Wang
bc195b36d7 am 6fb36397: Merge "Use /ninja_build to mark ninja build."
* commit '6fb36397e56336e08a75e7101d6d47a98a27aea1':
  Use $(OUT_DIR)/ninja_build to mark ninja build.
2015-09-16 23:21:04 +00:00
Ying Wang
eb1e18e689 Use $(OUT_DIR)/ninja_build to mark ninja build.
Bug: 23565895
Change-Id: I000e88a45278fd52096312262eacc52511f02efb
2015-09-16 15:29:08 -07:00
Ying Wang
942672d82b am 45075cf6: Merge "Generate installed-files-vendor.txt"
* commit '45075cf623fc59930594ac27c675cd43e36975b1':
  Generate installed-files-vendor.txt
2015-09-15 23:10:16 +00:00
Ying Wang
8da19e3688 Generate installed-files-vendor.txt
Similar to installed-files.txt, installed-files-vendor.txt lists the
content of vendor.img.

Bug: 24009297
Change-Id: Ib8112b19cc9f54d0c0d6a829063e4fe72d8ce664
2015-09-15 14:24:00 -07:00
Dan Willemsen
c98d9a9d0f am f1c09d7f: Merge "Add HOST_CROSS_OS"
* commit 'f1c09d7fbd92a08cc51950a7d35fb5f7fc564a20':
  Add HOST_CROSS_OS
2015-09-09 18:19:13 +00:00
Dan Willemsen
057aaea54a Add HOST_CROSS_OS
Instead of using recursive make to change the HOST_OS when building the
windows SDK under linux, add the concept of cross-building to another
host os.

Bug: 23566667
Change-Id: I6dc525b601b6251d458d197c30bf4660d7485502
2015-09-09 18:12:29 +00:00
Ying Wang
3351178fb8 Cleaned the outdated incrementaljavac.
Nobody is using this feature and now we switched to jack.

Change-Id: I749b486eb347cbf3ee7b107565fc800eeb238c44
(cherry-picked from commit 90598cb70c)
2015-08-29 11:08:02 -07:00
Ying Wang
c9343c0bc3 am cf129c53: am a7eaf450: Merge "Dist the otatools package."
* commit 'cf129c538266cdc5d185a945218e7f76aa22ca27':
  Dist the otatools package.
2015-08-25 17:27:26 +00:00
Ying Wang
267e957373 Dist the otatools package.
Bug: 23495952
Change-Id: I1f61946580dd8ea29c3d5e1f4e859cc6d1f8554a
2015-08-24 17:13:53 -07:00
Dan Willemsen
1b14846717 am 48d95e75: am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '48d95e752536dc7a81c141e435e8a90b7929cf02':
  Remove legacy windows platform build support
2015-08-18 04:43:04 +00:00
Dan Willemsen
05d97fe723 Merge "Remove legacy windows platform build support" 2015-08-18 04:31:07 +00:00
Dan Willemsen
9cf990beec resolved conflicts for merge of 05fae7e0 to mnc-dev-plus-aosp
Change-Id: I9f0f1169839afabc7ec7e439b668798e2cd111a3
2015-08-17 20:50:48 -07:00
Dan Willemsen
145ae32069 Remove legacy windows platform build support
We still support HOST_OS=windows for the SDK host tools cross-builds, but
that's only when USE_MINGW is set when running under linux.

Change-Id: I37da87dc9fbbd69ba10ce4d7f2668ab3f6482d92
2015-08-17 12:35:04 -07:00
Dan Willemsen
ccc933e97b Use repeatable timestamps
This moves all of the date references under build/ to using a single
datetime that can be set manually using BUILD_DATETIME.

It also adds an option, OVERRIDE_C_DATE_TIME, that if set to true, will
redefine __DATE__ and __TIME__ for all C/C++ files so that it matches
BUILD_DATETIME.

Bug: 23117013
Change-Id: I7c17a32b794a5adf40b9cd69136fb0ff9f6084ec
2015-08-12 00:02:20 -07:00
Dan Willemsen
8478f7abbd resolved conflicts for merge of b184ec2a to mnc-dev-plus-aosp
Change-Id: I6178127dd19ee553c15343fc0120af9463b7ac4d
2015-08-11 18:31:59 -07:00
Dan Willemsen
33f46daa22 resolved conflicts for merge of c576c08f to mnc-dev-plus-aosp
Change-Id: I2d28518ac5a26de7c5df9a2e3a1902e880155101
2015-08-11 18:21:43 -07:00
Dan Willemsen
92026f2d36 Revert "Use repeatable timestamps"
OSX `date` doesn't understand -d

This reverts commit 13ba6e00f4.

Change-Id: I5970032ff02cc07bd3b087e1eeb5f19b1e4194b4
2015-08-12 01:00:19 +00:00
Dan Willemsen
13ba6e00f4 Use repeatable timestamps
This moves all of the date references under build/ to using a single
datetime that can be set manually using BUILD_DATETIME.

It also adds an option, OVERRIDE_C_DATE_TIME, that if set to true, will
redefine __DATE__ and __TIME__ for all C/C++ files so that it matches
BUILD_DATETIME.

Bug: 23117013
Change-Id: I880ef103a26bca86bd7bf42d58e62e740a6228c8
2015-08-11 17:08:03 -07:00
Ying Wang
72a8e48b56 am ac6e6b34: am 0c0b2e65: Merge "Use unmodified MAKECMDGOALS in ninja.mk."
* commit 'ac6e6b347b49b4c15df1f1b2869f2c386f2755d6':
  Use unmodified MAKECMDGOALS in ninja.mk.
2015-07-30 00:15:31 +00:00
Ying Wang
bb1da5e614 Use unmodified MAKECMDGOALS in ninja.mk.
The build system removes targets like "PRODUCT-full-eng" from
MAKECMDGOALS in build/core/product_config.mk.
Without this change, such target isn't passed to kati.

Change-Id: I0b3949ed1f5557445d7f5d5bd59b7875c0b2ea7f
2015-07-29 12:21:54 -07:00
Ying Wang
c0debc427a am 3d2c90d1: am cb031414: Merge "Fix mmma uses like "mmma ./external/apache-harmony""
* commit '3d2c90d18608650614cf3940179cf13251e82178':
  Fix mmma uses like "mmma ./external/apache-harmony"
2015-07-24 21:03:05 +00:00
Colin Cross
c097d1f06e am 4f4c7c22: am f8f448b3: Merge "Build with kati+ninja when USE_NINJA=true"
* commit '4f4c7c22284729d5c1a256590edd387e9d9798dd':
  Build with kati+ninja when USE_NINJA=true
2015-07-24 21:02:56 +00:00
Ying Wang
cb03141459 Merge "Fix mmma uses like "mmma ./external/apache-harmony"" 2015-07-24 19:35:47 +00:00
Ying Wang
a5184806be Fix mmma uses like "mmma ./external/apache-harmony"
Fix mmma uses like "mmma ./external/apache-harmony" by removing the
leading ./ in entries in BUILD_MODULES_IN_PATHS.

Change-Id: I414e734c8a29434fc89ddb2b745613c33709c5e3
2015-07-24 12:30:41 -07:00
Colin Cross
3b324cb32e Build with kati+ninja when USE_NINJA=true
If USE_NINJA=true, use kati to translate makefiles into ninja files,
and then execute them with ninja.

Builds kati from source using simplified versions of the rules
in binary.mk and definitions.mk.

Adds two new goals when USE_NINJA=true: generateonly will regenerate
build.ninja but not rebuild (useful for comparing build.ninja output
between runs), and fastincremental will skip regenerating build.ninja
and go directly to running ninja, providing ~5 second incremental
builds.

Change-Id: Ib85399e730f1fbb1be7371fafeee7d1c31080771
2015-07-23 17:29:01 -07:00
Ying Wang
6c4176e2d0 am 8b4d1432: am cd7dfdb4: Merge "Cleanups."
* commit '8b4d1432395733db45e2dfaeee24fe44d3c49bbe':
  Cleanups.
2015-07-23 02:06:39 +00:00
Ying Wang
f5e94cc17f am c677675c: am 83568a6d: Merge "Create OUT_DIR before writing build_number.txt."
* commit 'c677675cccc8a6894b45469a9b8b4f72efe99b9d':
  Create OUT_DIR before writing build_number.txt.
2015-07-23 02:06:37 +00:00
Colin Cross
8d9dfa3d9b resolved conflicts for merge of 8c25fd56 to mnc-dev-plus-aosp
Change-Id: I318ce3d7bbfbcaf849a36543662f4c63b7377927
2015-07-22 19:01:07 -07:00
Ying Wang
cd7dfdb4bf Merge "Cleanups." 2015-07-21 23:45:42 +00:00
Ying Wang
06332732a4 Create OUT_DIR before writing build_number.txt.
Change-Id: I6a84ec59194c48f4291480cb0c94db0da488518c
2015-07-21 16:39:46 -07:00
Ying Wang
bbd4755647 Cleanups.
- Deleted unused functions in definitions.mk.
- lint is never fully functional in the platform source tree.
- Retire LOCAL_DIST_BUNDLED_BINARIES: now the build system/framework
  supports JNI embedded in apk.

Change-Id: I6314cb20d1544c704ccbc4c1f9cccb9c54fb5a51
2015-07-21 16:03:19 -07:00
Colin Cross
f37b455858 Read BUILD_NUMBER from file in rules
Using $(BUILD_NUMBER) inside a rule causes odd behavior, as the rule
is different every time make is run, but since make doesn't depend
on the command line it only ends up being built with the new value
if some other dependency has changed.

To allow ninja, which does depend on the command line, to provide the
same behavior, store the build number in out/build_number.txt, and
use a shell expansion to cat the file in rules that use it.  This will
cause the rule command to stay identical between builds, while still
getting the new build number if the rule is rerun for a dependency.

Also use the same trick for BUILD_FINGERPRINT, and the date in
droiddoc rules.

Change-Id: I6c5e6b6b3ef4c613563d7f5604df0e401575ba5f
2015-07-18 12:15:04 -07:00
Ying Wang
e455897608 am 3f249ac5: am 82f6383f: Merge "Add variable ANDROID_NO_TEST_CHECK to not build all test modules"
* commit '3f249ac58f8d7854850a5c936634389a1ed6e9b0':
  Add variable ANDROID_NO_TEST_CHECK to not build all test modules
2015-06-23 17:10:24 +00:00
Claes Elgemark
cd5bee3546 Add variable ANDROID_NO_TEST_CHECK to not build all test modules
Introduce a way to speed up local builds. Don't build all test
modules if ANDROID_NO_TEST_CHECK is set to true.

On master branch this reduces what is built by more than
300 apps and 50 java libraries. Time for doing this on a
12 core machine running with -j13 is about 10 minutes.

Change-Id: I90feb108695ee60d0dbbf497644f767cc3748215
2015-06-23 15:49:54 +02:00
C. Sean Young
3c11468252 am 6f44670a: am cbaead4c: am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
* commit '6f44670ada093f4a11a343dddf0f8d0a0a8280d6':
  Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
2015-06-12 18:05:03 +00:00
C. Sean Young
6f44670ada am cbaead4c: am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
* commit 'cbaead4cfe737c96c649672b6c1396c35597b5b7':
  Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
2015-06-12 17:43:46 +00:00
C. Sean Young
cbaead4cfe am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
* commit '540772fa2287e63a0c745229fb72b78903c9cd70':
  Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
2015-06-12 16:29:25 +00:00
C. Sean Young
cf4699895a Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
These directories are excluded in addition to OUT_DIR.
This can be useful if your build system has other output directories
beyond what OUT_DIR is set to.

Change-Id: I6d98a85bcc8c89279e939406a7fec32547e8922f
2015-06-10 13:00:13 -05:00