Commit Graph

722 Commits

Author SHA1 Message Date
Dan Willemsen
e48baffb5e Merge "Move to a single clang unknown flags list" am: 06935290ac
am: 315621eee0

* commit '315621eee0a1199b175ab4d251ea617fdb018fd5':
  Move to a single clang unknown flags list

Change-Id: I209bf8b868da7b11d55fc6cf701976ff914a2160
2016-05-23 17:43:38 +00:00
Dan Willemsen
02268f01df Move to a single clang unknown flags list
Soong is using a single list of unknown clang flags for all
architectures, instead of the per-architecture list here. Collapse this
down to a single list as well so that it can be verified against the
Soong list, and eventually replaced by the Soong version.

Change-Id: If43cd892105da5155907c05965a74b835920a369
2016-05-19 15:33:54 -07:00
Dan Willemsen
c7f377721a Merge "Remove (TARGET|HOST)_NO_UNDEFINED_LDFLAGS" am: ac7a7bb0ba
am: 611211acd4

* commit '611211acd40bc02773d27568d4774d8061149c52':
  Remove (TARGET|HOST)_NO_UNDEFINED_LDFLAGS

Change-Id: I6744e92b392c02dfcbe2154d13823a5a0a3b7693
2016-05-18 20:55:07 +00:00
Dan Willemsen
8308f506ce Remove (TARGET|HOST)_NO_UNDEFINED_LDFLAGS
We never use it for host modules, and all the target configurations use
the same linker argument. This matches Soong.

Change-Id: Ibcba9a4ce340c7a12306d1fee620a04027c0e292
2016-05-18 12:50:53 -07:00
Dan Willemsen
958dc6098e Merge "Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV" am: a794f4db22
am: 19fdc4428f

* commit '19fdc4428f9036b059a1174a3236eef03180e826':
  Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV

Change-Id: I143bf88ad5031764644dfb2c8b279513c809b50b
2016-05-17 03:05:32 +00:00
Dan Willemsen
db16dd2384 Remove TARGET_LIBGCC/LIBATOMIC/LIBGCOV
Instead, use the libgcc/libatomic/libgcov from the static libraries dir,
which is provided by Soong. Copy the libraries using the Soong script if
Soong is disabled - this can be removed once USE_SOONG is removed.

Change-Id: Iad2ad20ad5c3cfc48bf1e46e594a482609098d7a
2016-05-16 17:26:54 -07:00
Ying Wang
dbe53e4bde resolve merge conflicts of e6b72b3 to nyc-dev-plus-aosp
Change-Id: Ic60ea2050c6e724e9bcbb5277087f1377315e9b3
2016-05-06 13:37:05 -07:00
Ying Wang
05f9f35836 Harden dependency on generated sources.
Previously if a library has custom generated headers in
LOCAL_GENERATED_SOURCES and export its include path with
LOCAL_EXPORT_C_INCLUDE_DIRS, there is almost no way for the users of the
library to set up dependency of their object files on the generated
headers.
This change makes the generated sources dependency of the library's
export_includes, which is guaranteed generated before client code gets
compiled.

Also we added proto-generated cpp files to my_generated_sources so that
we can deal solely with $(my_generated_sources). Because many
Android.mks assume the generted .pb.hs are in $(generated_sources_dir)
instead of $(intermediates), we have to generate the source files in
$(generated_sources_dir) and make a copy in $(intermediates).

Bug: 28622149
Change-Id: I73b21443fa706f3735faf16356ed8c08fbfecca6
2016-05-06 10:20:17 -07:00
Chih-hung Hsieh
cf20458163 Merge "Add tidy.mk to set up global default checks." am: 214c7fa
am: 6014381

* commit '60143818969a97ee6827b9de3b56670b0ff774df':
  Add tidy.mk to set up global default checks.

Change-Id: I4f678930148ee6a0a3bccce899275af07cc4a738
2016-04-26 01:51:11 +00:00
Keun Soo Yim
46a259651f resolve merge conflicts of 72b82dc to nyc-dev-plus-aosp
Change-Id: I6e62226774584154ad1a802594e386fe7942504b
2016-04-25 15:27:21 -07:00
Keun Soo Yim
3d4847525f build rule change for VTS (vendor test suite)'s metadata files
Change-Id: I76b81529a97b672e08632703d2f6a2777ee8811e
2016-04-25 13:06:57 -07:00
Chih-Hung Hsieh
460171a3e4 Add tidy.mk to set up global default checks.
* Default checks include only google* minus google-readability*.
* Some google-* checks are disabled for external projects.
* Each project can add more or disable checks through LOCAL_TIDY_CHECKS.

Bug: http://b/27779618
Change-Id: I83eed73bd2bddaace565a6dde532fb2036b4fac4
2016-04-25 12:17:03 -07:00
Dan Albert
e58300cc30 Merge "Switch mips64 back to NDK r10." am: 9ecf544
am: f77eb12

* commit 'f77eb12f02d233cc34e7c0d2c14c0ad737c1d8bb':
  Switch mips64 back to NDK r10.

Change-Id: Ia93c84ce3272dfb6cc83e65e1be9e3148bfa161d
2016-04-22 21:32:48 +00:00
Nikola Veljkovic
f738562316 Switch mips64 back to NDK r10.
The NDK doesn't support mips32r6, and the update of prebuilts/ndk to
r11 doesn't have the hack that r10 did. Revert back to r10, until we
decide on a more appropriate solution.

Change-Id: I7891603d8ccbb20398aad893b62c1debf353ef41
2016-04-22 14:17:00 -07:00
Chih-hung Hsieh
7a8e69eea2 Merge "Call clang-tidy based on WITH_TIDY* variables." am: 3f03b10654
am: c72f50d49f

* commit 'c72f50d49fb95794039f270d4083b9cfed4cd482':
  Call clang-tidy based on WITH_TIDY* variables.

Change-Id: I4eb0afd79b56ad2ddea42b33791df27da6ab8820
2016-04-21 21:11:00 +00:00
Chih-Hung Hsieh
a9a55c7c7e Call clang-tidy based on WITH_TIDY* variables.
* Call clang-tidy before every C/C++ compilation if
  (1) clang-tidy is found at $(PATH_TO_CLANG_TIDY)
  (2) $(my_clang) is true
  (3) LOCAL_TIDY is 1 or true, or
      LOCAL_TIDY is undefined and WITH_TIDY is 1 or true.
* clang-tidy is called with -checks=$(my_tidy_checks),
  which has default '-*,google*,-google-readability*'
  and can be overwritten by WITH_TIDY_CHECKS.
* LOCAL_TIDY_CHECKS is appended to $(my_tidy_checks)
* Extra flags are passed to clang-tidy through
  WITH_TIDY_FLAGS or LOCAL_TIDY_FLAGS.
* To quickly find and fix clang-tidy warnings, set $(WITH_TIDY_ONLY)
  to 1 or true to skip compilation of C/C++ files.
* Add a PHONY tidy_only target,
  which includes all $(cpp_objects) and $(c_objects).
* The 'mm' and 'mmm' functions are changed to call make with
  the 'tidy_only' target when WITH_TIDY_ONLY is true or 1.
  In that case, only clang-tidy is called for C and C++ files.

Bug: http://b/27779618
Change-Id: I8adcfff217d68af49849b79aacee7d7654cafb1b
2016-04-21 12:31:13 -07:00
Dan Austin
bd581f6959 Merge "Adding gcc-specific disable of Wattributes in preparation for libcxx rebase." am: 7984620
am: d7c070f

* commit 'd7c070f4a01f9518f19e42ab83285c50c0554b2e':
  Adding gcc-specific disable of Wattributes in preparation for libcxx rebase.

Change-Id: I9e1c63516f5729f97a9bcf5e664715e63c05dbc4
2016-04-18 18:40:47 +00:00
Dan Austin
7984620461 Merge "Adding gcc-specific disable of Wattributes in preparation for libcxx rebase." 2016-04-18 18:23:11 +00:00
Treehugger Robot
008b9c5624 Merge "Add support for LOCAL_EXPORT_*_LIBRARY_HEADERS" am: 5f3b368
am: 02b786c

* commit '02b786ce2d370cb5d3a33de9b61a9255114f978d':
  Add support for LOCAL_EXPORT_*_LIBRARY_HEADERS

Change-Id: I978f51fe6561f60e8f054b4314d77fcc6136bcb5
2016-04-12 22:14:48 +00:00
Treehugger Robot
5f3b3689af Merge "Add support for LOCAL_EXPORT_*_LIBRARY_HEADERS" 2016-04-12 21:24:51 +00:00
Christopher Wiley
ff1c3f2b05 Add support for LOCAL_EXPORT_*_LIBRARY_HEADERS
Listing a library in any of:

  LOCAL_EXPORT_SHARED_LIBRARY_HEADERS
  LOCAL_EXPORT_STATIC_LIBRARY_HEADERS

will cause the headers exported by that library to be exported from
the current library target as well.

This means that when library A's public headers include headers from
library B, library C which consumes A no longer has to explicitly list
A and B in its LOCAL_SHARED_LIBRARIES for the purpose of picking up B's
headers.

Bug: 27804373
Test: Introduced dependency on libbase to libbinder at the header level.
      Libraries that consume libbinder do not need to explicitly depend
      on libbase.

Change-Id: If69079f058a4a182c5ef5a3c5ba15035570da22d
2016-04-12 09:27:29 -07:00
Shinichiro Hamaji
bae8b3f2d9 Merge "Add Bison binary and its data to prerequisite" am: 4d69fbf
am: 06af80f

* commit '06af80f6c4c1702b1aebea8cec56b49f43e88d4f':
  Add Bison binary and its data to prerequisite

Change-Id: I5039150bcb4d06677bd6d5fd4acea8e643fccb89
2016-04-07 03:56:24 +00:00
Shinichiro Hamaji
3a192c0246 Merge "Fix dependencies of protoc with nanopb-c plugin" am: 5e2d7f3
am: ae91743

* commit 'ae917433aaa92941bc2ad515f8bdb4f77c462ac0':
  Fix dependencies of protoc with nanopb-c plugin

Change-Id: Ib548b09c87f9be296e6e1fcb60ec0fcd4ddd0908
2016-04-07 03:56:23 +00:00
Shinichiro Hamaji
4d69fbf5be Merge "Add Bison binary and its data to prerequisite" 2016-04-07 03:48:31 +00:00
Shinichiro Hamaji
5e2d7f3204 Merge "Fix dependencies of protoc with nanopb-c plugin" 2016-04-07 03:48:02 +00:00
Dan Austin
75e7af10b9 Adding gcc-specific disable of Wattributes in preparation for libcxx rebase.
Change-Id: Ida49761801e58b2475e006525e3ea2bbad3731af
2016-04-06 18:35:07 +00:00
Shinichiro Hamaji
a3184dc2ae Fix dependencies of protoc with nanopb-c plugin
Bug: 27954979
Change-Id: Ic06b5288b092d8ea5225516069845bfc2ffa9cd1
2016-04-06 13:54:03 +09:00
Shinichiro Hamaji
b708bc5533 Add Bison binary and its data to prerequisite
Bug: 27954979
Change-Id: Id68425ef85c07b9bd06d9640f4bf96270af1b893
2016-04-06 13:46:02 +09:00
Dan Albert
885c4d927d Merge "Remove mips special case." am: a6a6285
am: 7d4c8fe

* commit '7d4c8fefec0998048b34fcedc4f1c893e00919eb':
  Remove mips special case.

Change-Id: Ia55997b8dc087129e39028cd16fb9f3c49b950c0
2016-04-05 19:00:42 +00:00
Dan Albert
ce2fe3c121 Remove mips special case.
The NDK doesn't have an r6 subdir.

Bug: http://b/28009632
Change-Id: I482723a1b7400ed13dc70acad24fbed96683f460
2016-04-05 00:28:35 -07:00
Dan Albert
fd953aec6e Merge "Update NDK libc++ header paths." am: 66dcc50
am: 5514b26

* commit '5514b26d26e759e12557efbf10fe69acfbf5114c':
  Update NDK libc++ header paths.

Change-Id: I9153be2e981b4bda778a9ea74cc867435c68c6d9
2016-04-04 20:38:11 +00:00
Dan Albert
4b5b09a00b Merge "Add LOCAL_NDK_VERSION." am: 4410c29
am: f95ca6d

* commit 'f95ca6de0abb1fe21638c984847e3414038dd4e4':
  Add LOCAL_NDK_VERSION.

Change-Id: Ia2883b5482cef267debb90b2e8923731076c4511
2016-03-31 23:21:45 +00:00
Dan Albert
658d1e0434 Update NDK libc++ header paths.
The r11 libc++ uses libc++abi instead of libgabi++.

Bug: http://b/27801981
Change-Id: I5b90c14125dc024b2b290897bb3ef1c8d9546a7b
2016-03-31 14:22:09 -07:00
Dan Albert
13306af0c1 Add LOCAL_NDK_VERSION.
Used to select between releases of the NDK (r10, r11, etc).

Some of the libraries we use in Android come as prebuilts from
google3, which are most likely built against an older NDK than what
we have in the platform. Since things may not be ABI compatible
release to release, we need to keep legacy versions accessible for
those to keep building.

Change-Id: Ia3df42fa6f3a7bd5108ff6bbb0f2ca06239c3be9
2016-03-31 12:54:21 -07:00
Dan Willemsen
a586820428 Merge "Forbid Clang for Windows" am: e4d5e08
am: 1eb2442

* commit '1eb24425d04d64d1811bc34c6395179fa3cfd526':
  Forbid Clang for Windows

Change-Id: I51432b0f6782422dd424edbbecab9a5b936be8f2
2016-03-29 21:02:56 +00:00
Dan Willemsen
e4d5e08c2e Merge "Forbid Clang for Windows" 2016-03-29 20:54:24 +00:00
Dan Willemsen
9537477df7 Forbid Clang for Windows
Clang and MinGW are not expected to work together currently, and you get
strange errors when this is attempted. Instead, error out with a clear
error message.

Before the windows build rewrite, we'd just explicitly set my_clang to
false without checking what the module asked for. Now, error out if the
module explicitly asked for clang, since by default they'd have it
already if it wasn't for windows. That way when Clang+Windows does
become possible, it can gradually be tested by setting LOCAL_CLANG to
true.

Change-Id: I9e0b0dca30946d94894119443f2fd0593cee1793
2016-03-29 12:34:03 -07:00
Shinichiro Hamaji
0f846c73e1 Replace last -includes by .KATI_DEPFILE
There was a typo in binary.mk. compile-dotdot-XXX-file in
definitions.mk was also using -include.

Bug: 26839129
Bug: 27886012
Change-Id: I4a0145fb70413998cc65d30d2efcd68af07b4800
(cherry picked from commit 72904774a3)
2016-03-29 12:10:48 -07:00
Shinichiro Hamaji
2fb7b61a2e Use KATI_DEPFILE for .P associated with object files
Also specify "-d keepdepfile" to ninja so .P files won't be
deleted by ninja.

-include for .s files are removed because GCC doesn't
generate .d files for .s files.

Bug: 26839129
Bug: 27886012
Change-Id: If00e93c7a33449ec314a5cdba438475a32979f4e
(cherry picked from commit 4037c4225a)
2016-03-29 12:10:03 -07:00
Dan Albert
565f161363 Merge "Using stlport_static or c++_static requires libdl."
am: 2d3d14b

* commit '2d3d14b69bfc4e0c85ebc3266b22bf57e94adf64':
  Using stlport_static or c++_static requires libdl.
2016-03-24 01:34:37 +00:00
Dan Albert
2d3d14b69b Merge "Using stlport_static or c++_static requires libdl." 2016-03-24 01:26:09 +00:00
Ying Wang
7dee3625e0 Merge "Create empty .a on Darwin when there is no obj file."
am: 37aa85e

* commit '37aa85e8bb0d86cae946d85a27b6ded593c425b7':
  Create empty .a on Darwin when there is no obj file.
2016-03-23 16:56:20 +00:00
Ying Wang
4aaa1a1fd8 Create empty .a on Darwin when there is no obj file.
On Darwin ar would fail if there is no object file to add.
We work around by adding a dummy.o to the .a and then deleting it.

Bug: 27800477
Change-Id: I68bbebea2726058c25863d7026a645a520d05167
2016-03-22 18:23:13 -07:00
Dan Albert
a81e1b7fed Using stlport_static or c++_static requires libdl.
Why? For one, libgcc's unwinder makes use of `dl_iterate_phdr`. Also,
libgabi++ (the home grown C++ RT we use for stlport) uses
`dlopen` for liblog when reporting fatal errors. The LLVM unwinder
which is used by libc++ also uses libdl.

Requiring a dependency on libdl seems less objectionable than
requiring one on liblog. We could always change libgabi++ to  use
syslog instead, but that will only reach logcat for newer devices
(possibly L+, definitely M+).

Requiring libdl seems like the best option here, especially given
that libgcc needs it anyway.

Change-Id: I4acfaf38145c39fc15a76fbb282a46786e5322f1
2016-03-22 17:15:14 -07:00
Shinichiro Hamaji
082d5e5081 Merge "Replace last -includes by .KATI_DEPFILE"
am: c26ec724b8

* commit 'c26ec724b8b4d356573901f96e1a8ce728bdd1b1':
  Replace last -includes by .KATI_DEPFILE
2016-03-15 23:06:31 +00:00
Shinichiro Hamaji
72904774a3 Replace last -includes by .KATI_DEPFILE
There was a typo in binary.mk. compile-dotdot-XXX-file in
definitions.mk was also using -include.

Bug: 26839129
Change-Id: I4a0145fb70413998cc65d30d2efcd68af07b4800
2016-03-16 06:40:04 +09:00
Shinichiro Hamaji
fb87a2610d Merge "Use KATI_DEPFILE for .P associated with object files"
am: b95dc31033

* commit 'b95dc310330bd59fa860ab98822529bb0d2256c6':
  Use KATI_DEPFILE for .P associated with object files
2016-03-14 22:07:10 +00:00
Shinichiro Hamaji
b95dc31033 Merge "Use KATI_DEPFILE for .P associated with object files" 2016-03-14 21:59:46 +00:00
Dan Willemsen
b36a413519 Merge "Reexport include dirs for whole static libs" am: e2379484ab
am: 90074f7f1f

* commit '90074f7f1f128cbd528d6d709bb3aa2d22783884':
  Reexport include dirs for whole static libs
2016-03-08 07:46:03 +00:00
Dan Willemsen
a7808accf4 Reexport include dirs for whole static libs
When a static library uses LOCAL_EXPORT_C_INCLUDE_DIRS, then is included
entirely in another library with LOCAL_WHOLE_STATIC_LIBRARIES, all the
symbols are reexported, so reexport the headers too.

Change-Id: I92cf17894fc991a5b5ecb59ca5e095e407c98de4
2016-03-04 12:47:37 -08:00