diff options
author | 2024-10-14 09:59:12 +0000 | |
---|---|---|
committer | 2024-10-14 11:59:12 +0200 | |
commit | 6a76b9d609fab579a3b54674f098fda06e121e49 (patch) | |
tree | 6fbfcaceb88c3e9a86cbd41242042e1e9fe6ee27 /scripts/build.sh | |
parent | [chore]: Bump github.com/minio/minio-go/v7 from 7.0.77 to 7.0.78 (#3431) (diff) | |
download | gotosocial-6a76b9d609fab579a3b54674f098fda06e121e49.tar.xz |
[feature/OFFICIALLY UNSUPPORTED] add nowasm build tag to disable building with WebAssembly (#3429)
* add experimental build-tag 'nowasm' which uses local ffmpeg / ffprobe
* updated experimental support message
* add comment to build script explaining build tag
* add nowasm build tags to moderncsqlite files
Diffstat (limited to 'scripts/build.sh')
-rwxr-xr-x | scripts/build.sh | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/scripts/build.sh b/scripts/build.sh index 5b10a5493..6c1b4c50d 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -15,14 +15,16 @@ GO_GCFLAGS=${GO_GCFLAGS-} GO_BUILDTAGS="${GO_BUILDTAGS} debugenv" # Available Go build tags, with explanation, followed by benefits of enabling it: -# - kvformat: enables prettier output of log fields (slightly better performance) -# - timetzdata: embed timezone database inside binary (allow setting local time inside Docker containers, at cost of 450KB) -# - notracing: disables compiling-in otel tracing support (reduced binary size, better performance) -# - nometrics: disables compiling-in otel metrics support (reduced binary size, better performance) -# - noerrcaller: disables caller function prefix in errors (slightly better performance, at cost of err readability) -# - debug: enables /debug/pprof endpoint (adds debug, at performance cost) -# - debugenv: enables /debug/pprof endpoint if DEBUG=1 env during runtime (adds debug, at performance cost) -# - moderncsqlite3: reverts to using the C-to-Go transpiled SQLite driver (disables the WASM-based SQLite driver) +# - kvformat: enables prettier output of log fields (slightly better performance) +# - timetzdata: embed timezone database inside binary (allow setting local time inside Docker containers, at cost of 450KB) +# - notracing: disables compiling-in otel tracing support (reduced binary size, better performance) +# - nometrics: disables compiling-in otel metrics support (reduced binary size, better performance) +# - noerrcaller: disables caller function prefix in errors (slightly better performance, at cost of err readability) +# - debug: enables /debug/pprof endpoint (adds debug, at performance cost) +# - debugenv: enables /debug/pprof endpoint if DEBUG=1 env during runtime (adds debug, at performance cost) +# - moderncsqlite3: reverts to using the C-to-Go transpiled SQLite driver (disables the WASM-based SQLite driver) +# - nowasm: [UNSUPPORTED] removes all WebAssembly from builds including +# ffmpeg, ffprobe and SQLite (instead falling back to modernc). log_exec env CGO_ENABLED=0 go build -trimpath -v \ -tags "${GO_BUILDTAGS}" \ -ldflags="${GO_LDFLAGS}" \ |