From 1e5194de50ffb5efbc44c5d5c5128ed26f8333d7 Mon Sep 17 00:00:00 2001 From: Mohit Cheppudira Date: Sun, 20 Mar 2011 13:23:34 -0400 Subject: [PATCH] Added echo.go and updated waf script. --- go/README | 10 ++++++++++ go/echo.go | 24 ++++++++++++++++++++++++ go/wscript | 12 +++++++++--- 3 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 go/echo.go diff --git a/go/README b/go/README index 8e18e99..9e4174e 100644 --- a/go/README +++ b/go/README @@ -9,3 +9,13 @@ Installing waf $ curl -O http://waf.googlecode.com/files/waf-1.6.3 $ mv waf-1.6.3 waf $ ./waf --version + +---------------------------- + +This directory: + +$ ./waf configure + +$ ./waf build (or just ./waf) + +$ ./waf distclean diff --git a/go/echo.go b/go/echo.go new file mode 100644 index 0000000..e9b6010 --- /dev/null +++ b/go/echo.go @@ -0,0 +1,24 @@ +package main + +import ("os" + "flag") + +var omitNewLine = flag.Bool("n", false, "Omit new line") + +const (Space = " "; Newline = "\n") + +func main() { + flag.Parse() + + var s string = ""; + + for i := 0; i < flag.NArg(); i++ { + if i > 0 { s += Space } + + s += flag.Arg(i); + } + + if !*omitNewLine { s += Newline } + + os.Stdout.WriteString(s) +} diff --git a/go/wscript b/go/wscript index bbde6f0..16cec35 100644 --- a/go/wscript +++ b/go/wscript @@ -8,9 +8,15 @@ def configure(ctx): ctx.env.GOC = "6g" ctx.env.GOL = "6l" -def build(ctx): +def go(ctx, source, target): go_compile = "${GOC} -o ${TGT} ${SRC}" go_link = "${GOL} -o ${TGT} ${SRC}" - ctx(rule=go_compile, source="hello.go", target="hello.6") - ctx(rule=go_link, source="hello.6", target="hello") + object_file = target + ".6" + + ctx(rule=go_compile, source=source, target=object_file) + ctx(rule=go_link, source=object_file, target=target) + +def build(ctx): + go(ctx, "hello.go", "hello") + go(ctx, "echo.go", "echo")