Commit Graph

309 Commits

Author SHA1 Message Date
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 05d97fe723 Merge "Remove legacy windows platform build support" 2015-08-18 04:31:07 +00:00
Dan Willemsen e65107508a Merge "Use repeatable timestamps" 2015-08-18 03:30:11 +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 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 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 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 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 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 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 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 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
Mohamad Ayyash 19cfe7db4c Merge "Add img2simg in host and ota packages" 2015-06-25 18:44:03 +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
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
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
Dmitriy Ivanov 4c2d1a64fb Pack relocation tables for dynamic executables
Add replocation-packer step for dynmic executables.

  Enable it by default for arm and arm64 platforms.

Bug: http://b/18051137
Change-Id: I0c88fd31595bcea62a087f219acb9ecf9c80f2e5
2015-04-23 12:07:16 -07:00
Dimitry Ivanov 1eca10fa9d Revert "Pack relocation tables for all dynamic executables"
This reverts commit e7a1b8a0c6.

Change-Id: I1a2185e1c68d364941e3b3e525a8c4a7a42e0cc1
2015-04-23 04:22:33 +00:00
Dmitriy Ivanov e7a1b8a0c6 Pack relocation tables for all dynamic executables
Bug: http://b/18051137
Change-Id: I277277d5f5eb450ef9b4a23cfec16d75d977eb89
2015-04-22 13:30:43 -07:00
Dmitriy Ivanov 4eb120b999 Remove unsupported *_COMPRESS_MODULE_SYMBOLS
Change-Id: Ibb7da2997a0bb5b9f435213c9d3206bc4aad18db
2015-04-20 12:24:12 -07:00
Ying Wang f738b3bb9f Load cts/build/config.mk after build/core/config.mk
So that the cts config.mk can use global variables set by the core build
system config.mk.

Change-Id: I2571564abbb53257eee54485a3357ab1305eb870
(cherry picked from commit bacf5f8008)
2015-03-16 10:56:03 -07:00
Christopher Ferris 9de4d5ebb3 Make sure DEX2OAT_TARGET_CPU_VARIANT is not empty.
On non-arm architectures, there is no TARGET_CPU_VARIANT set. For x86,
art assumes that the CPU variant is actually the TARGET_ARCH_VARIANT.
Therefore, if no TARGET_CPU_VARIANT is set, use the TARGET_ARCH_VARIANT.
If TARGET_ARCH_VARIANT is not set, then use default as the value.

Change-Id: I17fc9e3ac7412462103b8f0b287fce106298b741
2015-03-06 10:19:12 -08:00
Mohamad Ayyash b97746ef09 Allow flashing a squashfs system image
Change-Id: Ic51d11274784a8d2e9d57d5f0b821ebc89680e5a
Signed-off-by: Mohamad Ayyash <mkayyash@google.com>
2015-03-03 18:54:50 -08:00
Dan Albert 876f45e73f Merge "Make some warnings impossible to override." 2015-02-25 23:13:13 +00:00
Colin Cross a82f7db900 Merge "add BUILD_NATIVE_BENCHMARK" 2015-02-24 20:49:56 +00:00
Dan Albert 0c91fa84ff Make some warnings impossible to override.
These CFLAGS and CPPFLAGS will always be added last, and are
controlled by the build system. This way we can add warnings that
users are not allowed to disable.

Change-Id: Id71f69249078f62ca2687ecbf764aff0fd3a1c1b
2015-02-23 10:05:51 -08:00
JP Abgrall 7bb75e4f6c core: remove dependencies on genext2fs
We don't use EXT2 for bootimage anymore.
This will allow getting rid of external/genext2fs

Bug: 19282953
Change-Id: Ie56528c7877036d2501a09888a4420637f9cd647
2015-02-11 15:04:59 -08:00
Elliott Hughes 65d4186f85 Remove mkyaffs2image references.
Change-Id: I1d112515bc92353a5b48ec668e1cadfb51ecdaad
2015-02-04 19:58:09 -08:00
Miao Wang ec27a8966c Add build rules for libRSSupportIO (Usage_IO lib for RS compat lib)
bug 12924018

Change-Id: I35af72c1f7788f9fd9cb24bfabdbbad09e865a8b
2015-01-09 09:43:09 -08:00
Miao Wang e4359cf0f3 Add build rules for 64bit Renderscript Compat lib.
Change-Id: Iea168f8ecb3b4cf6b9ab6ffefc403eb77ee09000
2015-01-08 17:19:42 -08:00
Elliott Hughes 86e6b7ed51 Remove unused BUILD_RAW_EXECUTABLE and BUILD_RAW_STATIC_LIBRARY.
Change-Id: I1ba79197f3b9bb446ab34612bac8eb9485438709
2014-12-01 20:53:11 -08:00
Dan Albert bf0426f474 Make gnu++11 the default standard version.
There are a _lot_ of users of `typeof` in the tree, and they'll need a
GNU flavored standard. Rather than fixing up all of these
individually, let's just use gnu++11 as the default.

Bug: 18466763
Change-Id: Ia1bd3adaa74fadba259fda3d37653fb8d5cff69a
2014-11-24 15:53:31 -08:00
Serban Constantinescu 3da4f32794 Remove TARGET_CPU_SMP.
There are no more users of TARGET_CPU_SMP in the current codebase.
Expert users should set "-smp" in DEX2OAT_TARGET_INSTRUCTION_SET_FEATURES
for targets that run on a single-core CPU.

Change-Id: Ib94865f05a92c9a4622540cebc18ded4bdfa6363
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-11-24 17:02:34 +00:00
Ian Rogers a18a28305d Pass instruction set variant to dex2oat.
Also, add it to the ANDROID_BUILD_PROPERTIES.
Remove non-default instruction set features.
Bug: 18056890

Change-Id: I9169cdfecbb176f62b941852948222edc3f511fd
2014-11-08 17:07:23 -08:00
Neil Fuller f7ce9508de am 4dfda1fa: Merge "Remove Java 6 build support"
* commit '4dfda1fa4201e41022396b77054168ffc73b590c':
  Remove Java 6 build support
2014-10-24 20:18:15 +00:00
Neil Fuller 4dfda1fa42 Merge "Remove Java 6 build support" 2014-10-23 09:00:15 +00:00
Neil Fuller 46e00ea4ba Remove Java 6 build support
Change-Id: I9754844af58e3f81d7eb9dae286128d17a2cb56c
2014-10-22 10:53:59 +01:00
Ian Rogers ed2783b8c6 am 0251f345: am fc82be6e: Merge "Add LPAE to dex2oat ISA feature list."
* commit '0251f3454e5f4716716673f2df1becd0730fbc79':
  Add LPAE to dex2oat ISA feature list.
2014-10-17 07:44:14 +00:00
Ian Rogers 6825e3c9db Add LPAE to dex2oat ISA feature list.
Bug: 17993736

Change-Id: Ibdf0df017a582d7d807dff17f0392dbf28475e02
2014-10-16 13:07:05 -07:00
Ying Wang 58a5db35a6 Add two useful character constants.
You need those constant variables when you want to insert newline or
backslash at the end of a macro.

Change-Id: I3fe96580d7a4ebc9d013afe6dd4ec8f40f49c724
2014-10-03 11:36:27 -07:00
Tim Murray dc1d0abe37 Update prebuilt RS clcore location.
Change-Id: Iebf255d7cc093b74e08b1f1378d9b397fd9dd3b9
2014-10-01 15:52:11 -07:00
Tim Murray 00fa757d7d Update prebuilt RS clcore location.
Change-Id: Iebf255d7cc093b74e08b1f1378d9b397fd9dd3b9
2014-09-30 15:08:03 -07:00
Ying Wang 02a83e9f84 Now we have prebuilt SDK version system_current for apps_only build.
We don't need to explicitly add "system_current" to the list.

Bug: 17390410
Change-Id: I490d0e1cb8e194b6a0bf8bf1703781aef88901d4
2014-09-04 12:18:51 -07:00
Ying Wang 0ea63e0cbd Merge "Remove framework2" into lmp-dev 2014-07-19 22:40:06 +00:00
Ying Wang 14c975b830 Remove framework2
We don't need fraemwork2 split with the multidex framework.jar.

Change-Id: Ifc595b3679946d8958a9282360c7da9bc18e8adc
2014-07-21 14:42:29 -07:00