Apply native_bridge suffix to all cc_modules

This fixes the problem with cc_object not having this suffix and
as a result overriding non-bridged variants for modules using mk files.

Bug: http://b/77159578
Test: build 4arch product
Change-Id: Ie958f997c6f54f93d8b2987ca5ba605004e1eb70
diff --git a/android/androidmk.go b/android/androidmk.go
index 2bbd452..7d0aa3b 100644
--- a/android/androidmk.go
+++ b/android/androidmk.go
@@ -28,10 +28,6 @@
 	"github.com/google/blueprint/bootstrap"
 )
 
-var (
-	NativeBridgeSuffix = ".native_bridge"
-)
-
 func init() {
 	RegisterSingletonType("androidmk", AndroidMkSingleton)
 }
@@ -165,10 +161,6 @@
 		}
 	}
 
-	if amod.Target().NativeBridge {
-		a.SubName += NativeBridgeSuffix
-	}
-
 	fmt.Fprintln(&a.header, "\ninclude $(CLEAR_VARS)")
 
 	// Collect make variable assignment entries.
diff --git a/cc/androidmk.go b/cc/androidmk.go
index c7883e2..a02549d 100644
--- a/cc/androidmk.go
+++ b/cc/androidmk.go
@@ -24,8 +24,9 @@
 )
 
 var (
-	vendorSuffix   = ".vendor"
-	recoverySuffix = ".recovery"
+	nativeBridgeSuffix = ".native_bridge"
+	vendorSuffix       = ".vendor"
+	recoverySuffix     = ".recovery"
 )
 
 type AndroidMkContext interface {
@@ -105,6 +106,10 @@
 	}
 	c.subAndroidMk(&ret, c.installer)
 
+	if c.Target().NativeBridge == android.NativeBridgeEnabled {
+		ret.SubName += nativeBridgeSuffix
+	}
+
 	if c.useVndk() && c.hasVendorVariant() {
 		// .vendor suffix is added only when we will have two variants: core and vendor.
 		// The suffix is not added for vendor-only module.
diff --git a/cc/cc.go b/cc/cc.go
index 786e4fd..6c26b52 100644
--- a/cc/cc.go
+++ b/cc/cc.go
@@ -1826,7 +1826,7 @@
 			} else if ccDep.inRecovery() && !ccDep.onlyInRecovery() {
 				return libName + recoverySuffix
 			} else if ccDep.Target().NativeBridge == android.NativeBridgeEnabled {
-				return libName + android.NativeBridgeSuffix
+				return libName + nativeBridgeSuffix
 			} else {
 				return libName
 			}