diff options
| author | Xe Iaso <me@xeiaso.net> | 2023-03-28 13:39:12 -0400 |
|---|---|---|
| committer | Xe Iaso <me@xeiaso.net> | 2023-03-28 13:39:12 -0400 |
| commit | 12c1d317138d124c2e54cb94da045bdb832d22f3 (patch) | |
| tree | f7d1849ed4da847c4f6f4bc96a6a188f8d1fb353 /wasm | |
| parent | fda27095a9098b3b536d1e6ab9aa11a47ab3523c (diff) | |
| download | x-12c1d317138d124c2e54cb94da045bdb832d22f3.tar.xz x-12c1d317138d124c2e54cb94da045bdb832d22f3.zip | |
add wasip1 experiments
Signed-off-by: Xe Iaso <me@xeiaso.net>
Diffstat (limited to 'wasm')
| -rw-r--r-- | wasm/wasip1/.gitignore | 1 | ||||
| -rw-r--r-- | wasm/wasip1/Makefile | 12 | ||||
| -rw-r--r-- | wasm/wasip1/cat.go | 31 | ||||
| -rw-r--r-- | wasm/wasip1/envdump.go | 16 | ||||
| -rw-r--r-- | wasm/wasip1/hello.go | 7 |
5 files changed, 67 insertions, 0 deletions
diff --git a/wasm/wasip1/.gitignore b/wasm/wasip1/.gitignore new file mode 100644 index 0000000..19e1bce --- /dev/null +++ b/wasm/wasip1/.gitignore @@ -0,0 +1 @@ +*.wasm diff --git a/wasm/wasip1/Makefile b/wasm/wasip1/Makefile new file mode 100644 index 0000000..c5cc92d --- /dev/null +++ b/wasm/wasip1/Makefile @@ -0,0 +1,12 @@ +GOBIN = gowasi + +export GOARCH = wasm +export GOOS = wasip1 + +SOURCES := $(wildcard *.go) +OBJECTS := $(patsubst %.go, %.wasm, $(SOURCES)) + +%.wasm: %.go + $(GOBIN) build -o $@ $^ + +all: $(OBJECTS) diff --git a/wasm/wasip1/cat.go b/wasm/wasip1/cat.go new file mode 100644 index 0000000..a327d9d --- /dev/null +++ b/wasm/wasip1/cat.go @@ -0,0 +1,31 @@ +package main + +import ( + "flag" + "fmt" + "io" + "log" + "os" +) + +func main() { + flag.Usage = func() { + fmt.Printf("%s <file>\n\nprints file to standard out\n", os.Args[0]) + } + flag.Parse() + + if flag.NArg() != 1 { + log.Fatalf("wanted 1 arg, got %#v", os.Args) + } + + fin, err := os.Open(flag.Arg(0)) + if err != nil { + log.Fatal(err) + } + defer fin.Close() + + _, err = io.Copy(os.Stdout, fin) + if err != nil { + log.Fatal(err) + } +} diff --git a/wasm/wasip1/envdump.go b/wasm/wasip1/envdump.go new file mode 100644 index 0000000..79dedc5 --- /dev/null +++ b/wasm/wasip1/envdump.go @@ -0,0 +1,16 @@ +package main + +import ( + "fmt" + "os" +) + +func main() { + if len(os.Environ()) == 0 { + fmt.Println("No environment variables found") + return + } + for _, kv := range os.Environ() { + fmt.Println(kv) + } +} diff --git a/wasm/wasip1/hello.go b/wasm/wasip1/hello.go new file mode 100644 index 0000000..db5bdb6 --- /dev/null +++ b/wasm/wasip1/hello.go @@ -0,0 +1,7 @@ +package main + +import "log" + +func main() { + log.Println("Hello, world!") +} |
