Merge "Handle the 'enabled' property in bp2build"
diff --git a/bp2build/sh_conversion_test.go b/bp2build/sh_conversion_test.go
index f6d2a20..ac89087 100644
--- a/bp2build/sh_conversion_test.go
+++ b/bp2build/sh_conversion_test.go
@@ -73,3 +73,20 @@
 			})},
 	})
 }
+
+func TestShBinaryDefaults(t *testing.T) {
+	runShBinaryTestCase(t, bp2buildTestCase{
+		description:                "sh_binary test",
+		moduleTypeUnderTest:        "sh_binary",
+		moduleTypeUnderTestFactory: sh.ShBinaryFactory,
+		blueprint: `sh_binary {
+    name: "foo",
+    src: "foo.sh",
+    bazel_module: { bp2build_available: true },
+}`,
+		expectedBazelTargets: []string{
+			makeBazelTarget("sh_binary", "foo", attrNameToString{
+				"srcs": `["foo.sh"]`,
+			})},
+	})
+}
diff --git a/cc/cc_test.go b/cc/cc_test.go
index bcc6fcd..31d91b6 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -3980,9 +3980,9 @@
 	conly := []string{"-fPIC", "${config.CommonGlobalConlyflags}"}
 	cppOnly := []string{"-fPIC", "${config.CommonGlobalCppflags}", "${config.DeviceGlobalCppflags}", "${config.ArmCppflags}"}
 
-	cflags := []string{"-Wall", "-Werror"}
-	cstd := []string{"-std=gnu99"}
-	cppstd := []string{"-std=gnu++17", "-fno-rtti"}
+	cflags := []string{"-Wall", "-Werror", "-std=candcpp"}
+	cstd := []string{"-std=gnu99", "-std=conly"}
+	cppstd := []string{"-std=gnu++17", "-std=cpp", "-fno-rtti"}
 
 	lastIncludes := []string{
 		"out/soong/ndk/sysroot/usr/include",
@@ -4025,6 +4025,9 @@
 		cc_library {
 			name: "libfoo",
 			srcs: ["%s"],
+			cflags: ["-std=candcpp"],
+			conlyflags: ["-std=conly"],
+			cppflags: ["-std=cpp"],
 			local_include_dirs: ["local_include_dirs"],
 			export_include_dirs: ["export_include_dirs"],
 			export_system_include_dirs: ["export_system_include_dirs"],
diff --git a/sh/sh_binary.go b/sh/sh_binary.go
index e1df8ac..b1d1bb2 100644
--- a/sh/sh_binary.go
+++ b/sh/sh_binary.go
@@ -511,8 +511,8 @@
 
 type bazelShBinaryAttributes struct {
 	Srcs     bazel.LabelListAttribute
-	Filename string
-	Sub_dir  string
+	Filename *string
+	Sub_dir  *string
 	// Bazel also supports the attributes below, but (so far) these are not required for Bionic
 	// deps
 	// data
@@ -538,14 +538,14 @@
 	srcs := bazel.MakeLabelListAttribute(
 		android.BazelLabelForModuleSrc(ctx, []string{*m.properties.Src}))
 
-	var filename string
+	var filename *string
 	if m.properties.Filename != nil {
-		filename = *m.properties.Filename
+		filename = m.properties.Filename
 	}
 
-	var subDir string
+	var subDir *string
 	if m.properties.Sub_dir != nil {
-		subDir = *m.properties.Sub_dir
+		subDir = m.properties.Sub_dir
 	}
 
 	attrs := &bazelShBinaryAttributes{