From 516004de4170baf52f322c274efbccf0d9cc2a9c Mon Sep 17 00:00:00 2001 From: Andrew Clayton Date: Fri, 6 Sep 2024 03:17:54 +0100 Subject: w-h/0.2.0: Add a new example program env-var This shows how to get access to the environment variables and echos them back to the client. We need to include wasi:cli/environment@0.2.0 in the proxy world. Signed-off-by: Andrew Clayton --- c/wasi-http/0.2.0/env-var/Makefile | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 c/wasi-http/0.2.0/env-var/Makefile (limited to 'c/wasi-http/0.2.0/env-var/Makefile') diff --git a/c/wasi-http/0.2.0/env-var/Makefile b/c/wasi-http/0.2.0/env-var/Makefile new file mode 100644 index 0000000..062aef4 --- /dev/null +++ b/c/wasi-http/0.2.0/env-var/Makefile @@ -0,0 +1,29 @@ +# Look for wasi-sysroot in some common places, falling back +# to provided WASI_SYSROOT +ifneq ("$(wildcard /usr/wasm32-wasi)", "") + # Fedora + WASI_SYSROOT ?= /usr/wasm32-wasi +endif + +export WASI_SYSROOT + +CC = clang +CFLAGS = -Wall -Wextra --target=wasm32-wasi --sysroot=$(WASI_SYSROOT) +LDFLAGS = -Wl,--no-entry,--export=__heap_base,--export=__data_end,--export=malloc,--export=free,--stack-first,-z,stack-size=$$((8*1024*1024)) -mexec-model=reactor --rtlib=compiler-rt + +all: component.wasm + +bindgen: + /home/andrew/src/c/wasm/git/wit-bindgen/target/release/wit-bindgen c ../../wit/wasi-http/0.2.0 --autodrop-borrows yes --world proxy + /home/andrew/src/c/wasm/git/wit-bindgen/target/release/wit-bindgen markdown ../../wit/wasi-http/0.2.0 --world proxy + +.PHONY: +module.wasm: bindgen + $(CC) $(CFLAGS) $(LDFLAGS) -o $@ proxy.c proxy_component_type.o component.c + +.PHONY: +component.wasm: module.wasm + /home/andrew/src/c/wasm/git/wasm-tools/target/release/wasm-tools component new module.wasm --adapt ../../adaptors/24.0.0/wasi_snapshot_preview1.reactor.wasm -o component.wasm + +clean: + rm -f component.wasm module.wasm proxy* -- cgit