Age | Commit message (Collapse) | Author |
|
am: aeada9605d
Change-Id: I566716a2c401e7a875faf3d576c35f7d8eb79191
|
|
am: f1c590a8e5
Change-Id: Id979d208d6923eb9511015463659516e30cc5591
|
|
am: 2ad12394da
Change-Id: Ifec7cec0ee414561b88536a7d43ca4c388b9c582
|
|
am: 3beed5b5f3
Change-Id: Iff20b7bbacf2e11d2331a0632c576a7820aa534a
|
|
am: c2041e1a32
Change-Id: I8c46a188a6f79a1ca1ce83054e969e9f8598a33c
|
|
am: bff63a6026
Change-Id: I801f2cf8f0c62c3447e9011be2c67fd1a48e55fa
|
|
By setting vendor_available, the following may become true:
* a prebuilt library from this release may be used at runtime by
in a later releasse (by vendor code compiled against this release).
so this library shouldn't depend on runtime state that may change
in the future.
* this library may be loaded twice into a single process (potentially
an old version and a newer version). The symbols will be isolated
using linker namespaces, but this may break assumptions about 1
library in 1 process (your singletons will run twice).
Background:
This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.
At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.
It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:
https://android-review.googlesource.com/368372
None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.
Bug: 36426473
Bug: 36079834
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
Merged-In: I9722ac3b803d9dab8c01a714d72904fa4dd40196
Change-Id: I9722ac3b803d9dab8c01a714d72904fa4dd40196
|
|
By setting vendor_available, the following may become true:
* a prebuilt library from this release may be used at runtime by
in a later releasse (by vendor code compiled against this release).
so this library shouldn't depend on runtime state that may change
in the future.
* this library may be loaded twice into a single process (potentially
an old version and a newer version). The symbols will be isolated
using linker namespaces, but this may break assumptions about 1
library in 1 process (your singletons will run twice).
Background:
This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.
At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.
It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:
https://android-review.googlesource.com/368372
None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.
Bug: 36426473
Bug: 36079834
Test: Android-aosp_arm.mk is the same before/after
Test: build.ninja is the same before/after
Test: build-aosp_arm.ninja is the same before/after
Test: attempt to compile with BOARD_VNDK_VERSION := current
Change-Id: I9722ac3b803d9dab8c01a714d72904fa4dd40196
|
|
am: 83b43216cd
Change-Id: I4b06d954f884898b08a876e4ae5544157f189810
|
|
am: 6cac0f7aa6
Change-Id: Ifad0ce691dd4516cf8fdfbac694a726025fd41eb
|
|
am: fb55ae612c
Change-Id: Ica8fec2791859557d7b50f26d7d3ff4f6acbce67
|
|
Bug: 31559095
Test: Enable host bionic, run soong
Change-Id: I5ddcdaff752c0abc02b1390d9bf81142f0710720
|
|
am: 1653ecc355
Change-Id: I85479ddaaf2e1ebb465878763349b15d34cf3c14
|
|
am: 7cc9a395fc
Change-Id: I7fdc0b8a066b018eec2990e1c6da986fc8f63fe3
|
|
am: 664afb1eb4
Change-Id: Ib6d8636e4a88dafdef6a9dba14eb387087139a9b
|
|
am: 5f9167db37
Change-Id: I261d8f98ba71fbcb850703ce29724d1ce58d5206
|
|
/sdcard is no longer available for processes running in app
context starting from Android O. Instead, first try /data/local/tmp,
which is usually used as the temporary directory, then try the
current directory, which is usually accessible in app context.
Bug: http://b/18790309
Test: Run each gtest unit test in both shell context and app context.
Test: Tests *DeathTestInChangedDir can't pass in app context because
Test: both /data/local/tmp and / are not writable in app context.
Change-Id: Ie7918dbe7dccd24395dccc0c651359893350e2a2
|
|
am: 192dd54bbd
Change-Id: Id52af6279d79b0c52bda81dea4ec019366a0ba6f
|
|
am: 5d2a1d9b42
Change-Id: Iff6004e69eb09f78480108c29587b1093af9f9c0
|
|
am: 90bc60c06c
Change-Id: I46cdf090bc2ffccaf7285fd3358ce92fd4843fe3
|
|
am: 766bcc63f8
Change-Id: I06f2d7ae758678b50b8f75386f59c2e257018d31
|
|
|
|
am: 693afab029
Change-Id: I8c169a682115a6196c752a0b602b449f5641e61c
|
|
am: 2df4b25f32
Change-Id: Ic52cb2d54fc4ddb506553a150e65a5795b605c8d
|
|
am: 3057bc27d5
Change-Id: I64f689ebbf889755b7ba2d92bd043c0c67955ed4
|
|
am: a1a8878615
Change-Id: I5406baa59200fed38db3865b9bc17706fb66dccc
|
|
Reverts commit fde6da7c999728eb1b9b510966040bc1e1190335.
Bug: 31098551
Test: m SANITIZE_HOST=address SANITIZE_TARGET=address checkbuild
Change-Id: I17990531fa7bcf445af8d2d46447be58aa4c6ab6
|
|
* `LOCAL_CPP_EXTENSION` isn't needed in ndk-build.
* `LOCAL_RTTI_FLAG` is handled by `LOCAL_CPP_FEATURES` in ndk-build.
* `LOCAL_EXPORT_C_INCLUDE_DIRS` is spelled `LOCAL_C_INCLUDES` in
ndk-build.
* The NDK libgtest_main modules need to carry their libgtest
dependencies.
* The NDK historically exposed these libraries under different names.
* The NDK historically exposed shared library flavors of these.
Test: ndk/validate.py
Bug: http://b/25981268
Change-Id: If1865311b1411ad7a200bea6180e8b88d734d388
|
|
am: 32f1c1801d
am: bba4905bb2
Change-Id: Ie290f89b07350c060697e6117baca2654a61f872
|
|
am: 32f1c1801d
Change-Id: Ifeec8a29b6395b0fccc2a56374c3835433985164
|
|
am: efeb30707c
Change-Id: I5b05fb4b7147dda850f67295beb504550116f71d
|
|
am: 6451539467
Change-Id: I39c9fd976e5ebc5ff52399a2d8ec34052dc891b4
|
|
* gtest_unittest.cc explicitly tests anonymous enum type.
Test: make checkbuild
Change-Id: If65467f7515df235398948fff48f067a79323916
|
|
0e4aee4eb0
am: bd59c46408
Change-Id: Id5d9c930e72f7b842419c14d5c7647796d447c3f
|
|
am: 0e4aee4eb0
Change-Id: I813d52eed01ba9c667bda8cafd6c793d7abad88a
|
|
am: 21161f7b39
Change-Id: Ia73344b3610695ac660c72ea86790f4da69c2162
|
|
am: cc5b45721e
Change-Id: If76115ee615bedfd93ff176d3689d8671af77251
|
|
am: bd34c53e08
Change-Id: I3459ca173a7bd332bedfc690193c83817af22ffa
|
|
We build suffixed versions of this executable for the NDK versions.
Check those names too.
Longer term we should probably dump the tests into a different
directory so they can keep the correct name.
Test: ./run_tests.py
Bug: None
Change-Id: Ib78b5ae794ae51ae280ac243d295fe84cc182df5
|
|
am: 6a23d60ecf
Change-Id: Ie8073e56584bb2cbbc0c4d5964bb1fb8bd86d0d4
|
|
am: 0db0cbdd0e
Change-Id: I6866aabec9158d203b474c7674cce300a42ffd31
|
|
am: 5889602572
Change-Id: Iffbafdba067e66d85370831000eef85c67d4411f
|
|
Test: make ANDROID_BUILDSPEC=vendor/google/build/app_build_spec.mk
Bug: None
Change-Id: I0ef317a0ca5323101146c0884324c57f3815a49c
|
|
am: e776ef7a58
Change-Id: I1fdbe9644795a048c1bbacc7f5c074766d524cc1
|
|
am: 532ad271af
Change-Id: Idbc20f5dbe4bfad29dd2c51702dc84a5c8000320
|
|
am: 3c83e04439
Change-Id: I7e66080b213439fda475bfcf88aa4eca4777efb5
|
|
am: 69ab970c69
Change-Id: I8765c572826f5efc29db726440ad90c720e1c68b
|
|
The gtest Android.mk is a little unusal. We use this source exactly in
both the platform and the NDK, but the module definitions needs to be
slightly different for each.
We don't ship gmock in the NDK (yet), so it is spared this mess.
Test: make checkbuild && adb sync && ./run_tests.py
Bug: http://b/16574165
Change-Id: I4f4224ab05b59acb3118ce1629ad998d0c5fe1b9
|
|
am: 013ee6f
* commit '013ee6fccb6bb9ebd6215b504f0eef45dccfde4e':
Link license files to NOTICE. Add MODULE_LICENSE.
Change-Id: I20b109a6e916c075b306ad6cc6f50fb7eac5f357
|
|
am: 96bdf36
* commit '96bdf3635a8e65a724cc684fff8fb5f9b953187d':
Add README.version.
Change-Id: I4c1da52eef3ae3d2aae8caac964b863216284284
|