platform_build_soong/android
Jiyong Park 4c48f724e1 install *.so in different paths for their types
Shared libraries are now installed to different directories depending on
their types.

* NDK libraries: /system/lib/ndk
* VNDK libraries: /system/lib/vndk
* VNDK-ext libraries: /system/lib/vndk-ext
* Framework-only libraries: /system/lib
* Vendor-only libraries: /vendor/lib
* Same-process HALs: /vendor/lib/sameprocess

In addition, a new module type vndk_ext_library is added. It is almost
identical to cc_shared_library but it introduces another attribute
'extends'. This is use to reference the vndk library that this vndk-ext
library is extending.

For example, in order to extend a vndk library libFoo:

cc_library {
  name: "libFoo",
  srcs: [...]
}
---------------------
vndk_ext_library {
  name: "libFoo-extended",
  srcs: [...]
  extends: "libFoo"
}

Then, libFoo will be installed as /system/lib/vndk/libFoo.so and
libFoo-extended will be installed as /system/lib/vndk-ext/libFoo.so.
Note that file name of the latter is libFoo.so, not libFoo-extended.so:
file name of an extending module is automatically set to that of the
extended module.

Bug: 33681361
Test: build & run. Libraries must be in the correct directories.
Change-Id: Ia1eb3940605d582a252c78da0f3a5b36fdab062b
2017-03-14 09:13:44 +09:00
..
androidmk.go Added phony module type for soong. 2017-02-06 22:23:19 -08:00
arch.go Do not duplicate arch properties when cpu variant == arch variant 2016-12-20 09:53:14 -08:00
config.go install *.so in different paths for their types 2017-03-14 09:13:44 +09:00
defaults.go Add a Name property 2016-10-12 17:24:49 -07:00
defs.go Add a "license" property to ndk_headers. 2016-10-20 13:30:07 -07:00
env.go Add support for CMakefile generation 2017-02-07 09:43:02 -08:00
expand.go genrule: expand $$ to $$ 2016-11-22 15:41:08 -08:00
expand_test.go genrule: expand $$ to $$ 2016-11-22 15:41:08 -08:00
hooks.go Replace PropertyCustomizer with hooks 2016-09-13 17:37:32 -07:00
makevars.go Move registration into android package 2016-10-12 14:30:44 -07:00
module.go Added phony module type for soong. 2017-02-06 22:23:19 -08:00
mutator.go Fall back to prebuilts if source modules are disabled 2016-11-30 13:09:45 -08:00
onceper.go Add DeviceConfig and OncePer objects 2016-08-17 16:39:06 -07:00
package_ctx.go Update soong to use pathtools.FileSystem 2017-02-02 16:19:56 -08:00
paths.go Support data properties for test binaries 2017-02-02 16:23:30 -08:00
paths_test.go Rename common to android 2016-05-18 15:37:25 -07:00
prebuilt.go Fall back to prebuilts if source modules are disabled 2016-11-30 13:09:45 -08:00
prebuilt_test.go Re-enable prebuilt_test 2016-10-14 17:07:49 -07:00
register.go Add support for CMakefile generation 2017-02-07 09:43:02 -08:00
util.go Move globbing to Blueprint 2016-11-04 04:54:16 +00:00
variable.go install *.so in different paths for their types 2017-03-14 09:13:44 +09:00