Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 627280f0 authored by Colin Cross's avatar Colin Cross
Browse files

Remove llndk_headers

Replace llndk_headers with cc_library_headers with
llndk.llndk_headers: true.

Bug: 170784825
Test: m checkbuild
Test: compare out/soong/build.ninja
Test: TestLlndkHeaders
Change-Id: I33b411cd4d474318796c2073375176b82dd8c216
parent 1f3f130e
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -1121,13 +1121,6 @@ func (c *Module) IsLlndkPublic() bool {
	return c.VendorProperties.IsLLNDK && !c.VendorProperties.IsVNDKPrivate
}

func (c *Module) IsLlndkHeaders() bool {
	if _, ok := c.linker.(*llndkHeadersDecorator); ok {
		return true
	}
	return false
}

func (c *Module) IsLlndkLibrary() bool {
	if _, ok := c.linker.(*llndkStubDecorator); ok {
		return true
@@ -1608,8 +1601,7 @@ func (c *Module) setSubnameProperty(actx android.ModuleContext) {
	}

	llndk := c.IsLlndk()
	_, llndkHeader := c.linker.(*llndkHeadersDecorator)
	if llndk || llndkHeader || (c.UseVndk() && c.HasNonSystemVariants()) {
	if llndk || (c.UseVndk() && c.HasNonSystemVariants()) {
		// .vendor.{version} suffix is added for vendor variant or .product.{version} suffix is
		// added for product variant only when we have vendor and product variants with core
		// variant. The suffix is not added for vendor-only or product-only module.
+16 −8
Original line number Diff line number Diff line
@@ -557,8 +557,11 @@ func TestVndk(t *testing.T) {
			export_llndk_headers: ["libllndk_headers"],
		}

		llndk_headers {
		cc_library_headers {
			name: "libllndk_headers",
			llndk: {
				llndk_headers: true,
			},
			export_include_dirs: ["include"],
		}

@@ -903,8 +906,11 @@ func TestVndkWhenVndkVersionIsNotSet(t *testing.T) {
			export_llndk_headers: ["libllndk_headers"],
		}

		llndk_headers {
		cc_library_headers {
			name: "libllndk_headers",
			llndk: {
				symbol_file: "libllndk.map.txt",
			},
			export_include_dirs: ["include"],
		}
	`)
@@ -2920,17 +2926,19 @@ func TestEmbeddedLlndkLibrary(t *testing.T) {

func TestLlndkHeaders(t *testing.T) {
	ctx := testCc(t, `
	llndk_headers {
	cc_library_headers {
		name: "libllndk_headers",
		export_include_dirs: ["my_include"],
	}
	llndk_library {
		name: "libllndk.llndk",
		export_llndk_headers: ["libllndk_headers"],
		llndk: {
			llndk_headers: true,
		},
	}
	cc_library {
		name: "libllndk",
		llndk_stubs: "libllndk.llndk",
		llndk: {
			symbol_file: "libllndk.map.txt",
			export_llndk_headers: ["libllndk_headers"],
		}
	}

	cc_library {
+1 −1
Original line number Diff line number Diff line
@@ -437,7 +437,7 @@ func MutateImage(mctx android.BaseModuleContext, m ImageMutatableModule) {
		productVndkVersion = platformVndkVersion
	}

	if m.IsLlndkLibrary() || m.IsLlndkHeaders() || m.NeedsLlndkVariants() {
	if m.IsLlndkLibrary() || m.NeedsLlndkVariants() {
		// This is an LLNDK library.  The implementation of the library will be on /system,
		// and vendor and product variants will be created with LLNDK stubs.
		// The LLNDK libraries need vendor variants even if there is no VNDK.
+0 −3
Original line number Diff line number Diff line
@@ -106,9 +106,6 @@ type LinkableInterface interface {
	// IsLlndkPublic returns true only for LLNDK (public) libs.
	IsLlndkPublic() bool

	// IsLlndkHeaders returns true if this module is an LLNDK headers module.
	IsLlndkHeaders() bool

	// IsLlndkLibrary returns true if this module is an LLNDK library module.
	IsLlndkLibrary() bool

+0 −34
Original line number Diff line number Diff line
@@ -166,40 +166,6 @@ func isVestigialLLNDKModule(m *Module) bool {
	return ok
}

type llndkHeadersDecorator struct {
	*libraryDecorator
}

func (llndk *llndkHeadersDecorator) linkerDeps(ctx DepsContext, deps Deps) Deps {
	deps.HeaderLibs = append(deps.HeaderLibs, llndk.Properties.Llndk.Export_llndk_headers...)
	deps.ReexportHeaderLibHeaders = append(deps.ReexportHeaderLibHeaders,
		llndk.Properties.Llndk.Export_llndk_headers...)
	return deps
}

// llndk_headers contains a set of c/c++ llndk headers files which are imported
// by other soongs cc modules.
func llndkHeadersFactory() android.Module {
	module, library := NewLibrary(android.DeviceSupported)
	library.HeaderOnly()
	module.stl = nil
	module.sanitize = nil

	decorator := &llndkHeadersDecorator{
		libraryDecorator: library,
	}

	module.compiler = nil
	module.linker = decorator
	module.installer = nil
	module.library = decorator

	module.Init()

	return module
}

func init() {
	android.RegisterModuleType("llndk_library", LlndkLibraryFactory)
	android.RegisterModuleType("llndk_headers", llndkHeadersFactory)
}
Loading