"""Emscripten-specific build definitions for XNNPACK.""" def xnnpack_emscripten_minimal_linkopts(): """Minimal Emscripten-specific linkopts for binaries.""" return [ "-s ASSERTIONS=0", "-s ERROR_ON_UNDEFINED_SYMBOLS=1", "-s EXIT_RUNTIME=1", ] def xnnpack_emscripten_test_linkopts(): """Emscripten-specific linkopts for unit tests.""" return [ "-s ASSERTIONS=2", "-s ERROR_ON_UNDEFINED_SYMBOLS=1", "-s DEMANGLE_SUPPORT=1", "-s EXIT_RUNTIME=1", "-s ALLOW_MEMORY_GROWTH=1", "--pre-js $(location :preamble.js.lds)", ] def xnnpack_emscripten_benchmark_linkopts(): """Emscripten-specific linkopts for benchmarks.""" return [ "-s ASSERTIONS=1", "-s ERROR_ON_UNDEFINED_SYMBOLS=1", "-s EXIT_RUNTIME=1", "-s ALLOW_MEMORY_GROWTH=1", "-s TOTAL_MEMORY=436207616", # 416M "--pre-js $(location :preamble.js.lds)", ] def xnnpack_emscripten_deps(): """Emscripten-specific dependencies for unit tests and benchmarks.""" return [ ":preamble.js.lds", ]