Commit graph

304 commits

Author SHA1 Message Date
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
Dmitriy Ivanov
7fa5ba1d22 am 6a2b812b: am cda3d433: am eacc8a05: am 529943c7: Merge "Disable packed relocations for NDK builds"
* commit '6a2b812b8cc5ac7ea051d2c09651e12d08217919':
  Disable packed relocations for NDK builds
2015-04-24 05:30:47 +00:00
Dmitriy Ivanov
3b51f20be9 Disable packed relocations for NDK builds
Bug: http://b/20537715
Change-Id: I1289a88d5eb694980b026b695cb25edd8ba76ed5
2015-04-23 18:55:23 -07:00
Dan Albert
c2ac7201a7 am 803cf699: am 5e7e6d75: am 2d215e38: Merge "Use libcompiler_rt-extras on the host too."
* commit '803cf699262275a771e3211751e77d2817718656':
  Use libcompiler_rt-extras on the host too.
2015-04-14 23:08:47 +00:00
Dan Albert
30a9c351d6 Use libcompiler_rt-extras on the host too.
Clang will sometimes generate this call (dex2oat with ubsan is one
known case), and it doesn't exist in libgcc.

Change-Id: I2eb68e2a326eb0407dca03b5870077eeebca1c0a
2015-04-09 16:38:55 -07:00
Ying Wang
8a0d53e7f5 Rename libnanopb-c-2.8.0 to libprotobuf-c-nano.
Bug: 20093047
Change-Id: I787925fde97d1a3965cb8a9bf012f3c5a45a6aed
2015-04-08 09:54:34 -07:00
Ying Wang
faeb693174 Consolidate the nanopb-c and regular protobuf build rules.
Bug: 20093047
Change-Id: I38ebd748aacce6d215403da481ad04833810a995
2015-04-07 12:49:50 -07:00
Ying Wang
11e923a0e5 am ea517854: am aacc8bb4: am 18ecae31: Merge "Convert bc depfiles to .P files."
* commit 'ea5178545bf939fb65f77cd54eba9f274512638b':
  Convert bc depfiles to .P files.
2015-04-04 01:49:47 +00:00
Ying Wang
b931956076 Convert bc depfiles to .P files.
So you don't need clean step when a header file gets moved or deleted.

Change-Id: Iec0d63b89ba17c4ef0ad75f4a52b6759f2bff58a
2015-04-03 16:55:09 -07:00
Dan Albert
57d71306a5 am 8f7338d9: am dc8d7092: am 0064c51e: Merge "Use prebuilt libclang_rt.profile."
* commit '8f7338d9b145379ea9c51b7e551509a2d8f0f24e':
  Use prebuilt libclang_rt.profile.
2015-04-02 18:49:26 +00:00
Dan Albert
343ed674e3 Use prebuilt libclang_rt.profile.
Bug: 17574078
Change-Id: I4838cd5d125a0b2bf76aad2fdaef1ee3122687e8
2015-04-01 19:03:22 -07:00
Etan Cohen
5c92a46ea3 Merge commit '597cfdb' into merge
Change-Id: I4df718345626439ece9fdad242cccea7d6930819
2015-03-30 16:42:42 -07:00
Ying Wang
d791463511 Support "LOCAL_FDO_SUPPORT := always".
"LOCAL_FDO_SUPPORT := always" enables FDO without user specifying
"BUILD_FDO_OPTIMIZE := true", i.e. it turns on FDO for a
module in any build configuration.

Change-Id: I05d8db2edb2b3f5db073fa14d5bf1083a04571c0
(cherry picked from commit 45d0143ab1)
2015-03-13 11:36:15 -07:00
Ying Wang
08b32584f4 am 4e32ac83: am dedff62c: Merge "Contain obj of ../ source files in their intermediate dir."
* commit '4e32ac834299da0c5892e9fb15777ca2cd335492':
  Contain obj of ../ source files in their intermediate dir.
2015-03-13 02:59:09 +00:00
Ying Wang
25c894bf70 am ec447f36: am 168357ae: Merge "Support .asm being compiled by yasm targeted for x86_64."
* commit 'ec447f368a0622781a0b6f95d422d30f480a24b5':
  Support .asm being compiled by yasm targeted for x86_64.
2015-03-12 15:35:53 +00:00
Wink Saville
597cfdb9db Add support for PB_ENABLE_MALLOC in nanopb-c
There will be two version of the the nanopb-c library,
libnanopb-c-2.8.0 which doesn't support automatic malloc
and libnanopb-c-2.8.0-enable_malloc which does.

There will be two version of the the nanopb-c library,
libnanopb-c-2.8.0 which doesn't support automatic malloc
and libnanopb-c-2.8.0-enable_malloc which does.

Set LOCAL_PROTO_OPTIMIZE_TYPE=nanopb-c which doesn't support
malloc and set it to nanopb-c-enable_malloc which does.

For client code details see nanopb-api:
  http://koti.kapsi.fi/jpa/nanopb/docs/reference.html

Change-Id: If238412463aabb5e1d556dfc9c464bcaf9e3333a
2015-03-11 23:59:50 +00:00
Wink Saville
042d4dc4a1 nanopb-c
Change-Id: I584d0a1e228338ea4ec3e5e2875d1ed329bc37f2
2015-03-11 22:00:09 +00:00
Ying Wang
dedff62c8e Merge "Contain obj of ../ source files in their intermediate dir." 2015-03-11 20:43:41 +00:00
Ying Wang
168357aeda Merge "Support .asm being compiled by yasm targeted for x86_64." 2015-03-11 16:37:25 +00:00
Ying Wang
fb22a42d4f Contain obj of ../ source files in their intermediate dir.
Previously when a file in LOCAL_SRC_FILES starts with "../", the object
file may escape out of the module's intermediate directory, because we
insert the source file's path (but not with LOCAL_PATH) to the object
file's path. Even worse when two object files escape to the same destination
and cause conflict.
This change fixes the issue by removing the "../" inside the object
files' paths. To do that, we have to set up the compilation rules for
those files one by one, instead of using the one-for-all static
pattern rules.

Bug: 19641115
Change-Id: I19f3c48ece3244fa14acb2caa609deea710840d3
2015-03-10 19:05:15 -07:00
Ying Wang
fe1e5c3453 Support .asm being compiled by yasm targeted for x86_64.
Change-Id: Ia6425c38dd2f7ad2dc697213cd61b7515b9e7aff
2015-03-09 18:57:40 -07:00
Ying Wang
e25b3984ff Improved nothing-to-do-build
- Removed unnecessary dependency of
  "$(my_symlink) :  $(LOCAL_INSTALLED_MODULE)"
  We can generate symlink to nonexistent file.
  Actually in multilib build $(LOCAL_INSTALLED_MODULE) points to file
  that may not be the target file of the symlink and leads to always
  obsolete $(my_symlink) in the above dependnecy.
- Touch by-product in the dummy rule, to make sure the by-product is
  newer than the main-product.

Change-Id: I2f0e0cc197c49f920fa1f6794083b21cdc333c20
2015-02-26 18:47:21 -08:00
Dan Albert
0d963dc94f am f633e281: am 172cd765: Merge "Allow coverage with clang."
* commit 'f633e28168a65a0d7a59fed069c90ca54b47de9f':
  Allow coverage with clang.
2015-01-24 23:48:47 +00:00
Dan Albert
b89760a76b am 3723af1b: am 9ba25d6b: Merge "Enable host coverage."
* commit '3723af1b4e8de4941d7b9be569f209d88f565964':
  Enable host coverage.
2015-01-24 23:48:46 +00:00
Dan Albert
f633e28168 am 172cd765: Merge "Allow coverage with clang."
* commit '172cd7653e4dfb628065349ea915329076e44e1d':
  Allow coverage with clang.
2015-01-24 23:42:11 +00:00
Dan Albert
3723af1b4e am 9ba25d6b: Merge "Enable host coverage."
* commit '9ba25d6bfd983655dc9c0584887db2b6cb3be999':
  Enable host coverage.
2015-01-24 23:42:09 +00:00
Dan Albert
2c03e04480 Allow coverage with clang.
Note that this doesn't play nicely with acov out of the box. Clang
apparently generates .gcno files that aren't compatible with gcov-4.8.
This can be solved by installing gcc-4.6 and invoking lcov with
`--gcov-tool /usr/bin/gcov-4.6`.

http://stackoverflow.com/questions/17758126/clang-code-coverage-invalid-output

Change-Id: I79547e1c579fa79db47ff07d5e90c42cedbd5cbb
2015-01-24 15:18:01 -08:00
Dan Albert
43e128acfc Enable host coverage.
Don't remember why I didn't enable this for the host when I made the
first pass, but it works just fine.

Change-Id: I0892c0bc353bf8b60b432ba9f69f97281177d41d
2015-01-24 13:24:19 -08:00
Ying Wang
28aa610860 am de9b91b0: am 6aa932ca: Merge "Add dependency of import_includes on LOCAL_MODULE_MAKEFILE"
* commit 'de9b91b01bc9baff333ea7fbb438e0e838fac204':
  Add dependency of import_includes on LOCAL_MODULE_MAKEFILE
2015-01-23 03:11:04 +00:00
Ying Wang
de9b91b01b am 6aa932ca: Merge "Add dependency of import_includes on LOCAL_MODULE_MAKEFILE"
* commit '6aa932cabf6ed14c35ae49b78464e2504af87c58':
  Add dependency of import_includes on LOCAL_MODULE_MAKEFILE
2015-01-23 00:50:39 +00:00
Ying Wang
14d02a39b0 Add dependency of import_includes on LOCAL_MODULE_MAKEFILE
So the build system regenerates import_includes when you modify
Android.mk to add a new dependency library.

Change-Id: Ic92b097b659bb68a9065e1d66da59e0dc7e2836a
2015-01-22 15:44:04 -08:00
Ying Wang
4d97b27c51 am c0ff83ae: am 17967eb7: Merge "[MIPSR6] Adjust prebuilts/ndk libraries for mips32r6"
* commit 'c0ff83aebd4ce2ac80247f9b809c27fbf4fc1524':
  [MIPSR6] Adjust prebuilts/ndk libraries for mips32r6
2015-01-16 20:06:46 +00:00
Ying Wang
c0ff83aebd am 17967eb7: Merge "[MIPSR6] Adjust prebuilts/ndk libraries for mips32r6"
* commit '17967eb72f0eb7f495800d5065b64db4a0174362':
  [MIPSR6] Adjust prebuilts/ndk libraries for mips32r6
2015-01-16 18:32:18 +00:00
Duane Sand
1a07487493 [MIPSR6] Adjust prebuilts/ndk libraries for mips32r6
Change-Id: Ice2d0f65eced4fb7dd209fb15610ba555dd45f2c
2015-01-16 18:13:17 +00:00
Jeff Davidson
861f88765b am 0c949bd8: am 64606bd5: Merge "Update protobuf library from 2.3 to 2.6."
* commit '0c949bd86773c5d39df11cd824c9df372dc00342':
  Update protobuf library from 2.3 to 2.6.
2015-01-16 00:06:05 +00:00
Jeff Davidson
0c949bd867 am 64606bd5: Merge "Update protobuf library from 2.3 to 2.6."
* commit '64606bd5b0b702b7f6d7fd1088486b5380ccc25f':
  Update protobuf library from 2.3 to 2.6.
2015-01-15 23:01:59 +00:00
Jeff Davidson
64606bd5b0 Merge "Update protobuf library from 2.3 to 2.6." 2015-01-15 22:49:00 +00:00
Jeff Davidson
516a656bbe am ee65f03b: am dd198b77: Merge "Move installed module dependency setup after proto handling."
* commit 'ee65f03b3c35e481d1bd1a6f4e8374953d20fe98':
  Move installed module dependency setup after proto handling.
2015-01-09 02:55:32 +00:00
Jeff Davidson
ee65f03b3c am dd198b77: Merge "Move installed module dependency setup after proto handling."
* commit 'dd198b77a1bae9974b741cc7d1dad328dce3c3b6':
  Move installed module dependency setup after proto handling.
2015-01-09 02:51:41 +00:00
Jeff Davidson
680f071ca4 Move installed module dependency setup after proto handling.
The proto handling will modify the set of dependent libraries, but
this was not actually accounted for in dependency handling because
dependencies had already been established.

Change-Id: Iba1582f3c9eeeada19569e4b5358b6ec4168fccc
2015-01-08 18:25:30 -08:00
Jeff Davidson
b1055a195a Update protobuf library from 2.3 to 2.6.
Change-Id: I02d308b01f635307dbb63ea9610db2e56eb1f31b
2015-01-08 16:35:11 -08:00
Dan Albert
827967b696 am 023fd1fc: am e98755f9: Merge "Add a SANITIZE_HOST flag."
* commit '023fd1fca8b200d73d0b2628180a602750ae59ee':
  Add a SANITIZE_HOST flag.
2014-12-09 23:44:32 +00:00
Dan Albert
565f87011d am ee582aac: am cd814343: Merge "Let clang decide ASan linker flags for the host."
* commit 'ee582aac416040240bb8959a966173f435178855':
  Let clang decide ASan linker flags for the host.
2014-12-09 23:44:31 +00:00
Dan Albert
023fd1fca8 am e98755f9: Merge "Add a SANITIZE_HOST flag."
* commit 'e98755f9d6619ff141d099f9da655d141da72b8e':
  Add a SANITIZE_HOST flag.
2014-12-09 13:18:44 +00:00
Dan Albert
ee582aac41 am cd814343: Merge "Let clang decide ASan linker flags for the host."
* commit 'cd814343e897ae8b6d19874163eec8d89c6ae37f':
  Let clang decide ASan linker flags for the host.
2014-12-09 13:18:43 +00:00
Dan Albert
4ae5d4b331 Add a SANITIZE_HOST flag.
We had discussed the idea of making all host tools default to using
ASAN. Even if we don't make it the default, this makes it easy for the
user to switch all host binaries over.

Change-Id: I64a5c741b1b4e9aefed3a6be8dcd4f386e06b29c
2014-12-05 22:20:37 -08:00
Dan Albert
b58fb4aac6 Let clang decide ASan linker flags for the host.
Pass -fsanitize=address instead of manually specifying asan libraries
and other linker flags.

Note that we enable LOCAL_ALLOW_UNDEFINED_SYMBOLS by default for host
builds because ASAN only links symbols in the final executable, so
there will _always_ be undefined symbols in intermediate libraries.

Bug: 18208352
Change-Id: Ief55ab296e94974560eeb10507ec8d90f0025d5c
2014-12-05 14:52:56 -08:00
Stephen Hines
e3d102807c am b2f55103: am 4bad2d21: Merge "Add more support for GLOBAL_CONLYFLAGS."
* commit 'b2f5510365be26e279a8d02770a9f46e57741d54':
  Add more support for GLOBAL_CONLYFLAGS.
2014-12-02 19:01:41 +00:00
Stephen Hines
b2f5510365 am 4bad2d21: Merge "Add more support for GLOBAL_CONLYFLAGS."
* commit '4bad2d2156bcb589c2d1bb223a074edc39aa428c':
  Add more support for GLOBAL_CONLYFLAGS.
2014-12-02 18:52:12 +00:00
Stephen Hines
1568029218 Add more support for GLOBAL_CONLYFLAGS.
This will be necessary to support -std=gnu99 mode for clang 3.6, which
defaults to C11 mode (unlike prior releases that use C99).

Change-Id: Iea84582f9f12ba76b988463cbc0a20bd61042538
2014-12-01 15:36:26 -08:00