Commit graph

693 commits

Author SHA1 Message Date
Shinichiro Hamaji
89b255ab71 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

(cherry picked from commit c1f5d9c203)

Bug: 24597504
Change-Id: Iec3b2b0b0e674bee5d80cce3c300dc8fad6e7c13
2015-11-30 11:16:23 -08:00
Shinichiro Hamaji
2ff3ad9045 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" 2015-11-27 03:59:30 +00:00
Shinichiro Hamaji
3ae7f66bab Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
This reverts commit c1f5d9c203.

Change-Id: I7e9969a060e3f1380154da65e76134168aee15d8
2015-11-27 03:58:51 +00:00
Paul Duffin
623799d3e0 Merge "Fix generated-sources-dir-for for COMMON" 2015-11-26 11:39:30 +00:00
Shinichiro Hamaji
c9a1b27845 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" 2015-11-26 05:25:58 +00:00
Paul Duffin
699a32217a Fix generated-sources-dir-for for COMMON
When the 4th argument specified is non-empty then it attempts to
use either HOST_OUT_GEN_COMMON or TARGET_OUT_GEN_COMMON
depending on whether the 3rd argument is non-empty or not
respectively. Unfortunately, those two variables do not exist,
the correct names for those variables is HOST_OUT_COMMON_GEN and
TARGET_OUT_COMMON_GET.

Change-Id: I66edb02824c06e0f504ebe04ff80ddbd77a16c95
2015-11-25 13:14:23 +00:00
Ying Wang
6cce4026ff Fix typo.
Change-Id: I299076791c620968fa7a5c420b5ca21ea4d30b51
2015-11-24 14:09:11 -08:00
Ying Wang
3be52e6692 Don't delete META-INF in jack-java-to-dex when packing resources.
LOCAL_DONT_DELETE_JAR_META_INF is meant for deleting resources carried
by static Java libraries, see comment in clear_vars.mk.
For a module's own resources, we should pick up whatever in
LOCAL_JAVA_RESOURCE_DIRS.
The same applies  when building .jack from a  prebult jar in
transform-jar-to-jack.

Bug: 25860887
Change-Id: I20c120e039342a1124362c5f8747eace94b03931
(cherry-pick from commit 996ae38ffd)
2015-11-24 13:57:10 -08:00
Shinichiro Hamaji
c1f5d9c203 Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
The same optimization was done for binaries in

https://android-review.googlesource.com/#/c/175250/

To create a TOC file from .jar files, this change introduces
ijar, which is designed for this purpose. Only #include lines
were modified from the original version.

https://github.com/bazelbuild/bazel/tree/master/third_party/ijar

Performance:

$ m && touch
frameworks/base/core/java/com/google/android/util/Procedure.java && time
m
Before: 4m30s (1580 targets)
After: 3m57s (772 targets)

Unfortunately, the improvement is small yet, but local
experiments showed we can cut ~2 more minutes if the similar
optimization is done for .dex files.

Bug: 24597504
Change-Id: Id54953aea25e497c8ebbe783b03f13b488577c6a
2015-11-19 17:10:35 +09:00
Dan Willemsen
67d993fc9c Merge "Sort dex and static lib resources" 2015-11-13 01:39:30 +00:00
Yohann Roussel
94f86f8877 Sort dex and static lib resources
Before adding them to the apk or javalib.jar. This allows the entries
order to be reproducible and will help to have a reproducible build.

Bug: 25629246

Change-Id: Ie596aecfdd08047ea9f9071896a2b980e7200b41
2015-11-12 14:58:19 +01:00
Dan Willemsen
5c64b4e81c Make uncompressing jni libs in prebuilt APKs reproducible
This was extracting the shared libraries into a temporary directory,
then adding them back into the zip file using the raw filesystem
ordering. Fix that by passing a sorted list to zip.

Bug: 24201956
Change-Id: I59c41151968be6faf289e04719a9992157eb405d
2015-11-11 18:26:38 -08:00
Shinichiro Hamaji
0e7587a9ea Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
When a shared object is rebuilt, all dependent libraries and
executables are rebuilt. Such rebuild is unnecessary when there
is no interface change. With this patch, .toc files will be
generated for all .so files. The rule which generates .toc files
has ninja's restat=1 and .toc files are not changed ninja won't
rebuild dependent targets.

Performance:

$ m && touch bionic/libc/stdio/stdio.c && time m
Before: 1m03s (2563 targets)
After: 21s (90 targets)

Bug: 24597504
Change-Id: Ia5dd950273d143f4e99eee8bef7478f1a94cd138
2015-11-04 15:23:59 +09:00
Dan Willemsen
a25ddad7d6 Don't use ziptime with unbundled builds
Some of the trees are unable to compile native code with the normal
build rules, even though they can build kati.

Bug: 24201956
Change-Id: I2afc3468480b2c78407d62323e6b82979c8ee254
2015-11-03 16:18:41 -08:00
Dan Willemsen
48a621c277 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new tool, ziptime, that uses a very stripped down copy of
zipalign. It no longer depends on libandroidfw, and now rewrites the
timestamps in place instead of making a copy of the zipfile. This should
improve speed and reduce disk requirements, especially with the large
packaging zip files.

Bug: 24201956
Change-Id: I50f68669f659da1b4393e964ad40b6aafb00c1e7
2015-11-02 14:51:54 -08:00
Lee Campbell
04ba31236e build: Add extra build customization for /product
This makes /product more consistent with /device & /vendor

BUG: 22030305

Change-Id: Ic65bfde7fb3e9fab8c8fb8d99af15404574abde0
2015-11-02 14:18:13 -08:00
Dan Willemsen
b589ae4e26 Revert "Remove changing uids/timestamps from zip/jar files"
This reverts commit 3c2c064c87.

zipalign depends on libandroidfw, and some setups don't include frameworks/base.

Bug: 24201956
Change-Id: I48ee95808924f6b2221f0a49ab205c2565096b1f
2015-10-29 21:26:18 +00:00
Dan Willemsen
3c2c064c87 Remove changing uids/timestamps from zip/jar files
Pass -X to zip so that Unix UID/GID and extra timestamps aren't
saved into the zip files.

Add a new option to zipalign, -t, to replace all timestamps with static
timestamps (2008 Jan 1 00:00:00). Use this for all non-APK zip files.
APK zip timestamps are set based on the certificate date in SignApk.

Bug: 24201956
Change-Id: Ifb619fc499ba9d99fc624f2acd5f8de36d78ef8e
2015-10-29 11:57:16 -07:00
Ying Wang
4d68879ca6 Normalize java source file paths before running "sort -u".
We rely on "sort -u" to dedupe aidl/logtags generated java files added
by both from $(all_java_sources) and from "find
$(PRIVATE_SOURCE_INTERMEDIATES_DIR) -name '*.java".
But "sort -u" doesn't work if any of the aidl/logtags source file path
has "../" in it.
This change fixes this issue by normalizing the source file paths before
passing them to "sort -u".

Change-Id: I12d2c4e0397bed9f426a1ed9b13608d72d01e0df
2015-10-23 13:19:47 -07:00
Yohann Roussel
6528ea3086 Remove LOCAL_JACK_EXTRA_ARGS
Use of DEFAULT_JACK_EXTRA_ARGS and LOCAL_JACK_FLAGS provides all needed
support.

(cherry picked from commit d2b2983cc7)

Change-Id: I1cd76836792e7332bc3750408a860400b0957485
2015-10-21 17:22:27 +02: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
Yohann Roussel
b2c5558435 Clean call-jack and its callers
This is possible now that we have the new Jack server.
Also fix dependency from dex/jack target to jack script
instead of jack.jar.

(cherry picked from commit 5e50b34221)

Change-Id: I8e7aa5087ba8d73cc93140ddfca8f4ab2f505175
2015-10-21 17:02:25 +02:00
Dan Willemsen
9f576acde6 Merge "Stop encoding absolute paths in symbols" 2015-10-20 20:46:21 +00:00
Christopher Wiley
2df75d17a8 Invoke the aidl-cpp compiler to generate C++
Bug: 23599697
Test: test application compiles generated code

Change-Id: I35255517dd0b7ef7a82134be1c862093eaa3ce6b
2015-10-19 16:18:03 -07:00
Dan Albert
5baea14363 Merge "Use libgcov OR libclang_rt.profile, not both." 2015-10-15 18:39:42 +00:00
Ying Wang
3a562a9942 Use @arg-lsit-file for jar in add-carried-jack-resources
Don't pass the arg list as argument in any bash command;
Instead store the arg list to the arg list file and
run "jar @arg-lsit-file".
Note we need to quote the arguments in the arg list file.

This fixed "argument list too long" build error on Mac.

Bug: 24789595
Change-Id: I718f84e540d82bb83516824894a473b2961da278
2015-10-14 17:48:21 -07:00
Dan Willemsen
6a66a887ba Stop encoding absolute paths in symbols
GCC & Clang encode the current working directory into the symbol files.
Even if the binaries are stripped before being installed, the build-id
hash will be different. This means that two different checkouts will
produce different installed binaries, even if the sources are identical.

To prevent this, set PWD=/proc/self/cwd, so that it replaces the
absolute path with the static path /proc/self/cwd. With GCC, use
-fdebug-prefix-map to remove that static path. Our clang does not yet
support this flag, but it was merged in r250094.

This does change the behavior when using gdb -- you now need to be in
$ANDROID_BUILD_TOP before gdb will load the sources.

Bug: 24204119
Change-Id: I792d65b042b7a3fdc78d567c5a6e93cdf0141b9b
2015-10-14 17:30:11 -07:00
Ying Wang
ed4b0eeb43 Merge "Revert "Use @arg-lsit-file for jar in add-carried-jack-resources"" 2015-10-14 23:09:14 +00:00
Ying Wang
3bfecc8b65 Revert "Use @arg-lsit-file for jar in add-carried-jack-resources"
This reverts commit 16f93d5661.

Change-Id: I925dae6a2d07792c61fcd3b6fd8718391ab993f8
2015-10-14 23:08:53 +00:00
Ying Wang
3757268466 Merge "Use @arg-lsit-file for jar in add-carried-jack-resources" 2015-10-14 21:43:41 +00:00
Chih-Wei Huang
74ccefbee5 Let get-prebuilt-src-arch return empty if the input is empty
The list of archs of a pure java apk (no native libs) is empty.
In this case get-prebuilt-src-arch still return 'none'.
If it's set to LOCAL_MODULE_TARGET_ARCH, it makes the apk
be incompatible with the building target. It's not good.

Just return empty in this case.

Change-Id: Ide75cdb08c8480c8e7d3a0ac59f41831fbc18bd5
2015-10-14 18:56:14 +08:00
Ying Wang
16f93d5661 Use @arg-lsit-file for jar in add-carried-jack-resources
Don't pass the arg list as argument in any bash command;
Instead store the arg list to the arg list file and
run "jar @arg-lsit-file".

This fixed "argument list too long" build error on Mac.

Bug: 24789595
Change-Id: I3e5cd18fd988f12f0876b152b8bf07d07b56119e
2015-10-13 18:45:16 -07:00
Dan Willemsen
92f5fcc5b3 Add all-named-(dirs|files)-under and related
To consolidate the number of places that we're using 'find' in the tree,
add some more helpers:

  all-named-dirs-under
  all-subdir-named-dirs
  all-named-files-under
  all-subdir-named-files

This change also makes many of the current helpers use these helpers
instead of using their own implementation.

The 'dirs' helpers are using '-type d' so that they only output
directories. It's probably safe to use '-type f' for the files helpers,
but that increased the kati load time by ~20%.

Bug: 24204119
Change-Id: I3312e2fe8c146f10955e1d986ad15d9c8be494e1
2015-10-12 15:32:28 -07:00
Dan Albert
7fbbc5d205 Use libgcov OR libclang_rt.profile, not both.
Using both can cause duplicate symbol errors.

Change-Id: Id8ee13a81d32e3248ff1cdc468f49a26ecde6b57
2015-10-08 14:16:39 -07:00
Yohann Roussel
f8c63cbac2 Ensure dump-words-to-file creates the target
Even if word list is empty.

Not creating the file was causing print of error messages that were
not preventing compilation to continue when compiling Java module with
no source.

Change-Id: I095b85f85ed6fcef5882afa39d4af51b78124c7c
2015-10-07 09:34:42 +02:00
Dan Willemsen
05bb4fed0d am edc3e6cd: Merge "Sort more instances of wildcard and find"
* commit 'edc3e6cd6a0d6af4df3d6f07f40de17980b66ad0':
  Sort more instances of wildcard and find
2015-09-30 23:44:10 +00:00
Dan Willemsen
24b5fcf92a am 604e532f: Merge "Add all-cpp-files-under"
* commit '604e532f842fa38982eb47708e3afb5415ba4b72':
  Add all-cpp-files-under
2015-09-30 23:44:01 +00:00
Dan Willemsen
edc3e6cd6a Merge "Sort more instances of wildcard and find" 2015-09-30 22:36:30 +00:00
Dan Willemsen
7c3e3f8314 Sort more instances of wildcard and find
Many of these may not make a difference in the output images, but it's a
good idea to keep the make system as repeatable as possible.

Change-Id: I31804b8ad5805148ed08be7426a242a16f4d0df3
2015-09-30 22:25:49 +00:00
Dan Willemsen
604e532f84 Merge "Add all-cpp-files-under" 2015-09-30 22:15:50 +00:00
Dan Willemsen
379f9f9cec Add all-cpp-files-under
There are multiple versions of this in the tree. Let's standardize on
one that will work for everyone, and will sort the results.

Bug: 24204119
Change-Id: I09fcd80e1e8e35e64d8a8a62bbc096f87b02603f
2015-09-29 16:32:28 -07:00
Colin Cross
7ee3b85eba resolved conflicts for 953981db to stage-aosp-master
Change-Id: Ic1003a594ac5e5e91b124f249a569fb81123e973
2015-09-28 18:45:23 -07:00
Colin Cross
98da13bbd2 resolved conflicts for 6c3bf1b8 to stage-aosp-master
Change-Id: If93ed1d9229f7fbe750f85ea4b3c3e4fce5dbb29
2015-09-28 16:41:45 -07:00
Colin Cross
a4447e8c89 Don't add dependencies on Makefiles when using ninja
Ninja has an implicit dependency on the command being run, and kati will
regenerate the ninja manifest if any read makefile changes, so there is no
need to have dependencies on makefiles.
This won't catch all the cases where LOCAL_ADDITIONAL_DEPENDENCIES contains
a .mk file, because a few users of LOCAL_ADDITIONAL_DEPENDENCIES don't
include base_rules.mk, but it will fix the most common ones.

Bug: 23566977
Change-Id: I66de882421376303ab7233c8ce7274548f6b2199
2015-09-28 16:29:52 -07:00
Colin Cross
92f8348aeb Use zip -q for adding shared libraries
Make zip quiet when adding shared libraries to apks.

Bug: 24409581
Change-Id: I540510eb6e051b5fc9d1d2a7fa5565a5b774a602
2015-09-28 16:15:09 -07:00
Colin Cross
5540a746b6 am f262f906: Merge "Remove "preparing StaticLib" messages"
* commit 'f262f906f28f1abedb32b1645b7f1ed5c0abbe45':
  Remove "preparing StaticLib" messages
2015-09-28 22:26:54 +00:00
Colin Cross
aa0aca69cf Remove "preparing StaticLib" messages
The preparing StaticLib messages don't provide any useful information,
remove them to clean up build output.

Bug: 24409581
Change-Id: I81fa7c47fd0d10846a21667b6421b4777260d0e9
2015-09-28 14:51:19 -07:00
Dan Willemsen
a0af56f698 am bd1b9e33: Merge "Sort all files found via "
* commit 'bd1b9e3332de46e1f08b4b5ca8f53d0a096b4793':
  Sort all files found via $(shell find)
2015-09-24 02:20:39 +00:00
Dan Willemsen
4d66adfd0e Sort all files found via $(shell find)
Don't rely on filesystem ordering to make these the same for all builds.

Change-Id: I7313062157764091acecf45f4b57405c28858546
2015-09-23 15:35:52 -07:00
Ying Wang
197e592ea5 am 3c4c3418: Merge "Don\'t add build number to apps\' version name for platform build."
* commit '3c4c34183a10fd3deac81a8fc1fed8c774f12190':
  Don't add build number to apps' version name for platform build.
2015-09-20 03:41:43 +00:00
Ying Wang
d75d893da8 Don't add build number to apps' version name for platform build.
Bug: 24201956
Change-Id: I4a4bb483bb7b1bf7b7a856050d548bee4db0fe93
2015-09-19 10:56:35 -07:00
Scott James Remnant
d8f08571b3 am 909fe8e0: Merge "build: support compiling .mm on host"
* commit '909fe8e0f7da8db09a004ef44a90e786c81df5e4':
  build: support compiling .mm on host
2015-09-17 23:15:30 +00:00
Scott James Remnant
dd86e5a0de build: support compiling .mm on host
libchrome uses .mm (Objective-C++) files to bridge C++ code with
OS X Frameworks. This adds support for compiling .mm to .o by just
using the existing C++ support.

Bug: 24168923
Change-Id: Ia65357e2e2584dfffcb6796e214fe6b27635c3a6
2015-09-17 15:51:32 -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
119cec9a4a am 4e2f1903: Merge "Clean up Javac a little bit."
* commit '4e2f190315759b4270ab414b9ff1e24a19521521':
  Clean up Javac a little bit.
2015-09-02 21:18:38 +00:00
Ying Wang
447d69678e Clean up Javac a little bit.
- Added GLOBAL_JAVAC_DEBUG_FLAGS and merge it to
  PRIVATE_JAVACFLAGS/PRIVATE_JACK_FLAGS to get rid of
  PRIVATE_JAVAC_DEBUG_FLAGS/PRIVATE_JACK_DEBUG_FLAGS.
- With Java rules out of base_rules.mk we can get rid
  of java_alternative_checked_module now.

Change-Id: I1a14716c785e3d49330a75044107662ce96a9307
2015-09-02 10:04:18 -07: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
Christopher Wiley
3f7c5424db am 2b2c9dff: am 4e719eaf: Merge "Change .dbus.xml extension to .dbus-xml"
* commit '2b2c9dff35304c21ebe1e793a16443a882920f75':
  Change .dbus.xml extension to .dbus-xml
2015-08-21 22:24:31 +00:00
Christopher Wiley
2b2c9dff35 am 4e719eaf: Merge "Change .dbus.xml extension to .dbus-xml"
* commit '4e719eafc4d183dd923518cea6292f37ee1e26c6':
  Change .dbus.xml extension to .dbus-xml
2015-08-21 20:51:11 +00:00
Christopher Wiley
9b17dea308 Change .dbus.xml extension to .dbus-xml
Work around gyp's inability to handle compound extensions by expecting
a similar looking simple extension for XML files definine DBus
interfaces.  We'll need to rename these sources in the places we're
using them already.

Bug: 23380180
Change-Id: Ieb2050f3ef05456cd70de65c3e128d57a6a508f8
2015-08-20 09:36:08 -07:00
Christopher Wiley
5bc62fdc65 am 7db39448: am 9e3b4ed4: Merge "Fix DBus proxies to use all definitions"
* commit '7db39448409ef9797089774ca8e196142662b0f2':
  Fix DBus proxies to use all definitions
2015-08-19 22:31:10 +00:00
Christopher Wiley
9c49f0affa am 688b4a3d: am 4d2b79f9: Merge "Generate DBus proxies and adaptors separately"
* commit '688b4a3db72b58e8908ecdb24e6c4d64a44fdbc6':
  Generate DBus proxies and adaptors separately
2015-08-19 22:31:03 +00:00
Christopher Wiley
7db3944840 am 9e3b4ed4: Merge "Fix DBus proxies to use all definitions"
* commit '9e3b4ed4991eb19e60346858bfdbb494d9324252':
  Fix DBus proxies to use all definitions
2015-08-19 21:47:27 +00:00
Christopher Wiley
974b82259a Fix DBus proxies to use all definitions
Bug: 22608897
Change-Id: Id17cf4b896c1c62be874599c7f346f3045e36819
2015-08-19 13:48:53 -07:00
Christopher Wiley
688b4a3db7 am 4d2b79f9: Merge "Generate DBus proxies and adaptors separately"
* commit '4d2b79f99ef34a504fe9f7e362a861d7ddee5659':
  Generate DBus proxies and adaptors separately
2015-08-19 18:37:48 +00:00
Christopher Wiley
529f176ee1 Generate DBus proxies and adaptors separately
Enable daemons exposing an interface over DBus to easily
build client libraries.  Now daemons can write rules like:

include $(CLEAR_VARS)
LOCAL_MODULE := libdbus-binding-example-client
LOCAL_DBUS_PROXY_PREFIX := dbus-example-example
LOCAL_SRC_FILES := \
    dbus_bindings/org.chromium.Example.Manager.dbus.xml \
    dbus_bindings/dbus-service-config.json
include $(BUILD_SHARED_LIBRARY)

to expose a client library.

While here, add support for generating independent adaptor header
files on a per interface basis.

Bug: 22608897
Change-Id: I011f9afc234811c31e445898321c2731c482fa77
2015-08-19 11:14:16 -07:00
Ying Wang
f526c169ef am c3dcb6c0: Merge "Consolidate the nanopb-c and regular protobuf build rules."
* commit 'c3dcb6c06bd2fbe816a918e9c3b099669bbeb5b5':
  Consolidate the nanopb-c and regular protobuf build rules.
2015-08-18 21:41:03 +00:00
Ying Wang
c3dcb6c06b Merge "Consolidate the nanopb-c and regular protobuf build rules." 2015-08-18 21:35:37 +00:00
Ying Wang
b28ed234aa Consolidate the nanopb-c and regular protobuf build rules.
Bug: 20093047
Change-Id: I38ebd748aacce6d215403da481ad04833810a995
2015-08-18 14:27:45 -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
48d95e7525 am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '05d97fe723ea376edb5fe6b12535485311a32418':
  Remove legacy windows platform build support
2015-08-18 04:37:09 +00: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
Yang Ni
9d1eaaea61 am dcfb0c80: am 36600a6b: Merge "Include target api version in build system for rscpp."
* commit 'dcfb0c8018ec9e81fa79f3251a3d49a4cc90ddf4':
  Include target api version in build system for rscpp.
2015-08-15 02:18:57 +00:00
Yang Ni
dcfb0c8018 am 36600a6b: Merge "Include target api version in build system for rscpp."
* commit '36600a6bf9b3b79327785cd740a909d3920d6519':
  Include target api version in build system for rscpp.
2015-08-14 18:46:18 +00:00
Noah Presler
4796a8c524 Include target api version in build system for rscpp.
b/23161320

Change-Id: Ibc23309abed092e7648168fbf4b80891a44929a6
2015-08-13 17:07:56 -07:00
Dan Willemsen
544fabcef0 am b8331622: am 46ed451d: Merge "build: Load makefiles in the same order with Make 4.0"
* commit 'b8331622962be9d044eedce0aa1dff33ca1c5b16':
  build: Load makefiles in the same order with Make 4.0
2015-08-07 20:20:56 +00:00
Dan Willemsen
b833162296 am 46ed451d: Merge "build: Load makefiles in the same order with Make 4.0"
* commit '46ed451d12272edcb0ada9a8e0ec1f5f6e340ff8':
  build: Load makefiles in the same order with Make 4.0
2015-08-07 00:54:47 +00:00
Dan Willemsen
46ed451d12 Merge "build: Load makefiles in the same order with Make 4.0" 2015-08-07 00:47:51 +00:00
Dan Willemsen
ec224d5072 build: Load makefiles in the same order with Make 4.0
Make 4.0 (and Kati) removed the implicit sort from the $(wildcard)
function. In order to ensure that makefiles are always loaded in the
same order, and an explicit sort.

This shouldn't matter, but some makefiles are modifying variables used
by siblings (LLVM_ROOT_PATH under frameworks/compile). In this case, the
path value still pointed to the same path, it just had extra '..'
references, and was enough to cause the binaries to be different.

Change-Id: Ief6551f999351ee2c193275aaae426dc064f8b34
2015-08-06 15:21:30 -07:00
Christopher Wiley
a3dbe51f42 resolved conflicts for merge of 7d1be400 to mnc-dev-plus-aosp
Change-Id: Ifc2b669bc573f059f35085d11693ea3d2cac11ec
2015-08-05 10:18:16 -07:00
Christopher Wiley
7d1be40047 am 5923fcd0: Merge "Add build rules to generate native DBus interfaces"
* commit '5923fcd02131abfd1bc8f39704edc6c7e8100154':
  Add build rules to generate native DBus interfaces
2015-08-05 15:46:44 +00:00
Christopher Wiley
5923fcd021 Merge "Add build rules to generate native DBus interfaces" 2015-08-05 15:40:00 +00:00
Ying Wang
6eed5fc703 am bd555f15: resolved conflicts for merge of d86f39ca to stage-aosp-master
* commit 'bd555f1523ec3faafe1e3c6cefce9fe0c96090c1':
  Ignore .*.java files when collecting .java files.
2015-08-04 20:44:58 +00:00
Ying Wang
bd555f1523 resolved conflicts for merge of d86f39ca to stage-aosp-master
Change-Id: Ifceb6705eeaaacc9f49788bc0e37a27e398beef0
2015-08-04 13:36:07 -07:00
Ying Wang
4aedea90e8 Ignore .*.java files when collecting .java files.
Bug: 22934689
Change-Id: I6c9cc8f37d09eb190946e596e5d1ba0c3b318088
2015-08-04 12:46:13 -07:00
Christopher Wiley
bc2be461e4 Add build rules to generate native DBus interfaces
With this patch, we can now write Android makefiles like:

include $(CLEAR_VARS)
LOCAL_MODULE := dbus-binding-example
LOCAL_SRC_FILES := main.cpp \
                   dbus-service-config.json \
                   org.example.Daemon.Command.dbus.xml \
                   org.example.Daemon.Manager.dbus.xml
include $(BUILD_EXECUTABLE)

This will cause header files defining native DBus interfaces
to be generated.  These can be included from main.cpp to
easily expose object oriented interface over DBus.

Bug: 22608897
Change-Id: Ic4304ac8de77de74d6955ed17789e5477be9a53e
2015-07-31 11:14:35 -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
ac6e6b347b am 0c0b2e65: Merge "Use unmodified MAKECMDGOALS in ninja.mk."
* commit '0c0b2e659fe52dc1901677b74dc390c52b1b5e3b':
  Use unmodified MAKECMDGOALS in ninja.mk.
2015-07-29 22:11:39 +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
6c4176e2d0 am 8b4d1432: am cd7dfdb4: Merge "Cleanups."
* commit '8b4d1432395733db45e2dfaeee24fe44d3c49bbe':
  Cleanups.
2015-07-23 02:06:39 +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
8b4d143239 am cd7dfdb4: Merge "Cleanups."
* commit 'cd7dfdb4bf3f7d431d2a37908c550a83a282bf22':
  Cleanups.
2015-07-21 23:57:42 +00: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
8c25fd565a am 1d0f6eb1: Merge "Read BUILD_NUMBER from file in rules"
* commit '1d0f6eb115e4fd0093bd3d026264e579689a57c3':
  Read BUILD_NUMBER from file in rules
2015-07-21 19:31:47 +00: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
Colin Cross
af7abc38fc am 0f0a6b62: am 03e74d66: Merge "Move @echo to first command in rules"
* commit '0f0a6b62bf9e06f980d86fbd6afeaad33fef03e5':
  Move @echo to first command in rules
2015-07-17 23:23:01 +00:00
Colin Cross
0f0a6b62bf am 03e74d66: Merge "Move @echo to first command in rules"
* commit '03e74d66c73558b517a56be75acc9a391c676ba8':
  Move @echo to first command in rules
2015-07-17 23:12:41 +00:00
Colin Cross
b6da589f60 Move @echo to first command in rules
Move the @echo command that prints the rule description to be the
first command in each rule so that the kati tool can find it to
use as a ninja rule description.

Change-Id: I90f27c35bb719d327a7f2109f8d00d3589082f19
2015-07-16 17:14:27 -07:00
Ying Wang
c2231e70e3 am e8ecab8d: Merge "Don\'t uncompress/page-align the jni libraries in apps_only build." into mnc-dev
* commit 'e8ecab8d099f465d527f7bc0fbd04f26ac477a93':
  Don't uncompress/page-align the jni libraries in apps_only build.
2015-07-16 19:04:49 +00:00