Commit Graph

334 Commits

Author SHA1 Message Date
Christopher Wiley 597a65cad0 am 2b2c9dff: am 4e719eaf: Merge "Change .dbus.xml extension to .dbus-xml"
* commit '2b2c9dff35304c21ebe1e793a16443a882920f75':
  Change .dbus.xml extension to .dbus-xml
2015-08-21 22:25:31 +00:00
Christopher Wiley 9b17dea308 Change .dbus.xml extension to .dbus-xml
Work around gyp's inability to handle compound extensions by expecting
a similar looking simple extension for XML files definine DBus
interfaces.  We'll need to rename these sources in the places we're
using them already.

Bug: 23380180
Change-Id: Ieb2050f3ef05456cd70de65c3e128d57a6a508f8
2015-08-20 09:36:08 -07:00
Christopher Wiley 3b27c3743e am 688b4a3d: am 4d2b79f9: Merge "Generate DBus proxies and adaptors separately"
* commit '688b4a3db72b58e8908ecdb24e6c4d64a44fdbc6':
  Generate DBus proxies and adaptors separately
2015-08-19 22:20:23 +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
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 Albert 0d7b6137f0 am 8d61be6c: am f9b75b1b: Merge "Don\'t filter on a non-existent variable."
* commit '8d61be6c781277ae3f5423c805092220a961b102':
  Don't filter on a non-existent variable.
2015-08-17 20:28:05 +00: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
Yang Ni 5ed8b24fd4 am dcfb0c80: am 36600a6b: Merge "Include target api version in build system for rscpp."
* commit 'dcfb0c8018ec9e81fa79f3251a3d49a4cc90ddf4':
  Include target api version in build system for rscpp.
2015-08-15 02:19:06 +00:00
Yang Ni 36600a6bf9 Merge "Include target api version in build system for rscpp." 2015-08-14 18:39:47 +00: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 f749e769bc am 2c00d629: am 727b462a: Merge "Never allow -w."
* commit '2c00d62940e7f88b2168ccf3a29a1d3e84f59bfa':
  Never allow -w.
2015-08-13 17:02:15 +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
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 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
Gilad Arnold 0b2fab8087 am 5070204e: am 7b49da7e: Merge "Remove LOCAL_MODULE from generated DBus header path."
* commit '5070204e117d5a20f06fa337c652e36884f29d86':
  Remove LOCAL_MODULE from generated DBus header path.
2015-08-06 22:10:49 +00:00
Gilad Arnold 7b49da7e9a Merge "Remove LOCAL_MODULE from generated DBus header path." 2015-08-06 21:55:47 +00:00
Dan Albert e8966296b7 am 100422b2: am 2e4b90e5: Merge "Dedup system shared libraries."
* commit '100422b2311a96fbbdb1ba62a9945c2637c9e861':
  Dedup system shared libraries.
2015-08-06 21:40:51 +00:00
Dan Albert 2e4b90e5f1 Merge "Dedup system shared libraries." 2015-08-06 21:25:45 +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
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
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 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 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 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
Evgenii Stepanov 545a6bb2a6 am 275e3c8c: am 2d0ec893: Merge "Use a different linker for ASan binaries."
* commit '275e3c8c105e5702b25868f80983c82c668e5664':
  Use a different linker for ASan binaries.
2015-07-15 19:59:13 +00:00
Evgenii Stepanov 8f5e67a98c Use a different linker for ASan binaries.
Another change in bionic/linker adds linker_asan/linker_asan64 that
know where to find ASan shared libraries.
Also, include linker_asan to the required packages list when building
for ASan.

Change-Id: I8ebe7c0091bbeb0c135708a891d33d9844373d37
2015-07-14 11:10:40 -07:00
Ying Wang 1f59fcb23d am 8f908ade: am 2e26f896: Merge "Simplify LOCAL_NO_CRT."
* commit '8f908ade58fd21d5bb27b7a42f8f07553c237df6':
  Simplify LOCAL_NO_CRT.
2015-07-04 02:58:23 +00:00
Ying Wang 491fca9809 Simplify LOCAL_NO_CRT.
Change-Id: If2486e4861071df6b225fe7f387530a38f554484
2015-07-02 15:58:34 -07: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 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
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