aboutsummaryrefslogtreecommitdiff
path: root/ninja.go
diff options
context:
space:
mode:
authorFumitoshi Ukai <ukai@google.com>2015-07-28 12:44:31 +0900
committerFumitoshi Ukai <ukai@google.com>2015-07-28 12:44:31 +0900
commitd55702666fb1e9a86090387e6cb4139ee24c793e (patch)
tree95d45ec5cdd1927ac301109b2b8ba3920ce1c8ce /ninja.go
parent39837dd78cdf4617ff54a81707df258c5d4b339a (diff)
[go] fix export.mk ninja
variable name should be quoted we couldn't use env variable which name contains space in bash, though.
Diffstat (limited to 'ninja.go')
-rw-r--r--ninja.go11
1 files changed, 7 insertions, 4 deletions
diff --git a/ninja.go b/ninja.go
index 1203376..7e44a44 100644
--- a/ninja.go
+++ b/ninja.go
@@ -525,7 +525,7 @@ func (n *NinjaGenerator) generateEnvlist() (err error) {
if err != nil {
return err
}
- fmt.Fprintf(f, "%s=%s\n", k, v)
+ fmt.Fprintf(f, "%q=%q\n", k, v)
}
return nil
}
@@ -555,9 +555,12 @@ func (n *NinjaGenerator) generateShell() (err error) {
if err != nil {
return err
}
- fmt.Fprintf(f, "export %s=%q\n", name, v)
+ // TODO(ukai): if name contains space, ignore it?
+ // export "a b"=c will error on bash
+ // bash: export `a b=c': not a valid identifier
+ fmt.Fprintf(f, "export %q=%q\n", name, v)
} else {
- fmt.Fprintf(f, "unset %s\n", name)
+ fmt.Fprintf(f, "unset %q\n", name)
}
}
if n.GomaDir == "" {
@@ -597,7 +600,7 @@ func (n *NinjaGenerator) generateNinja(defaultTarget string) (err error) {
if err != nil {
return err
}
- fmt.Fprintf(n.f, "# %s=%s\n", name, v)
+ fmt.Fprintf(n.f, "# %q=%q\n", name, v)
}
fmt.Fprintf(n.f, "\n")
}