Create sysprop_library soong module
A newly introduced sysprop_library soong module will generate a java_sdk_library and a cc_library from .sysprop description files. Both Java modules and C++ modules can link against sysprop_library module, thus giving consistency for using generated sysprop API. As Java controls accessibility of Internal / System properties with @hide and @SystemApi, 2 different header files will be created. And build system will selectively expose depending on the property owner and the place where the client libraries go into. Bug: 80125326 Bug: 122170616 Test: 1) Create sysprop_library module. Test: 2) Create empty txt files under prebuilts/sdk. Test: 3) Create api directory, make update-api, and see changes. Test: 4) Try to link against sysprop_library with various clients. Test: 5) Soc_specific, Device_specific, Product_specific, recovery flags work as intended. Change-Id: I78dc5780ccfbb4b69e5c61dec26b94e92d43c333
This commit is contained in:
161
cc/cc_test.go
161
cc/cc_test.go
@@ -51,165 +51,6 @@ func TestMain(m *testing.M) {
|
||||
os.Exit(run())
|
||||
}
|
||||
|
||||
func gatherRequiredDeps(os android.OsType) string {
|
||||
ret := `
|
||||
toolchain_library {
|
||||
name: "libatomic",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
src: "",
|
||||
}
|
||||
|
||||
toolchain_library {
|
||||
name: "libcompiler_rt-extras",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
src: "",
|
||||
}
|
||||
|
||||
toolchain_library {
|
||||
name: "libclang_rt.builtins-arm-android",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
src: "",
|
||||
}
|
||||
|
||||
toolchain_library {
|
||||
name: "libclang_rt.builtins-aarch64-android",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
src: "",
|
||||
}
|
||||
|
||||
toolchain_library {
|
||||
name: "libclang_rt.builtins-i686-android",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
src: "",
|
||||
}
|
||||
|
||||
toolchain_library {
|
||||
name: "libclang_rt.builtins-x86_64-android",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
src: "",
|
||||
}
|
||||
|
||||
toolchain_library {
|
||||
name: "libgcc",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
src: "",
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "libc",
|
||||
no_libgcc: true,
|
||||
nocrt: true,
|
||||
system_shared_libs: [],
|
||||
recovery_available: true,
|
||||
}
|
||||
llndk_library {
|
||||
name: "libc",
|
||||
symbol_file: "",
|
||||
}
|
||||
cc_library {
|
||||
name: "libm",
|
||||
no_libgcc: true,
|
||||
nocrt: true,
|
||||
system_shared_libs: [],
|
||||
recovery_available: true,
|
||||
}
|
||||
llndk_library {
|
||||
name: "libm",
|
||||
symbol_file: "",
|
||||
}
|
||||
cc_library {
|
||||
name: "libdl",
|
||||
no_libgcc: true,
|
||||
nocrt: true,
|
||||
system_shared_libs: [],
|
||||
recovery_available: true,
|
||||
}
|
||||
llndk_library {
|
||||
name: "libdl",
|
||||
symbol_file: "",
|
||||
}
|
||||
cc_library {
|
||||
name: "libc++_static",
|
||||
no_libgcc: true,
|
||||
nocrt: true,
|
||||
system_shared_libs: [],
|
||||
stl: "none",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
}
|
||||
cc_library {
|
||||
name: "libc++",
|
||||
no_libgcc: true,
|
||||
nocrt: true,
|
||||
system_shared_libs: [],
|
||||
stl: "none",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
vndk: {
|
||||
enabled: true,
|
||||
support_system_process: true,
|
||||
},
|
||||
}
|
||||
cc_library {
|
||||
name: "libunwind_llvm",
|
||||
no_libgcc: true,
|
||||
nocrt: true,
|
||||
system_shared_libs: [],
|
||||
stl: "none",
|
||||
vendor_available: true,
|
||||
recovery_available: true,
|
||||
}
|
||||
|
||||
cc_object {
|
||||
name: "crtbegin_so",
|
||||
recovery_available: true,
|
||||
vendor_available: true,
|
||||
}
|
||||
|
||||
cc_object {
|
||||
name: "crtbegin_static",
|
||||
recovery_available: true,
|
||||
vendor_available: true,
|
||||
}
|
||||
|
||||
cc_object {
|
||||
name: "crtend_so",
|
||||
recovery_available: true,
|
||||
vendor_available: true,
|
||||
}
|
||||
|
||||
cc_object {
|
||||
name: "crtend_android",
|
||||
recovery_available: true,
|
||||
vendor_available: true,
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "libprotobuf-cpp-lite",
|
||||
}
|
||||
`
|
||||
if os == android.Fuchsia {
|
||||
ret += `
|
||||
cc_library {
|
||||
name: "libbioniccompat",
|
||||
stl: "none",
|
||||
}
|
||||
cc_library {
|
||||
name: "libcompiler_rt",
|
||||
stl: "none",
|
||||
}
|
||||
`
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func createTestContext(t *testing.T, config android.Config, bp string, os android.OsType) *android.TestContext {
|
||||
ctx := android.NewTestArchContext()
|
||||
ctx.RegisterModuleType("cc_binary", android.ModuleFactoryAdaptor(BinaryFactory))
|
||||
@@ -233,7 +74,7 @@ func createTestContext(t *testing.T, config android.Config, bp string, os androi
|
||||
ctx.Register()
|
||||
|
||||
// add some modules that are required by the compiler and/or linker
|
||||
bp = bp + gatherRequiredDeps(os)
|
||||
bp = bp + GatherRequiredDepsForTest(os)
|
||||
|
||||
ctx.MockFileSystem(map[string][]byte{
|
||||
"Android.bp": []byte(bp),
|
||||
|
Reference in New Issue
Block a user