1"""Emscripten-specific build definitions for XNNPACK.""" 2 3def xnnpack_emscripten_minimal_linkopts(): 4 """Minimal Emscripten-specific linkopts for binaries.""" 5 return [ 6 "-s ASSERTIONS=0", 7 "-s ENVIRONMENT=node,shell,web", 8 "-s ERROR_ON_UNDEFINED_SYMBOLS=1", 9 "-s EXIT_RUNTIME=1", 10 ] 11 12def xnnpack_emscripten_test_linkopts(): 13 """Emscripten-specific linkopts for unit tests.""" 14 return [ 15 "-s ASSERTIONS=2", 16 "-s ENVIRONMENT=node,shell,web", 17 "-s ERROR_ON_UNDEFINED_SYMBOLS=1", 18 "-s DEMANGLE_SUPPORT=1", 19 "-s EXIT_RUNTIME=1", 20 "-s ALLOW_MEMORY_GROWTH=1", 21 "--pre-js $(location :preamble.js.lds)", 22 ] 23 24def xnnpack_emscripten_benchmark_linkopts(): 25 """Emscripten-specific linkopts for benchmarks.""" 26 return [ 27 "-s ASSERTIONS=1", 28 "-s ENVIRONMENT=node,shell,web", 29 "-s ERROR_ON_UNDEFINED_SYMBOLS=1", 30 "-s EXIT_RUNTIME=1", 31 "-s ALLOW_MEMORY_GROWTH=1", 32 "-s TOTAL_MEMORY=445644800", # 425M 33 "--pre-js $(location :preamble.js.lds)", 34 ] 35 36def xnnpack_emscripten_deps(): 37 """Emscripten-specific dependencies for unit tests and benchmarks.""" 38 return [ 39 ":preamble.js.lds", 40 ] 41