Commit Graph

674 Commits

Author SHA1 Message Date
Colin Cross 6b66fcf378 Move PDK selection into config.mk
config.mk needs to know TARGET_BUILD_PDK in order to select prebuilt
tools.  Move the selection of TARGET_BUILD_PDK into config.mk.

Change-Id: I1f73c92917887f27259b2db64b3779a2fe0df162
2016-02-01 18:05:07 -08:00
Colin Cross 715172fa26 Merge "Don\'t force color diagnostics outside of ninja" am: 41fed8c082
am: 01394871fd

* commit '01394871fdbc25316a87edca4a09b1075707e572':
  Don't force color diagnostics outside of ninja
2016-02-01 19:40:11 +00:00
Colin Cross 41fed8c082 Merge "Don't force color diagnostics outside of ninja" 2016-02-01 18:57:50 +00:00
Ying Wang dd71c85a45 Support to build with AAPT2
To build with AAPT2, set "USE_AAPT2=true".
TODO: Support split apks and generated resources from other than renderscript.

Bug: 25958912
Change-Id: I19b1a038824ce5b2a3d3ffadbce3173c845193fc
2016-01-25 22:41:43 -08:00
Colin Cross 1398f9d30d Merge "Set flag when using sdk tools in place" am: 41ee5fc07a
am: 11a87113ef

* commit '11a87113ef232c4f615a4c8df74dc28da17bec1e':
  Set flag when using sdk tools in place
2016-01-22 00:16:17 +00:00
Colin Cross d3f3ab77fd Set flag when using sdk tools in place
New version of build/ execute the tools from prebuilts/sdk/tools in
place, old versions copy them to $(HOST_OUT_EXECUTABLES).  build/ and
prebuilts/sdk often use mixed versions, set a flag that
prebuilts/sdk/tools/Android.mk can use to determine when it is using an
old build/ directory.

Change-Id: Iad2f96c35203fd3b0976946d229bfa8ab4acb150
2016-01-20 16:08:49 -08:00
Michael Wright 9dca07efdc Only fail on known-bad grep configurations.
Rather than exit when any grep configuration is set, only fail on ones we know
to be bad. This lets people use benign configuration options such as
--color=auto and --directories=skip.

Bug: 21260618
Change-Id: I3641c7895df4b43e36a983ea6ad877969cd38bf5
2016-01-18 18:13:03 -08:00
Dan Willemsen 543623c2b6 Merge "Add -Werror=date-time to target builds" am: 5c3f812507
am: 9f41040b00

* commit '9f41040b000bf2ea98b70eea6f60a41385d55fe3':
  Add -Werror=date-time to target builds
2016-01-16 20:18:54 +00:00
Dan Willemsen 5c3f812507 Merge "Add -Werror=date-time to target builds" 2016-01-16 20:13:30 +00:00
Colin Cross dbd43849fb Don't force color diagnostics outside of ninja
Building with USE_NINJA=false and piping build output to a file will
result in ANSI color codes in the build output.  Only force ANSI codes
on when building with ninja, which strips the ANSI codes when writing
build output to a non-TTY.

Change-Id: Ifd2fb53799fd99c23b7ad91cdb84d943bf707db0
2016-01-13 14:05:54 -08:00
Ying Wang f0ebe165b9 Generate .c for .y and .l
- For .l/.y source files, generate .c files; for .ll/.yy source files,
  generate c++ files.
- Simplified the rules by adding the generated sources to
  my_generated_sources.
- Simplified generated header file naming by always using .h extension
  with bison's "--defines=" option.
- Removed the unnecesarry conditional inclusion to the generated
  headers. Bison already automatically generates such things.

Bug: 26492989
Change-Id: I9ab6dc149c258f7642bc36c3fa32f90ff7ee51a4
2016-01-12 21:07:27 -08:00
Ying Wang 64088f2459 Generate .c for .y and .l
- For .l/.y source files, generate .c files; for .ll/.yy source files,
  generate c++ files.
- Simplified the rules by adding the generated sources to
  my_generated_sources.
- Simplified generated header file naming by always using .h extension
  with bison's "--defines=" option.
- Removed the unnecesarry conditional inclusion to the generated
  headers. Bison already automatically generates such things.

Bug: 26492989
Change-Id: I9ab6dc149c258f7642bc36c3fa32f90ff7ee51a4
2016-01-11 17:41:56 -08:00
Dan Willemsen eff0611096 Add -Werror=date-time to target builds
The lack of a changing timestamp improves reproducibility of builds, and
helps create smaller OTAs.

Bug: 24204119
Change-Id: I68acfb53be962ffd5c488337517dadb950a13b6f
2016-01-08 16:29:50 -08:00
Shinichiro Hamaji 91bb1b61f8 Merge "Have symbol versions in .so.toc files" am: c610c42b99
am: bb1207f99c

* commit 'bb1207f99c392d0abc3739475a14e3075215ceca':
  Have symbol versions in .so.toc files
2016-01-07 05:23:34 +00:00
Shinichiro Hamaji 2b0caa3a67 Have symbol versions in .so.toc files
Use readelf --dyn-syms instead of nm, filtering out addresses
and sizes of symbols.

Bug: 26412928
Change-Id: I061ffb428076a79c7b255381ae4d4f8a8e7a4bd7
2016-01-06 15:13:25 +09:00
Dan Willemsen 84d7513417 Merge "Prevent changes to COMMON_GLOBAL_C(PP)FLAGS" am: d443abf1aa
am: c4ba49dbec

* commit 'c4ba49dbecfcba5db1976cf52447aaa927741a76':
  Prevent changes to COMMON_GLOBAL_C(PP)FLAGS
2016-01-05 05:53:50 +00:00
Dan Willemsen d443abf1aa Merge "Prevent changes to COMMON_GLOBAL_C(PP)FLAGS" 2016-01-05 05:47:43 +00:00
Piotr Jastrzebski 052a00f64e Use core-oj alongside core-libart wherever required.
With some core classes moved to separate core-oj jar
we need to use the new jar.

(cherry picked from commit 89b94c827f)

Change-Id: I025c0adc70535bf23def3ab0ce28a1bfaef72514
2015-12-24 10:10:55 +00:00
Dan Willemsen 93b8a1294c Prevent changes to COMMON_GLOBAL_C(PP)FLAGS
Reorder the definitions of the core cflags so that we can prevent device
configurations from changing the global C(PP)FLAGS.

There is no reason for devices to be configuring the global cflags -- if
something needs to change for a particular device, that flag should be
defined in the BoardConfig.mk, then used in the individual makefiles
where it is needed. The common global flags also affected host tools,
which should not change between device configurations.

Bug: 26165350
Change-Id: Icece4505ce3d2a9168087d802953378534018d47
2015-12-18 12:57:57 -08:00
Dan Willemsen c915b13a9c Merge "Define __BRILLO__ only for target modules" am: e63d3328df
am: 05177f7cb1

* commit '05177f7cb1e98b23a0c4b8899ba636ef7228e62b':
  Define __BRILLO__ only for target modules
2015-12-16 23:44:55 +00:00
Dan Willemsen 5e637bd05d Merge "Move __BRILLO__ to the core build system" am: 3931873418
am: 152755aa81

* commit '152755aa81354c7c931cb77c71ba3757a40a0cb6':
  Move __BRILLO__ to the core build system
2015-12-16 23:44:49 +00:00
Dan Willemsen de6494b9ae Define __BRILLO__ only for target modules
__ANDROID__ is only defined for target modules, do the same for
__BRILLO__.

Change-Id: Ie1417e1a5b21c051acf05b2bd3bdb3ddd31be878
2015-12-16 15:04:51 -08:00
Dan Willemsen 16e7e0f556 Move __BRILLO__ to the core build system
In preparation for locking down COMMON_GLOBAL_CFLAGS.

Bug: 26165350
Change-Id: Ifdfb7808c1e1b624ffb0f99ab443ec2c5503a81c
2015-12-16 14:28:21 -08:00
Shinichiro Hamaji 7034d9beae Merge "Reduce unnecessary rebuilds of .dex files with restat=1" am: 542aa57f1d
am: 0d4a0a9dd5

* commit '0d4a0a9dd5c1f3528b611862cb9fa81313028d1b':
  Reduce unnecessary rebuilds of .dex files with restat=1
2015-12-15 08:17:56 -08:00
Shinichiro Hamaji f972a4a980 Reduce unnecessary rebuilds of .dex files with restat=1
The .dex.toc files are created by dexdump, which outputs all
information in a .dex file which may affect compilation of
other modules.

For prebuilt java libraries and static java libraries, we'll
output empty .toc files and don't set restat=1. .dex.toc files
are necessary even for static java libraries because they can
be referenced by LOCAL_JAVA_LIBRARIES (instead of
LOCAL_STATIC_JAVA_LIBRARIES).

We don't use this optimization for apps build. We cannot build
dexdump for apps build due to lack of libc++.

Performance:

$ m && touch \
  frameworks/base/core/java/com/google/android/util/Procedure.java \
  && time m
Before: 3m48s
After: 1m46s

Bug: 24597504
Change-Id: Id1665923b414dee705dc60af4c021390a19ea26f
2015-12-14 19:07:34 +09:00
Alex Klyubin c1b31821ef Merge "Make signapk use Conscrypt." am: 7884a63731
am: dfd2199ef6

* commit 'dfd2199ef66dcc162a0165f9a34652ae2877538d':
  Make signapk use Conscrypt.
2015-12-11 10:47:26 -08:00
Alex Klyubin 9667b18f23 Make signapk use Conscrypt.
This makes the signapk tool use Conscrypt (where possible) instead of
the platform-default JCA providers and the Bouncy Castle JCA provider.
This speeds up (by 10-30%) APK and OTA update signing because
Conscrypt's crypto primitives are backed by BoringSSL.

Previously, the signapk tool consisted only of the signapk.jar.
Because Conscrypt is backed by native code, signapk now consists of
signapk.jar and crypto_openjdk_jni shared library. This requires that
users of the tool be updated to provide a suitable -Djava.library.path
argument to the Java runtime. This change updates all known users of
the tool inside the Android source tree to do so.

Bug: 26097626
Change-Id: I8411b37d7f771ed99269751a3007dff103083552
2015-12-11 08:36:42 -08:00
Colin Cross 7eae1599e2 Merge "Remove extra definition of AIDL" am: 77f411e116 am: b275dd1623
am: 934e131465

* commit '934e1314658b30aa8ca22766a3404ff6955d4ece':
  Remove extra definition of AIDL
2015-12-04 17:16:34 +00:00
Colin Cross a8b896856a Remove extra definition of AIDL
AIDL is defined in the sometimes-prebuilt tools section, remove the
extra definition that was overriding it.

Change-Id: I677bf46475fd5fd4a9258c77d91ecee806e5f205
2015-12-03 13:33:11 -08:00
Colin Cross 0559943edb Merge "Use prebuilt tools in place" am: 50e0646dbe am: 8581e58b3b
am: 64747f5101

* commit '64747f5101f3a4f2385faa493643a513bd67a557':
  Use prebuilt tools in place
2015-12-03 20:24:30 +00:00
Colin Cross d2163bac6b Merge "Provide path to mainDexClasses" am: 62e99632c6 am: 4e7bf63314
am: 7e68aa8251

* commit '7e68aa8251afde9f885b7961aff5bbbabe840031':
  Provide path to mainDexClasses
2015-12-03 01:22:29 +00:00
Colin Cross fd08247bcf Use prebuilt tools in place
Don't install the prebuilt SDK tools for TARGET_BUILD_APPS builds, just
execute them in place.  Avoids issues with duplicate rules for the
prebuilts and source modules when building with TARGET_BUILD_APPS in a
full platform tree.

Change-Id: I3cdb4f1a8208e8750310a5cc6130657613b683d1
2015-12-02 17:12:38 -08:00
Colin Cross f87e971606 Provide path to mainDexClasses
Set MAINDEXCLASSES to the path to mainDexClasses.

Change-Id: I82532e8ea8dc7349178347e080fa0c63078ca9f5
2015-12-02 16:25:49 -08:00
Colin Cross f344fe0850 Merge changes I1de10391,I4399ca26,Iec3b2b0b am: bff3c9b4c1 am: bae8872294
am: dbeab8de65

* commit 'dbeab8de6543db1d0393789cb18ee7fd7ed8fedd':
  Use libstdc++ for ijar
  Build ijar for apps build
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-12-01 00:07:45 +00:00
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 d973ed9f47 Merge "Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"" am: 2ff3ad9045 am: 51ef51c4ad
am: 371b8c7f77

* commit '371b8c7f770f8215e6bda1433e5f236c106b4e64':
  Revert "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files"
2015-11-27 04:07:51 +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
Shinichiro Hamaji 534bd29363 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files" am: c9a1b27845 am: 27770abe27
am: b42da32564

* commit 'b42da32564886ab7d3d5a2518b6868cd8fab9c78':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of .jar files
2015-11-26 05:37:01 +00:00
Michael Wright 0fb087fc73 Add new Test API for CTS testing.
Bug: 25608286
Change-Id: I0334061b548970959e46392dc3a1feed8533548c
2015-11-25 11:38:44 +00:00
Piotr Jastrzebski 89b94c827f Use core-oj alongside core-libart wherever required.
With some core classes moved to separate core-oj jar
we need to use the new jar.

Change-Id: Ie069c7a93e63b1df854b3137d984b96520562609
2015-11-20 13:53:22 +00: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
Shinichiro Hamaji 93ee2b5869 Merge "Allow missing SONAME in .toc files" am: 457345e58c am: 7070e5dc59
am: ad397422b4

* commit 'ad397422b4da3f5faff4e2ca69d4596b97e4bd61':
  Allow missing SONAME in .toc files
2015-11-05 04:11:52 +00:00
Shinichiro Hamaji f0972f7966 Allow missing SONAME in .toc files
At least one shared object in internal repo doesn't have
SONAME entry in its dynamic segment because it is created by
objcopy instead of a linker.

Change-Id: If7106da022ff1e4e925191402f9072795dc3ddcb
2015-11-05 12:51:08 +09:00
Shinichiro Hamaji 4f23722dd9 Merge "Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries" am: 2f8ffa61be am: 7557ad2bbd
am: 506c43c871

* commit '506c43c87193433533245150673f5d386aa10953':
  Use .KATI_RESTAT to reduce unnecessary rebuilds of binaries
2015-11-05 01:33:46 +00: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 a1b3290c0b Merge "Don\'t use ziptime with unbundled builds" am: 29a6675983 am: 3665246dcb
am: 8ccf645f94

* commit '8ccf645f94c0b21c6407576df0ba0990d96167b1':
  Don't use ziptime with unbundled builds
2015-11-04 00:47:24 +00: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 641e8888fa Merge "Remove changing uids/timestamps from zip/jar files" am: a0975edc16
am: c789be850c

* commit 'c789be850ca14b945e72412457991d7a5e13126e':
  Remove changing uids/timestamps from zip/jar files
2015-11-03 23:43:30 +00:00
Dan Willemsen a0975edc16 Merge "Remove changing uids/timestamps from zip/jar files" 2015-11-03 21:38:45 +00:00
Ying Wang f0b5cd2de6 Merge "Don\'t check the host JDK tools when build/core/config.mk is called from envsetup.sh." am: a63d379aab am: fb89fd36b2
am: 88f5d25be1

* commit '88f5d25be1b0756db65b34114929b4dd0bc5f05c':
  Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
2015-11-03 00:49:23 +00:00
Ying Wang 7fcd2f9086 Don't check the host JDK tools when build/core/config.mk is called from envsetup.sh.
Envsetup.sh (lunch) relies on config.mk to get build varaible values; while
config.mk may rely on envsetup.sh to set up JAVA_HOME/PATH.
Without this change config.mk may be checking the host JDK tools before
JAVA_HOME/PATH get set up.

Change-Id: I1e6b5e33147258832ce2f0a425f9526ef4782c43
2015-11-02 16:00:47 -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
Ying Wang 471bf958cd Merge "Normalize the product makefile path in inherit-product." am: aabff90bfe am: 3482ea54a2
am: 4f5e8cc3ca

* commit '4f5e8cc3ca6da83f11bf42d04f1a57b9af16a582':
  Normalize the product makefile path in inherit-product.
2015-10-29 00:02:58 +00:00
Ying Wang a174261042 Normalize the product makefile path in inherit-product.
Some vendor product makefiles call $(inherit-product) on the same
product makefile with different paths, by using "../" in relative paths.
However inherit-product requires unique path as ID for a product
makefile, for bookkeeping purpose.
Normalize the product makefile path in inherit-product, if the path
contains "../".

Change-Id: I1a864ce120c713d8e79ec179213b9fc9352aba53
2015-10-28 15:20:41 -07:00
Colin Cross a9373f8e24 Merge "Error out early on nonstandard JDK directory layouts" am: 506113d267 am: e95cf75293
am: 1ac51c013e

* commit '1ac51c013e134c7a22580f9020e3b89851153a7e':
  Error out early on nonstandard JDK directory layouts
2015-10-27 23:27:47 +00:00
Colin Cross 506113d267 Merge "Error out early on nonstandard JDK directory layouts" 2015-10-27 19:12:40 +00:00
Colin Cross 112753ca55 Error out early on nonstandard JDK directory layouts
On Darwin, javac may be located in a nonstandard directory layout such as:
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
The sed command to replace bin/javac with lib/tools.jar would fail to
match, resulting in the HOST_JDK_TOOLS_JAR being set to the javac path.
Since javac exists, the checks for missing tools.jar would all pass, and
javac would be added to the classpath instead of tools.jar, and causing
hard to debug errors about missing com.sun.javadoc when building doclava.

Change the sed command to replace /javac$, which should always be found,
with /../lib/tools.jar.

Change-Id: I5072f04636a5c14b3aeaa3a5cc3b366feae89c37
2015-10-23 19:00:43 -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
Ying Wang 2af4d1ad2c 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-22 16:35:10 -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
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
Andreas Gampe 36047501aa Merge "Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting" am: 6c45f4493e am: 3c131856ee
am: 92a73a0f6c

* commit '92a73a0f6c0c768d4bc612106e0c6ddcb7fb2846':
  Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting
2015-10-20 23:59:45 +00:00
Dan Willemsen 7be79bfa64 Merge "Stop encoding absolute paths in symbols" am: 9f576acde6 am: b93e8250d7
am: 05af959fbe

* commit '05af959fbe4846ed5df4d74bd838042a8db9a818':
  Stop encoding absolute paths in symbols
2015-10-20 23:59:05 +00:00
Andreas Gampe 6c45f4493e Merge "Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting" 2015-10-20 23:37:36 +00:00
Dan Willemsen 9f576acde6 Merge "Stop encoding absolute paths in symbols" 2015-10-20 20:46:21 +00:00
Christopher Wiley 597f384fb3 Merge "Invoke the aidl-cpp compiler to generate C++" am: ba39c5690a am: 487cc7beaf
am: 9c694a6242

* commit '9c694a6242a969e27fbd4f043fa7f43ef301b461':
  Invoke the aidl-cpp compiler to generate C++
2015-10-20 20:14:50 +00:00
Andreas Gampe 847b00bf1b Build: Fix DEX2OAT_TARGET_CPU_VARIANT setting
The secondary variant fallback was not set. The build system expects
the variants, so system properties were malformed for x86-64:

  [dalvik.vm.isa.x86.variant]: [dalvik.vm.isa.x86.features=default]

Bug: 24989387
Change-Id: Idbf54f81494f2650ad56080305807fd6b7ed4161
2015-10-19 18:21:18 -07: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
Sami Tolvanen a749f91191 am 6a14ba31: am 58a748d3: am 87f58261: Merge "Error correction: Append codes to verified partitions"
* commit '6a14ba317cea22f16db3bb76cb818fd7322b8253':
  Error correction: Append codes to verified partitions
2015-10-19 10:07:21 +00: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
Sami Tolvanen f99b53143d Error correction: Append codes to verified partitions
Append error-correcting codes to verified partitions provided that
PRODUCT_SUPPORTS_VERITY_FEC is true.

This moves verity metadata to be after the hash tree, and requires
matching changes from
  Ide48f581bbba77aed6132f77b309db71630d81ed

Bug: 21893453
Change-Id: I6945cbab99e214566a1f9d3702333f2dbbc35816
2015-10-14 18:06:20 +01:00
Yohann Roussel b68c9a498d 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

Change-Id: Ie8120c97e0fa10953d4d015afd27aacfac80e5b6
2015-10-14 11:32:45 +02:00
Colin Cross 27800cb109 am acf00a8c: am d98fe91a: am 6b02b76a: Merge "Fix gcc color diagnostics"
* commit 'acf00a8c1756f68729b2142db7cfea81a59765e1':
  Fix gcc color diagnostics
2015-10-03 00:56:43 +00:00
Colin Cross d98fe91a75 am 6b02b76a: Merge "Fix gcc color diagnostics"
* commit '6b02b76ab9ebb5c21743abc5616379d19bc1c304':
  Fix gcc color diagnostics
2015-10-03 00:43:23 +00:00
Colin Cross 12adaf5cb9 Fix gcc color diagnostics
gcc color diagnostics stopped working when the flag was moved to
TARGET_GLOBAL_CFLAGS, as that gets overwritten by combo/select.mk.  Put
it back in COMMON_GLOBAL_CFLAGS, and then let the windows build filter
it out, similar to the way clang deals with unknown flags.

Change-Id: I2db221edb893d81f199494e7515d1b9282c12fae
2015-10-02 16:42:10 -07:00
Stephen Hines 774af2fcc7 am 46eac312: am ba2355c9: resolved conflicts for 9073a5d9 to stage-aosp-master
* commit '46eac3120a7b2b317984c2f8b3c0f955706334e7':
  Fix RS NDK usage so we always pull from "current" instead of NDK 8.
2015-10-01 05:43:43 +00:00
Stephen Hines ba2355c981 resolved conflicts for 9073a5d9 to stage-aosp-master
Change-Id: I9b048cb5fe70215a67ef025e8c7ef6aad86cffb3
2015-09-30 22:32:05 -07:00
Stephen Hines d11c18a4b0 Fix RS NDK usage so we always pull from "current" instead of NDK 8.
The 8 in this definition refers to NDK release 8, not the API level 8.
Setting it to "current" is better, since it still contains the relevant
target API level (9 in our case) for using/building our RS support APIs.

Change-Id: Ib216ea859e137643fba81c39c4b9d0077ec04455
2015-09-28 18:07:21 -07:00
Colin Cross ee45420799 am ffd25c7f: am 84494473: am aaa9d8dc: Merge "Fix windows build"
* commit 'ffd25c7f1445df9d6b8c28ada7b2174c6827ddcf':
  Fix windows build
2015-09-26 00:28:02 +00:00
Colin Cross 8449447384 am aaa9d8dc: Merge "Fix windows build"
* commit 'aaa9d8dc0aba0446fb11238f2aa869ce0b33df2f':
  Fix windows build
2015-09-26 00:15:44 +00:00
Colin Cross 309b420d56 Fix windows build
The windows toolchain doesn't support color, only apply
-fdiagnostics-color to HOST and TARGET, not HOST_CROSS.

Change-Id: I17b999a2852b8d70b2d39a58befa10e2e32c4608
2015-09-25 17:00:14 -07:00
Colin Cross ad9b8f7ce7 am 6edd4cca: am ba9bc4d7: am 0d97557d: Merge "Enable color output from gcc and clang"
* commit '6edd4ccad3419c336cb5198b5353390b7a292c82':
  Enable color output from gcc and clang
2015-09-25 23:28:43 +00:00
Colin Cross ba9bc4d70f am 0d97557d: Merge "Enable color output from gcc and clang"
* commit '0d97557d3d6f56cf6dfdb7552d4f1471d56dfabe':
  Enable color output from gcc and clang
2015-09-25 23:17:02 +00:00
Colin Cross 63e3b0294f Enable color output from gcc and clang
Force gcc and clang to always output color diagnostics.  Ninja will
strip the ANSI color codes if it is not running in a terminal.

Bug: 24273983
Change-Id: Ic9252549bfacf3bbb3f4b9d20f63010fc24ac21d
2015-09-24 22:39:17 -07:00
Steve Fung 467b79fac2 am 290b6707: am f3ec8272: am fdec88c9: Merge "Generate breakpad symbols"
* commit '290b670724fd20742a258f61dc9ab798ece13bf1':
  Generate breakpad symbols
2015-09-25 00:15:00 +00:00
Steve Fung f3ec82729a am fdec88c9: Merge "Generate breakpad symbols"
* commit 'fdec88c9726687f98448ccff7670bc843f77bf66':
  Generate breakpad symbols
2015-09-25 00:03:21 +00:00
Steve Fung cb2e67fdb7 Generate breakpad symbols
When BREAKPAD_GENERATE_SYMBOLS is set to true, generate breakpad
symbols for binaries.

Bug: 23900817
Change-Id: I7b992d819350f4f80df5868d16f13016502dfca0
2015-09-24 16:49:40 -07:00
Dan Willemsen 1758c0c27d am 0d1d74e4: am 6ad76ef5: am 58350dee: Merge "Don\'t add CFLAGS to CPPFLAGS"
* commit '0d1d74e4e6a01c93528a3f89ae10ec3444d559a4':
  Don't add CFLAGS to CPPFLAGS
2015-09-24 04:17:38 +00:00
Dan Willemsen 6ad76ef571 am 58350dee: Merge "Don\'t add CFLAGS to CPPFLAGS"
* commit '58350dee77bbfadaea7bce9ee83555dba4963d92':
  Don't add CFLAGS to CPPFLAGS
2015-09-24 02:20:36 +00:00
Dan Willemsen 3ad3549519 Don't add CFLAGS to CPPFLAGS
Except for kati, we never use COMMON_GLOBAL_CPPFLAGS without also using
COMMON_GLOBAL_CFLAGS, which leads to duplicate command line entries.

Change-Id: I25d625924e9d157175a9e88bc3f15b7214cfb4ed
2015-09-23 16:23:02 -07:00
Ying Wang 9094c1d0e5 am 8767ff3b: am f695144f: am 56dca5b5: Merge "Use md5sum as the build.ninja filename suffix if the suffix gets too long."
* commit '8767ff3bb83b60af32c13b8d2407b5a7d34bf235':
  Use md5sum as the build.ninja filename suffix if the suffix gets too long.
2015-09-23 00:03:48 +00:00
Ying Wang f695144fd4 am 56dca5b5: Merge "Use md5sum as the build.ninja filename suffix if the suffix gets too long."
* commit '56dca5b5408834ff36455d8112e737e968bb6320':
  Use md5sum as the build.ninja filename suffix if the suffix gets too long.
2015-09-22 23:50:34 +00:00
Ying Wang 127da9e4aa Use md5sum as the build.ninja filename suffix if the suffix gets too long.
Use md5sum as the build.ninja filename suffix if the suffix is longer
than 64 characters. Also store the original suffix in a corresponding
.suf file for human lookup.
This fixes the "File name too long" error when kati tries to write to
build.ninja with the long original suffix.

Bug: 24302576
Change-Id: Ie04b0c14e1a9d593aa5c2a6b357b19a9e8a7158e
2015-09-22 16:16:12 -07:00
Dan Albert cb8dda5a5b am d897bc6e: am 1721cbcb: am 30b32620: Merge "Revert "Don\'t re-export libgcc symbols from every object.""
* commit 'd897bc6e10c2ddf569d79b8fda17e3490a18efe3':
  Revert "Don't re-export libgcc symbols from every object."
2015-09-21 20:00:49 +00:00
Dan Albert 1721cbcb0d am 30b32620: Merge "Revert "Don\'t re-export libgcc symbols from every object.""
* commit '30b326206ba0148da32c1419f210bd6e6890236d':
  Revert "Don't re-export libgcc symbols from every object."
2015-09-21 19:40:55 +00:00
Dan Albert 5408ff73d6 Revert "Don't re-export libgcc symbols from every object."
For some reason shamu doesn't boot after this change.

Bug: http://b/24166967

This reverts commit e92d25f296.

Change-Id: Ibd90c0fccb1fe7446f959c937963d1aa4e43c37c
2015-09-21 19:19:02 +00:00
Dan Albert 491897ba74 am 823a9c8c: am 5397ba55: am 000e1a97: Merge "Don\'t re-export libgcc symbols from every object."
* commit '823a9c8c47c8d940c00c9a2cb6a653dc67fb64a7':
  Don't re-export libgcc symbols from every object.
2015-09-18 17:45:55 +00:00
Dan Albert 5397ba5584 am 000e1a97: Merge "Don\'t re-export libgcc symbols from every object."
* commit '000e1a973ec83cb2af644ce72a46f1c026299a7d':
  Don't re-export libgcc symbols from every object.
2015-09-18 17:29:22 +00:00
Dan Albert e92d25f296 Don't re-export libgcc symbols from every object.
Target modules shouldn't re-export libgcc.a because we don't want
other binaries importing them when they should be getting their own
copy of the builtins.

Bug: http://b/24166967
Change-Id: Iaa208933885375da4a8e1b8935f76e9f3ea0647f
2015-09-17 17:18:12 -07:00
Dan Willemsen 7586773bc5 am 3cf749c7: am c98d9a9d: am f1c09d7f: Merge "Add HOST_CROSS_OS"
* commit '3cf749c78a7d97ed41b0a8f3ee3598738d6d543d':
  Add HOST_CROSS_OS
2015-09-09 18:37:20 +00: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
Elliott Hughes 140bd3f0f6 am f06a2d3b: am f04f391b: am 4548e7f4: Merge "Remove AndroidConfig.h."
* commit 'f06a2d3b63c56a35db89a273a80329c56713a7e3':
  Remove AndroidConfig.h.
2015-08-28 20:22:42 +00:00
Elliott Hughes f04f391b5f am 4548e7f4: Merge "Remove AndroidConfig.h."
* commit '4548e7f49dbec05c8b8187b0ea9e746fc47ec5d3':
  Remove AndroidConfig.h.
2015-08-28 19:59:18 +00:00
Elliott Hughes 43146118aa Remove AndroidConfig.h.
This change leaves soong references.

Change-Id: Iee32b6b97ad9711f69e999c9d01f01d71562b63f
2015-08-28 10:31:28 -07:00
Shinichiro Hamaji dbdbe585f2 am 132f6dea: am b3cd0a56: am 39c7d243: Merge "Use goma when USE_GOMA=true is set"
* commit '132f6dea3e3ac3856713eb0c869ad63c9b58f953':
  Use goma when USE_GOMA=true is set
2015-08-21 03:43:47 +00:00
Shinichiro Hamaji 8a0607f069 am b3cd0a56: am 39c7d243: Merge "Use goma when USE_GOMA=true is set"
* commit 'b3cd0a566391726a69d9f0e439268f4caf5df7db':
  Use goma when USE_GOMA=true is set
2015-08-21 03:36:12 +00:00
Shinichiro Hamaji 132f6dea3e am b3cd0a56: am 39c7d243: Merge "Use goma when USE_GOMA=true is set"
* commit 'b3cd0a566391726a69d9f0e439268f4caf5df7db':
  Use goma when USE_GOMA=true is set
2015-08-21 03:36:07 +00:00
Shinichiro Hamaji b3cd0a5663 am 39c7d243: Merge "Use goma when USE_GOMA=true is set"
* commit '39c7d243395ad3f2015571aaf902dc4d4686e981':
  Use goma when USE_GOMA=true is set
2015-08-21 03:29:49 +00:00
Shinichiro Hamaji ee482fd521 Use goma when USE_GOMA=true is set
With USE_GOMA, the path to gomacc in $GOMA_DIR or $HOME/goma
will be appended to CC_WRAPPER and CXX_WRAPPER.

Note this works only with USE_NINJA. Unlike ninja, GNU make
cannot change the parallelism depending on targets. Specifying
-j500 to GNU make would mean you may run 500 local jobs in
parallel, but with -j32 goma will just slow down the build.

Change-Id: I0f571454fd2a5b525ee29b445f7ab8715927ca00
2015-08-20 14:33:44 +09:00
Dan Willemsen bb410f4c45 am 6d65635e: am 48d95e75: am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '6d65635ef70186edae65cd7a7b56f885fbddd3bc':
  Remove legacy windows platform build support
2015-08-18 04:49:30 +00:00
Dan Willemsen 6d65635ef7 am 48d95e75: am 05d97fe7: Merge "Remove legacy windows platform build support"
* commit '48d95e752536dc7a81c141e435e8a90b7929cf02':
  Remove legacy windows platform build support
2015-08-18 04:43:06 +00: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 05d97fe723 Merge "Remove legacy windows platform build support" 2015-08-18 04:31:07 +00:00
Dan Willemsen dd122b1ea2 am 014719fc: resolved conflicts for merge of 05fae7e0 to mnc-dr-dev-plus-aosp
* commit '014719fcfc240910fa216c39826b95d712468183':
  Use repeatable timestamps
2015-08-18 04:15:47 +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 014719fcfc resolved conflicts for merge of 05fae7e0 to mnc-dr-dev-plus-aosp
Change-Id: I32919ab1e3cd5f84d09180125a7294bcfa35549e
2015-08-17 20:44:29 -07:00
Dan Willemsen 05fae7e0be am e6510750: Merge "Use repeatable timestamps"
* commit 'e65107508adbea88fcc1ec51dcf28d4216365753':
  Use repeatable timestamps
2015-08-18 03:35:44 +00:00
Dan Willemsen e65107508a Merge "Use repeatable timestamps" 2015-08-18 03:30:11 +00:00
Dan Albert 2e4fa4baf8 am cce8d98c: am 9496ef90: am c0018b04: Merge "Add BUILD(_HOST)?_FUZZ_TEST."
* commit 'cce8d98c6bd5da5a584e69c348550cde6a065b8d':
  Add BUILD(_HOST)?_FUZZ_TEST.
2015-08-17 22:55:28 +00:00
Dan Albert cce8d98c6b am 9496ef90: am c0018b04: Merge "Add BUILD(_HOST)?_FUZZ_TEST."
* commit '9496ef903ff9402859ac82cc339708c15fcd30f6':
  Add BUILD(_HOST)?_FUZZ_TEST.
2015-08-17 22:46:49 +00:00
Dan Albert c0ad316183 am 9496ef90: am c0018b04: Merge "Add BUILD(_HOST)?_FUZZ_TEST."
* commit '9496ef903ff9402859ac82cc339708c15fcd30f6':
  Add BUILD(_HOST)?_FUZZ_TEST.
2015-08-17 22:46:38 +00:00
Dan Albert 9496ef903f am c0018b04: Merge "Add BUILD(_HOST)?_FUZZ_TEST."
* commit 'c0018b04e984180122ab615d8dbea09a3230ef7f':
  Add BUILD(_HOST)?_FUZZ_TEST.
2015-08-17 22:39:25 +00:00
Dan Albert 36b6f0472f Add BUILD(_HOST)?_FUZZ_TEST.
These are tests that use LLVM's libFuzzer for testing with a
sanitizer.

Bug: http://b/22850550
Change-Id: I6eeaff7877b7dd0c30f8910c6f27f5278b27a83d
2015-08-17 14:39:27 -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
Neil Fuller a0f07b028f am 9354dbac: am 5f198440: am bc7680c4: Merge "Include the okhttp.jar when compiling against internal classes"
* commit '9354dbac7e06c9e2da288d8f7173e13a7b5c21e8':
  Include the okhttp.jar when compiling against internal classes
2015-08-13 10:58:19 +00:00
Neil Fuller 9354dbac7e am 5f198440: am bc7680c4: Merge "Include the okhttp.jar when compiling against internal classes"
* commit '5f19844067af27906828af7caed8e8b9c09cac4a':
  Include the okhttp.jar when compiling against internal classes
2015-08-13 10:51:27 +00:00
Neil Fuller 53d1632681 am 5f198440: am bc7680c4: Merge "Include the okhttp.jar when compiling against internal classes"
* commit '5f19844067af27906828af7caed8e8b9c09cac4a':
  Include the okhttp.jar when compiling against internal classes
2015-08-13 10:51:04 +00:00
Neil Fuller 5f19844067 am bc7680c4: Merge "Include the okhttp.jar when compiling against internal classes"
* commit 'bc7680c4d7a94cfafcc3c925f0fbf134bc1dfcb8':
  Include the okhttp.jar when compiling against internal classes
2015-08-13 10:46:46 +00:00
Neil Fuller bc7680c4d7 Merge "Include the okhttp.jar when compiling against internal classes" 2015-08-13 10:40:39 +00:00
Neil Fuller f39a25bc28 Include the okhttp.jar when compiling against internal classes
If LOCAL_SDK_VERSION is unset we were compiling against
core-libart but not okhttp.

okhttp should be an implementation detail but
android.net.http.HttpResponseCache implements
com.android.okhttp.OkCacheContainer.

The OpenJDK 8 version of of javac now requires all interfaces of
implemented classes be made available at compile time even with
-source 1.7 -target 1.7.

This is not an issue when compiling against the android.jar because
the implementation of HttpResponseCache in the android.jar does not
implement com.android.okhttp.OkCacheContainer.

Bug: 23099154
Change-Id: I3fa1d0f73535b396623fed953cfc71189b797849
2015-08-12 09:30:58 +01: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 8e29bba8c3 am ec5e3aae: resolved conflicts for merge of b184ec2a to mnc-dr-dev-plus-aosp
* commit 'ec5e3aae6d8c89a5f6ca0a34fcdfc72e9a611188':
  Revert "Use repeatable timestamps"
2015-08-12 01:38:06 +00: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 a635da13b2 am a3b91e62: resolved conflicts for merge of c576c08f to mnc-dr-dev-plus-aosp
* commit 'a3b91e621c4ca1708fa2572e05e8ac5b0f4b5d17':
  Use repeatable timestamps
2015-08-12 01:28:03 +00:00
Dan Willemsen ec5e3aae6d resolved conflicts for merge of b184ec2a to mnc-dr-dev-plus-aosp
Change-Id: I90ac0f467ff13a038f27581cb2d07b1c5af5bd92
2015-08-11 18:27:02 -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 a3b91e621c resolved conflicts for merge of c576c08f to mnc-dr-dev-plus-aosp
Change-Id: I86f6d0e7b9def5afa618915e7249c6758a5f0d1b
2015-08-11 18:11:48 -07:00
Dan Willemsen b184ec2a82 am 608aa91d: Merge "Revert "Use repeatable timestamps""
* commit '608aa91db7ef1c131e2c49b0ffd39851ff2b6e9d':
  Revert "Use repeatable timestamps"
2015-08-12 01:07:44 +00:00
Dan Willemsen 608aa91db7 Merge "Revert "Use repeatable timestamps"" 2015-08-12 01:02:19 +00: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 c576c08fd5 am 671b8ff5: Merge "Use repeatable timestamps"
* commit '671b8ff5457472631f805f3230273e5e8121b28a':
  Use repeatable timestamps
2015-08-12 00:55:21 +00:00
Dan Willemsen 671b8ff545 Merge "Use repeatable timestamps" 2015-08-12 00:49:26 +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
Dan Albert 75c9fb9864 am 070961e6: am 96f480c9: am 4f20869b: Merge "Bump the default C++ standard up to C++14."
* commit '070961e6f2b462367dea3b3e2ad50259fbcf29fc':
  Bump the default C++ standard up to C++14.
2015-08-10 21:02:12 +00:00
Dan Albert 070961e6f2 am 96f480c9: am 4f20869b: Merge "Bump the default C++ standard up to C++14."
* commit '96f480c93a318fc6550ef2c4d13e6e67574bfb96':
  Bump the default C++ standard up to C++14.
2015-08-10 20:54:01 +00:00
Dan Albert 92d6efc595 am 96f480c9: am 4f20869b: Merge "Bump the default C++ standard up to C++14."
* commit '96f480c93a318fc6550ef2c4d13e6e67574bfb96':
  Bump the default C++ standard up to C++14.
2015-08-10 20:53:59 +00:00
Dan Albert 96f480c93a am 4f20869b: Merge "Bump the default C++ standard up to C++14."
* commit '4f20869b1faa07ee0f615ee9087b91ef11e2d6e4':
  Bump the default C++ standard up to C++14.
2015-08-10 20:48:48 +00:00
Dan Albert c7d307d873 Bump the default C++ standard up to C++14.
This also drops the NDK default back to C++98 (or C++11 for code using
libc++). The platform NDK build should match the normal NDK build.

Bug: http://b/23043421
Change-Id: I3a336767ce271e84f4dfdebdadb3a98e5689def9
2015-08-10 13:37:42 -07:00
Christopher Wiley fe4f4de105 am 422e972b: resolved conflicts for merge of 7d1be400 to mnc-dr-dev-plus-aosp
* commit '422e972b0548a7f3d2b76e6a5ec9dd77c05283cb':
  Add build rules to generate native DBus interfaces
2015-08-05 20:35:50 +00:00
Christopher Wiley 422e972b05 resolved conflicts for merge of 7d1be400 to mnc-dr-dev-plus-aosp
Change-Id: I2c62de9beb50ea1661b114a9d02b11ba73a28d82
2015-08-05 10:20:42 -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 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 4253434fed am 9ed5072a: am ac6e6b34: am 0c0b2e65: Merge "Use unmodified MAKECMDGOALS in ninja.mk."
* commit '9ed5072a004c89bddfe0a370c4022ae7a30c3469':
  Use unmodified MAKECMDGOALS in ninja.mk.
2015-07-30 00:30:11 +00:00
Ying Wang 9ed5072a00 am ac6e6b34: am 0c0b2e65: Merge "Use unmodified MAKECMDGOALS in ninja.mk."
* commit 'ac6e6b347b49b4c15df1f1b2869f2c386f2755d6':
  Use unmodified MAKECMDGOALS in ninja.mk.
2015-07-30 00:16:16 +00: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
Miao Wang 13276144c2 am c2dd225a: am 473a832d: am 489d3ea7: am 1a30e036: am 302e944c: [RenderScript] Set RS_PREBUILT_LIBPATH for 64bit targets.
* commit 'c2dd225a9fdfb85a0de81389c471c074b870907f':
  [RenderScript] Set RS_PREBUILT_LIBPATH for 64bit targets.
2015-07-29 22:03:10 +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
Miao Wang c2dd225a9f am 473a832d: am 489d3ea7: am 1a30e036: am 302e944c: [RenderScript] Set RS_PREBUILT_LIBPATH for 64bit targets.
* commit '473a832dc4f32239663b3b370fc5847e86f4a208':
  [RenderScript] Set RS_PREBUILT_LIBPATH for 64bit targets.
2015-07-29 19:13:16 +00:00
Miao Wang a0abfc6105 am 302e944c: [RenderScript] Set RS_PREBUILT_LIBPATH for 64bit targets.
* commit '302e944c6034060eb7ff51ea2a3abe740cf2c9b7':
  [RenderScript] Set RS_PREBUILT_LIBPATH for 64bit targets.
2015-07-29 18:04:08 +00:00
Miao Wang 302e944c60 [RenderScript] Set RS_PREBUILT_LIBPATH for 64bit targets.
Bug: 22796994
Bug: 22693954

This change fixes the RS_PREBUILT_LIBPATH when used with 64-bit target
devices. It also fixes an issue where the target RenderScript API is
below 21 for 64-bit compilation. In those cases, we should always
upconvert it to 21 (since that is the first available 64-bit release).

Change-Id: I27e9d0bd5c01bac0b3b28e9002333264a55d628f
2015-07-28 19:30:20 -07:00
Ying Wang 6c4176e2d0 am 8b4d1432: am cd7dfdb4: Merge "Cleanups."
* commit '8b4d1432395733db45e2dfaeee24fe44d3c49bbe':
  Cleanups.
2015-07-23 02:06:39 +00:00
Yohann Roussel 23f78643b9 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-07-22 15:22:22 +00:00
Ying Wang 9e612d6d7c am 960424bc: am 8b4d1432: am cd7dfdb4: Merge "Cleanups."
* commit '960424bc31ae8072c300681c40bfeb1035e091d1':
  Cleanups.
2015-07-22 00:26:18 +00:00
Ying Wang 960424bc31 am 8b4d1432: am cd7dfdb4: Merge "Cleanups."
* commit '8b4d1432395733db45e2dfaeee24fe44d3c49bbe':
  Cleanups.
2015-07-22 00:12:18 +00: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
Ying Wang 83e8cad45f am 4169f10c: am b22469a8: am 65259743: Merge "Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]"
* commit '4169f10c97e5a8ab500e6033d6278c68bd821df5':
  Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
2015-07-21 21:49:35 +00:00
Ying Wang 4169f10c97 am b22469a8: am 65259743: Merge "Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]"
* commit 'b22469a8c50510e141a74932acc3fa17a9dd356c':
  Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
2015-07-21 21:36:46 +00:00
Ying Wang b22469a8c5 am 65259743: Merge "Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]"
* commit '65259743e45886a2941771716b92db91de35ea8c':
  Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
2015-07-21 21:22:53 +00:00
Ying Wang 57d9060ffd Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
- Don't overwrite [TARGET|HOST]_[CC|CXX] with the [CC|CXX]_WRAPPER prefix,
  so that we can disable the wrapper per module.
- Disable ccache on a module when FDO is enabled.

Bug: 22612634
Change-Id: Ibc04a4742d589955066c7eceb43a0da9a2b893bc
(cherry-pick from commit c671a7cf5c)
2015-07-21 14:07:50 -07:00
Ying Wang c7a57e0756 am c671a7cf: Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
* commit 'c671a7cf5cae42b61991d9b72e53d9d8a6ace84e':
  Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
2015-07-21 21:01:37 +00:00
Yohann Roussel b3b6348921 Revert "Clean call-jack and its callers"
This reverts commit 4c1fc77c2e.

Change-Id: I4f5e3ec1e6fea66f315a9411db17de257817dcc9
2015-07-21 16:45:51 +00:00
Ying Wang c671a7cf5c Split [CC|CXX]_WRAPPER from [TARGET|HOST]_[CC|CXX]
- Don't overwrite [TARGET|HOST]_[CC|CXX] with the [CC|CXX]_WRAPPER prefix,
  so that we can disable the wrapper per module.
- Disable ccache on a module when FDO is enabled.

Bug: 22612634
Change-Id: Ibc04a4742d589955066c7eceb43a0da9a2b893bc
2015-07-20 21:26:53 -07:00
Yohann Roussel 4c1fc77c2e 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: I5dce864624e97c27441a5ee7f8c3cd582613390e
2015-07-21 00:22:45 +02:00
Yohann Roussel 5863a7cf63 Revert "Clean call-jack and its callers"
This reverts commit 5e50b34221.

Change-Id: Ibf76cc454994c7ad84128ac923d39794d46a04ec
2015-07-04 12:11:09 +00:00
Yohann Roussel 5e50b34221 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.

Change-Id: I28b5f7176747853ef707b8d4055017bf60296641
2015-07-03 11:58:38 +02:00
Mohamad Ayyash af094912eb am 19cfe7db: Merge "Add img2simg in host and ota packages"
* commit '19cfe7db4ce414ce36c973fe90e94afa898194d6':
  Add img2simg in host and ota packages
2015-06-25 18:56:45 +00:00
Mohamad Ayyash 19cfe7db4c Merge "Add img2simg in host and ota packages" 2015-06-25 18:44:03 +00:00
Mohamad Ayyash abc700a19a am 5ee38170: am 914811a9: Merge "Add img2simg in host and ota packages" into mnc-dev
* commit '5ee381704fbf9ed6482385e559d05d6ee89a8f54':
  Add img2simg in host and ota packages
2015-06-25 00:32:59 +00:00
Mohamad Ayyash 5ee381704f am 914811a9: Merge "Add img2simg in host and ota packages" into mnc-dev
* commit '914811a9f283ed3d8aa826abddf8c11f6167dc14':
  Add img2simg in host and ota packages
2015-06-24 23:42:27 +00:00
Mohamad Ayyash 914811a9f2 Merge "Add img2simg in host and ota packages" into mnc-dev 2015-06-24 23:13:51 +00:00
Mohamad Ayyash 9764892031 Add img2simg in host and ota packages
Change-Id: Ide660cf3cf69c74bbd15d0ac6642b60d58f076fa
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-06-24 16:08:15 -07:00
Mohamad Ayyash 353265b081 Add img2simg in host and ota packages
Change-Id: Ide660cf3cf69c74bbd15d0ac6642b60d58f076fa
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-06-24 23:01:27 +00:00
Dan Albert c195d28100 am 8b36f7fc: am 2bb996f6: am 46cb2ee3: Merge "Force some clang Werrors that *will* break things."
* commit '8b36f7fcc7f1745a2dc6f2024c6b1b5fe6212450':
  Force some clang Werrors that *will* break things.
2015-06-13 02:37:28 +00:00
Dan Albert 8b36f7fcc7 am 2bb996f6: am 46cb2ee3: Merge "Force some clang Werrors that *will* break things."
* commit '2bb996f6a58dd4b9e682f9c59a7dad94412bdd86':
  Force some clang Werrors that *will* break things.
2015-06-13 02:25:20 +00:00
Dan Albert 2bb996f6a5 am 46cb2ee3: Merge "Force some clang Werrors that *will* break things."
* commit '46cb2ee3cb120a1c03241e9e2aa66d76c890c486':
  Force some clang Werrors that *will* break things.
2015-06-12 19:59:13 +00:00
C. Sean Young 431150827e am 3c114682: am 6f44670a: am cbaead4c: am 540772fa: am cf469989: Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
* commit '3c114682527bb496b73329b01625f7fdba089acf':
  Add new variable SCAN_EXCLUDE_DIRS; specifies directories to exclude when searching source tree.
2015-06-12 18:17:59 +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
Dan Albert d160041149 Force some clang Werrors that *will* break things.
Clang is really aggressive at optimizing a handful of cases (read:
clang will ruin your day some if you write bad code). Fortunately, it
also emits a warning when it's about to do this.

To prevent anyone from suffering from these optimizations, make these
warnings errors and make them impossible to disable.

Change-Id: I5e10bb0fc2ca23190017da716b3b84635577a0bd
2015-06-10 17:24:38 -07: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
Ying Wang 9bf1ceded3 Merge "We need to escape environmental variable reference." 2015-05-20 16:23:28 +00:00
Ying Wang 024c24c55c We need to escape environmental variable reference.
Bug: 21260618
Change-Id: I727b400acb0984d1126987df7a04b0d05bc0e705
2015-05-20 09:22:17 -07:00
Ying Wang b7b99633e9 am 657f497b: am 589e8c52: Use TARGET_DEFAULT_JAVA_LIBRARIES instead of just framework.
* commit '657f497b978628221bba2e4418f0f8a22a308bf9':
  Use TARGET_DEFAULT_JAVA_LIBRARIES instead of just framework.
2015-05-20 13:15:32 +00:00
Ying Wang 589e8c52fb Use TARGET_DEFAULT_JAVA_LIBRARIES instead of just framework.
- When raising the ProGuard sdk version for platform build, use
  TARGET_DEFAULT_JAVA_LIBRARIES instead of just framework.
- Also added SUPPORT_LIBRARY_ROOT to reference support library resource
  dir.

Bug: 20658265
Change-Id: Ib008d8e70508723db91431a062cac691367f2f6c
2015-05-19 16:03:57 -07:00
Yohann Roussel f09e59eb52 [DO NOT MERGE] Compile using Jack.
This allows to compile dex targeted java sources using Jack and Jill.
Default is still to compile with the legacy toolchain. Default can be
switched to the new toolchain by setting environement variable:
export ANDROID_COMPILE_WITH_JACK=true
Toolchain can also be forced for one module by defining
LOCAL_JACK_ENABLED:=full # disabled, full, incremental
in the mk portion defining the module.

Jack execution environement can be controlled with:

Global variable ANDROID_JACK_VM allow to change the jvm executing Jack.
Global variable ANDROID_JACK_VM_ARGS allows to change default args given
to the jvm.
Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args
to give to Jack

LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for
the module.
LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack.

This includes cherry-picks of the following changes:
b4c49cba57
22c3fa6d73
138768c1bb
5dd3e1d312
83d5d04047
8bc90fd2d6
140274707e
0fbc9ff2a2
833b427d72
f9a27f45b4
2809666941
37822c443d
c6b44d43c3
d2a76c14bf
06744f60fc
95573d5036
b821391614
2794e7b582
801f2c44d0
c76d99dca1
f528e132d6
76a5e0bd1a
e25b3984ff Partially, only Jack related parts werekept
ec46a3b71f
abee3a9f41
77cbe10fd9
daf07db4cd
b6bfb5893a

Ie all Jack related changes untill
b6bfb5893a
except
a96cc59ab5 "Use Jack by default"

Change-Id: If9d47ef1c4fd1e6765ad2a47d816c1ad3cfab0e3
2015-05-19 18:31:05 +02:00