#!/usr/bin/env bash
set -euo pipefail
# No SDL/video library or GPL postproc in this audio-only single-thread build.
emcc -O3 -I. -Isrc/fftools -I"$INSTALL_DIR/include" -L"$INSTALL_DIR/lib" \
  -Llibavcodec -Llibavdevice -Llibavfilter -Llibavformat -Llibavutil -Llibswresample -Llibswscale \
  -Wno-deprecated-declarations -sENVIRONMENT=worker -sWASM_BIGINT -sMODULARIZE \
  -sINITIAL_MEMORY=32MB -sALLOW_MEMORY_GROWTH -sEXPORT_NAME=createFFmpegCore \
  -sEXPORTED_FUNCTIONS="$(node src/bind/ffmpeg/export.js)" \
  -sEXPORTED_RUNTIME_METHODS="$(node src/bind/ffmpeg/export-runtime.js)" \
  -lworkerfs.js --pre-js src/bind/ffmpeg/bind.js \
  src/fftools/cmdutils.c src/fftools/ffmpeg.c src/fftools/ffmpeg_filter.c \
  src/fftools/ffmpeg_hw.c src/fftools/ffmpeg_mux.c src/fftools/ffmpeg_opt.c \
  src/fftools/opt_common.c src/fftools/ffprobe.c \
  -lavdevice -lavfilter -lavformat -lavcodec -lswresample -lswscale -lavutil -lopus \
  -o /release/ffmpeg-core.js
