diff options
author | Andrew Clayton <a.clayton@nginx.com> | 2024-09-05 17:29:51 +0100 |
---|---|---|
committer | Andrew Clayton <a.clayton@nginx.com> | 2024-09-05 19:30:15 +0100 |
commit | 7d0de8d48e202e32bb2879f706a47a3477cd8e2e (patch) | |
tree | 5a8667be12cf8a84e5e639e33ff8c97d756ead75 /c/wasi-http/0.2.0/download-test/Makefile | |
parent | d2517348a45064245e5f114fbdaee7c6c970b1b2 (diff) | |
download | project_blackbird-7d0de8d48e202e32bb2879f706a47a3477cd8e2e.tar.gz project_blackbird-7d0de8d48e202e32bb2879f706a47a3477cd8e2e.tar.bz2 |
w-h/0.2.0: Add an example of a file download
This also shows an example of (at least the best I could figure out) how
to send an error 4xx/5xx response back.
Signed-off-by: Andrew Clayton <a.clayton@nginx.com>
Diffstat (limited to '')
-rw-r--r-- | c/wasi-http/0.2.0/download-test/Makefile | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/c/wasi-http/0.2.0/download-test/Makefile b/c/wasi-http/0.2.0/download-test/Makefile new file mode 100644 index 0000000..f9e3bfe --- /dev/null +++ b/c/wasi-http/0.2.0/download-test/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 -g --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 /home/andrew/src/c/wasm/git/wasi-http/wit --autodrop-borrows yes --world wasi:http/proxy + /home/andrew/src/c/wasm/git/wit-bindgen/target/release/wit-bindgen markdown /home/andrew/src/c/wasm/git/wasi-http/wit --world wasi:http/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* |