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

Commit ba4638f5 authored by Yu Liu's avatar Yu Liu Committed by Gerrit Code Review
Browse files

Merge "Support tailoring clang --target flag based on min sdk version."

parents 3f57c6a2 fc603167
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@ import (
	"encoding/json"
	"fmt"
	"strconv"

	"android/soong/starlark_fmt"
)

func init() {
@@ -380,3 +382,21 @@ func (a *apiLevelsSingleton) GenerateBuildActions(ctx SingletonContext) {
	apiLevelsJson := GetApiLevelsJson(ctx)
	createApiLevelsJson(ctx, apiLevelsJson, apiLevelsMap)
}

func printApiLevelsStarlarkDict(config Config) string {
	apiLevelsMap := GetApiLevelsMap(config)
	valDict := make(map[string]string, len(apiLevelsMap))
	for k, v := range apiLevelsMap {
		valDict[k] = strconv.Itoa(v)
	}
	return starlark_fmt.PrintDict(valDict, 0)
}

func StarlarkApiLevelConfigs(config Config) string {
	return fmt.Sprintf(`# GENERATED FOR BAZEL FROM SOONG. DO NOT EDIT.
_api_levels = %s

api_levels = _api_levels
`, printApiLevelsStarlarkDict(config),
	)
}
 No newline at end of file
+8 −3
Original line number Diff line number Diff line
@@ -15,12 +15,13 @@
package bp2build

import (
	"android/soong/android"
	"android/soong/cc"
	"android/soong/genrule"
	"fmt"
	"strings"
	"testing"

	"android/soong/android"
	"android/soong/cc"
	"android/soong/genrule"
)

const (
@@ -127,6 +128,8 @@ func TestBasicCcBinary(t *testing.T) {
        keep_symbols_list: ["symbol"],
        none: true,
    },
    sdk_version: "current",
    min_sdk_version: "29",
}
`,
		targets: []testBazelTarget{
@@ -150,6 +153,8 @@ func TestBasicCcBinary(t *testing.T) {
        "keep_symbols_list": ["symbol"],
        "none": True,
    }`,
        "sdk_version": `"current"`,
        "min_sdk_version": `"29"`,
			},
			},
		},
+4 −0
Original line number Diff line number Diff line
@@ -115,6 +115,8 @@ cc_library {
        },
    },
    include_build_directory: false,
    sdk_version: "current",
    min_sdk_version: "29",
}
`,
		expectedBazelTargets: makeCcLibraryTargets("foo-lib", attrNameToString{
@@ -140,6 +142,8 @@ cc_library {
        "//build/bazel/platforms/os:linux_bionic": ["bionic.cpp"],
        "//conditions:default": [],
    })`,
      "sdk_version": `"current"`,
      "min_sdk_version": `"29"`,
		}),
	})
}
+4 −0
Original line number Diff line number Diff line
@@ -112,6 +112,8 @@ cc_library_headers {
            export_include_dirs: ["arch_x86_64_exported_include_dir"],
        },
    },
    sdk_version: "current",
    min_sdk_version: "29",

    // TODO: Also support export_header_lib_headers
}`,
@@ -130,6 +132,8 @@ cc_library_headers {
        ":lib-1",
        ":lib-2",
    ]`,
        "sdk_version": `"current"`,
        "min_sdk_version": `"29"`,
			}),
		},
	})
+4 −0
Original line number Diff line number Diff line
@@ -136,6 +136,8 @@ cc_library_shared {
        "header_lib_1",
        "header_lib_2"
    ],
    sdk_version: "current",
    min_sdk_version: "29",

    // TODO: Also support export_header_lib_headers
}`,
@@ -174,6 +176,8 @@ cc_library_shared {
        ":whole_static_lib_1",
        ":whole_static_lib_2",
    ]`,
        "sdk_version": `"current"`,
        "min_sdk_version": `"29"`,
			}),
		},
	})
Loading