Commit Graph

6604 Commits

Author SHA1 Message Date
Shinichiro Hamaji e7d6f04d32 Merge "Add two flags for the latest ckati" 2015-08-20 05:25:34 +00:00
Dan Albert 4c40141a91 Fix sanitizer choice for global vs module.
The sanitizer chosen by the environment (either by SANITIZE_TARGET or
SANITIZE_HOST) should be chosen over the one specified by the module.

Bug: http://b/23330588
Change-Id: I835b7d76e071fc0db2f859f98dfb9d7ff76af245
2015-08-19 20:24:23 -07:00
Elliott Hughes b3c585d745 Merge "Stop defining HAVE_MS_C_RUNTIME." 2015-08-19 22:09:32 +00:00
Elliott Hughes 19fa8413ed Stop defining HAVE_MS_C_RUNTIME.
Change-Id: Ie491547552ba64d60d669b74115da96a0fcced18
2015-08-19 14:22:59 -07: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 4d2b79f99e Merge "Generate DBus proxies and adaptors separately" 2015-08-19 18:30:20 +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
Tao Bao cbc6dc29d6 build: Don't call make_recovery_patch if there's no recovery.
Change-Id: Iea1bd529eca9cd607da3b420bc4287f95c18219d
2015-08-18 18:28:47 -07:00
Chih-hung Hsieh 59c858fc94 Merge "Remove special x86 flag that disables tail call optimization." 2015-08-18 22:11:03 +00:00
Ying Wang 42fa19482a Merge "Rename libnanopb-c-2.8.0 to libprotobuf-c-nano." 2015-08-18 21:35:42 +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 f050c2f1c7 Rename libnanopb-c-2.8.0 to libprotobuf-c-nano.
Bug: 20093047
Change-Id: I787925fde97d1a3965cb8a9bf012f3c5a45a6aed
2015-08-18 14:32:07 -07: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 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
Ying Wang a05e222368 Set up dependency on ADDRESS_SANITIZER_LINKER
Set up dependency on ADDRESS_SANITIZER_LINKER if address sanitizer is
enabled.

Bug: 22850550
Change-Id: I736fe1d4db9594edf9e82ae96e4631887881dfa5
2015-08-17 17:06:14 -07: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
Dan Albert 1b2187d871 Don't filter on a non-existent variable.
This used to be used for aarch64
(https://android-review.googlesource.com/#/c/80126/), but has since
been removed and now does nothing. This was then reimplemented more
generally with my_illegal_flags
(https://android-review.googlesource.com/#/c/166405/). Drop
*GLOBAL_UNSUPPORTED_CFLAGS in favor of that.

Change-Id: I3347726dd92f9d3a16783e0d9d3b685a828400b4
2015-08-17 10:36:09 -07:00
Shinichiro Hamaji 5b6b6bb974 Add two flags for the latest ckati
* --regen

Re-generate build.ninja only when necessary. If either

1. .mk file is updated,
2. environment variable is updated,
3. $(wildcard) result is changed, or
4. $(shell) result is changed,

ckati will regenerate ninja file. This check takes only ~1
second, so incremental build will become much faster even
without "fastincremental" target.

* --ignore_dirty=out/%:

Some .mk files in out/ (e.g.,
out/target/product/generic/previous_build_config.mk)
are updated while ckati is running. With this flag, ckati
does not regenerate build.ninja when they look modified.
This should be OK for ninja based build, as ninja handles
command line changes nicely.

Change-Id: I7a2fca0e327d999599d6b16f06358e8a5e657565
2015-08-17 20:20:20 +09:00
Stephen Hines 2e08cb6e1b Merge "Add -mfpu=neon-vfpv4 if cpu is krait" 2015-08-15 02:04:55 +00:00
Yang Ni 36600a6bf9 Merge "Include target api version in build system for rscpp." 2015-08-14 18:39:47 +00:00
Dan Albert 578acca4e2 Merge "Link librt on the host when using sanitizers." 2015-08-14 00:59:52 +00:00
Dan Albert 2922411446 Link librt on the host when using sanitizers.
The sanitizers now use shared memory.

Change-Id: Ie8fa6690374eda08ee4138b68fd628ebbfa2d0c8
2015-08-13 17:25:10 -07: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 Albert 727b462a92 Merge "Never allow -w." 2015-08-13 16:48:18 +00:00
Neil Fuller bc7680c4d7 Merge "Include the okhttp.jar when compiling against internal classes" 2015-08-13 10:40:39 +00:00
Nick Kralevich 5f79bcdd07 Merge changes from topic 'file_contexts.bin'
* changes:
  build: switch over to file_contexts.bin only
  Update embedded.mk to support file_contexts.bin
2015-08-12 23:46:28 +00:00
Dan Albert df3fd1d128 Never allow -w.
Apparently -w will disable all warnings on GCC regardless of ordering
(clang will still respect ordering so warnings that are enabled after
-w are still respected). This is insane. Strip -w from the cflags.
Anyone that wants this flag should be turning off the specific
warnings (or just fix them), not disabling all warnings.

Change-Id: I2ba065637dfdc192921da4d9adbdc63b728c166f
2015-08-12 14:54:16 -07: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
Ying Wang 20febe3d83 Merge "Don't build otapackage on Mac." 2015-08-11 22:49:25 +00:00
Ying Wang 09c4b68dfd Don't build otapackage on Mac.
Also removed the unneeded variable DISTTOOLS
and the unnecessary dependency of otapackage/updatepackage on DISTTOOLS.

Bug: 23085297
Change-Id: I6b269003a72bb48eda1260c8d9b4bd88974bcde9
2015-08-11 11:45:54 -07:00
Ying Wang edf7bf8d83 Merge "Allow custom recovery resource dirs." 2015-08-10 22:15:23 +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
Ying Wang 9a17568624 Allow custom recovery resource dirs.
Set TARGET_PRIVATE_RES_DIRS in your BoardConfig.mk to specify custom
private recovery resource directories.
With this change you can share the same recovery resource dir for more
than one device; Also you can specify more than one directories.

Change-Id: Ieeb18f5ac11c98b6f08d0ab6fb4e0d9aa72b27e7
2015-08-10 11:33:10 -07: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
Gilad Arnold 7b49da7e9a Merge "Remove LOCAL_MODULE from generated DBus header path." 2015-08-06 21:55:47 +00:00
Dan Albert 2e4b90e5f1 Merge "Dedup system shared libraries." 2015-08-06 21:25:45 +00:00
Dan Albert 735cd90d17 Merge "Disable transitive symbol resolving for mips64." 2015-08-06 21:25:38 +00:00
Dan Albert 7ba582aec3 Dedup system shared libraries.
These shouldn't differ by target. Right now only mips64 does, and
that's a bug.

Change-Id: Ic941ede85ba1bc07d3316a55639ba71a6afc9630
2015-08-06 14:18:55 -07:00
Dan Albert 46ed1e8590 Disable transitive symbol resolving for mips64.
The transitive symbol resolving causes build breakage when a binary
has indirect dependency on the NDK library.

This matches the change made for the the aarch64 toolchain:
https://android-review.googlesource.com/#/c/120654

Change-Id: Id5b2a63301cb1cdcdd84b4bcd9fbec8cf6ec0b3c
2015-08-06 14:18:55 -07:00
Gilad Arnold 54e92d0061 Remove LOCAL_MODULE from generated DBus header path.
Its presence requires #include directives to contain the build target
name, which is problematic because these directives can live in headers
that are shared by multiple build targets. Furthermore, having
LOCAL_MODULE in the generated header path is redundant because the
target directory is already private to the current build target (e.g.
.../<target_name>_intermediates/...).

Bug: 22608897
Change-Id: I059f71a1231e80f89c99441794a4491f2685036f
2015-08-06 12:50:23 -07:00
Tao Bao 62bd479fdf build: Support packaging for system_root_image.
If system image contains the root directory
(BOARD_BUILD_SYSTEM_ROOT_IMAGE == "true"), we package the root directory
into ROOT/ instead of BOOT/RAMDISK/ in the target_files zip.

Change-Id: I817776ca97194991308b2131d0e34ab136283464
2015-08-05 16:39:39 -07:00
Ying Wang ecbc5b401a Merge "Build static ckati on Linux." 2015-08-05 16:43:59 +00:00