Add libsigchain to the embedded.mk makefile

This library is used in a LD_PRELOAD environment variable and the linker shows
a warning if it is not present.  This change is to added it to all targets so
that the warning is not shown.  If ART is not provided on the device this
library has no effect.

Change-Id: I81f01b66fa9c78048534f4bcfc04d62b18057a03
Support LOCAL_CLANG with arch/bit suffix.

Precedence: LOCAL_CLANG_<arch> > LOCAL_CLANG_<32|64> > LOCAL_CLANG.

Bug: 15257067
Change-Id: I86b72f3bec162834591287d3b5231b5f40f9a431
Merge "Support LOCAL_CLANG with arch/bit suffix."
Fix pattern rules for $(installed_odex) for libdvm.

When the VM is libdvm, we don't put the odex files in an arch specific
subdirectory. The previous pattern rules don't work because of the extra
"/". With this change, % evaluates to empty string when it's built for
libdvm; % evaluates to "<arch_name>/" when it's built for libart.
Also removed use of $(create-empty-package), which may causes file name
(dummy) conflict with the rule of package.apk.

Bug: 15311527
Change-Id: I9f9089bc1896b78c1f47834afdb28a3a51d34480
Merge "Fix pattern rules for $(installed_odex) for libdvm."
Move to dalvik.vm.lib.2 to force default to libart

Bug: 14298175

(cherry picked from commit 7e127ebe0bf8753fcbeeac6140916d512322e308)

Change-Id: I0a94e01f46fcc074d8c8fd1e5558fb764ab47361
Merge "Move to dalvik.vm.lib.2 to force default to libart"
Add a dummy build recipe for the proto generated header files

This fixed issue that gnumake skip updating the cpp file that includes
the generated header file when the .proto file gets updated.
For example:
Say a.cc includes b.pb.h, since b.pb.h is just byproduct of the rule
that generates b.pb.cc, and though we have dependency "b.pb.h :
b.pb.cc", but we don't have build recipe for that rule.
Gmake stupidly thinks that b.pb.h must not be updated in that case so
it skips all targets that depends on b.pb.h!
With the dumy build recipe, gmake now doesn't skip the depedent targets.

Bug: 13009798
Change-Id: I39adc09b7656bdd023f578fb8933667944fd974c
Add a dummy build recipe for generated RS cpp files.

Previously the RS cpp files are generated by the timestamp rule. Though
we have the generated RS cpp files depend on the timestamp file, we
don't have a build recipe. In such case gmake does some "optimization"
that it skip recompiling the generated cpp files, because it assumes the
generated cpp files are already up to date even if the rs files have
been updated.

Bug: 15313144
Change-Id: Ie69ecd2c788057d3619f9c7d2a125d44c4a534a1
Merge "Add a dummy build recipe for the proto generated header files"
Merge "Add a dummy build recipe for generated RS cpp files."
Remove dependencies on runtime_libdvm and libdvm.so in general

Bug: 14298175

(cherry picked from commit bf8a374a92e327efed95892fe67e6917a89c6c2b)

Change-Id: I183d1ff078a54c422305d8798ea200855265ebb6
Only enable WITH_DEXPREOPT by default for libdvm.so

Bug: 14298175

(cherry picked from commit 9f8e214a919097284a88cb19a1b85ceafc202a67)

Change-Id: I96ba4e198b7bc1b7d9a502c432590f41c87d05c4
Add -latomic to all target builds

Projects using stdatomic.h needs libatomic.a in case compiler can't
expand all __atomic* intrinsics. eg, __atomic_is_lock_free in
armeabi/mips.

Adding libatomic.a globally makes more sense than adding
"LOCAL_LDLIB += -latomic " in each project including <stdatomic.h>.
Projects don't need atomic operations won't get redundant DT_NEEDED
entry because libatomic.a is not a shared library.

Change-Id: I81dbf524544c848e667e18ab5eeabff75b5063ef
Merge "Remove dependencies on runtime_libdvm and libdvm.so in general"
Merge "Only enable WITH_DEXPREOPT by default for libdvm.so"
Merge "Add libsigchain to the embedded.mk makefile"
Merge "Add -latomic to all target builds"
auto-merger: merge in from aosp/master