diff options
author | 2020-08-04 12:26:10 -0700 | |
---|---|---|
committer | 2020-08-04 12:29:54 -0700 | |
commit | 12e2cb71c7192edd43c0d283384d119900844cd3 (patch) | |
tree | 7cdeb98fb96e7773f02457dc2b7d51ea6ea3a196 /rust/bindgen.go | |
parent | ea3574b5fab70527d23f834f34f1583eee6e900f (diff) |
[rust] Escape flags for bindgen
Bindgen flags and cflags should be escaped, as they may contain shell
globs or other special characters.
Test: Updated Soong test passes.
Change-Id: I3df8ef25391f53a191f0494c5ff8c641d4d4b6f8
Diffstat (limited to 'rust/bindgen.go')
-rw-r--r-- | rust/bindgen.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/rust/bindgen.go b/rust/bindgen.go index 304f8ec38..64c559c51 100644 --- a/rust/bindgen.go +++ b/rust/bindgen.go @@ -18,6 +18,7 @@ import ( "strings" "github.com/google/blueprint" + "github.com/google/blueprint/proptools" "android/soong/android" ccConfig "android/soong/cc/config" @@ -113,15 +114,17 @@ func (b *bindgenDecorator) generateSource(ctx android.ModuleContext, deps PathDe cflags = append(cflags, "-isystem "+include.String()) } + esc := proptools.NinjaAndShellEscapeList + // Module defined clang flags and include paths - cflags = append(cflags, b.Properties.Cflags...) + cflags = append(cflags, esc(b.Properties.Cflags)...) for _, include := range b.Properties.Local_include_dirs { cflags = append(cflags, "-I"+android.PathForModuleSrc(ctx, include).String()) implicits = append(implicits, android.PathForModuleSrc(ctx, include)) } bindgenFlags := defaultBindgenFlags - bindgenFlags = append(bindgenFlags, strings.Join(b.Properties.Bindgen_flags, " ")) + bindgenFlags = append(bindgenFlags, esc(b.Properties.Bindgen_flags)...) wrapperFile := android.OptionalPathForModuleSrc(ctx, b.Properties.Wrapper_src) if !wrapperFile.Valid() { |