psiddh commited on
Commit
b99c510
·
verified ·
1 Parent(s): 95cdcd1

ExecuTorch WebGPU runtime (WebAssembly), Emscripten 4.0.19

Browse files
BUILD_INFO.md ADDED
@@ -0,0 +1,92 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ExecuTorch Wasm + WebGPU runtime
2
+
3
+ `executorch_wasm_lib.js` and `executorch_wasm_lib.wasm` are the ExecuTorch Wasm
4
+ bindings (`extension/wasm`) with the WebGPU backend, linked into one web bundle.
5
+ Every demo in the playground shares this one runtime (`src/runtime/executorch.js`).
6
+ The JS file defines `createExecuTorch()`. After `await et.initWebGPU()`, a `.pte`
7
+ loads with `et.Module.load(path)` and `loadMethod('forward')`, and runs with an
8
+ async `forward([tensors])`.
9
+
10
+ ## This is a pre-release build: rebuild it from ExecuTorch main
11
+
12
+ It was built from the ExecuTorch source tree of 2026-10-15 (`version.txt` 1.6.0)
13
+ with two changes that are under review upstream and not yet on main:
14
+
15
+ 1. **WebGPU in the Wasm build.** The `EXECUTORCH_BUILD_WASM_WEBGPU` option, which
16
+ links the WebGPU backend into `extension/wasm`, and the `initWebGPU()` binding.
17
+ 2. **Resize propagation fix.** `WebGPUGraph::propagate_resize` now resizes every
18
+ operand before its consumer in one pass. Without it, a multi-token LLM prefill
19
+ (`tokens` of shape `[1, n]` with 1 < n < 512) fails with
20
+ `add(resize): operands are not broadcast-compatible`.
21
+
22
+ Once both have landed, rebuild from main with the commands below and replace both
23
+ files. The emdawnwebgpu override (`EXECUTORCH_WEBGPU_EMDAWNWEBGPU_PORT`) was only
24
+ needed because the build machine could not reach GitHub. Drop it, and Emscripten
25
+ downloads the same emdawnwebgpu version itself.
26
+
27
+ ## Toolchain
28
+
29
+ - Emscripten 4.0.19, official release build `8b01e2ec3f33e6b94842096d7312ce4ef5f33f6c`.
30
+ - emdawnwebgpu v20251002.162335, the version Emscripten 4.0.19 pins. It was rebuilt
31
+ from Dawn source at `01940842b667a7812d0e4ca0ef4367fbec294241`, using Dawn's
32
+ own packaging recipe.
33
+ - CMake 3.31, Ninja 1.13. The configure step needs a Python with `torch`
34
+ (for `torchgen`).
35
+
36
+ ## Build
37
+
38
+ A small consumer project links the bindings into a distributable bundle, as
39
+ described under "Building for Web" in `extension/wasm/README.md`:
40
+
41
+ ```cmake
42
+ cmake_minimum_required(VERSION 3.29)
43
+ project(executorch_web)
44
+ add_subdirectory(${ET_SRC} executorch)
45
+ add_executable(executorch_wasm_lib)
46
+ target_link_libraries(executorch_wasm_lib PRIVATE executorch_wasm)
47
+ target_link_options(executorch_wasm_lib PRIVATE
48
+ -sMODULARIZE=1 -sEXPORT_NAME=createExecuTorch -sENVIRONMENT=web,worker
49
+ -sFORCE_FILESYSTEM=1 -sEXPORTED_RUNTIME_METHODS=FS -sINITIAL_MEMORY=64MB
50
+ -sEXPORT_EXCEPTION_HANDLING_HELPERS=1)
51
+ ```
52
+
53
+ ```bash
54
+ emcmake cmake -S <consumer project> -B build -G Ninja -DCMAKE_BUILD_TYPE=Release \
55
+ -DET_SRC=<executorch> \
56
+ -DEXECUTORCH_BUILD_WASM=ON -DEXECUTORCH_BUILD_WEBGPU=ON -DEXECUTORCH_BUILD_WASM_WEBGPU=ON \
57
+ -DEXECUTORCH_BUILD_EXTENSION_DATA_LOADER=ON -DEXECUTORCH_BUILD_EXTENSION_FLAT_TENSOR=ON \
58
+ -DEXECUTORCH_BUILD_EXTENSION_MODULE=ON -DEXECUTORCH_BUILD_EXTENSION_NAMED_DATA_MAP=ON \
59
+ -DEXECUTORCH_BUILD_EXTENSION_TENSOR=ON \
60
+ -DEXECUTORCH_ENABLE_LOGGING=ON -DEXECUTORCH_LOG_LEVEL=Info \
61
+ -DEXECUTORCH_WEBGPU_EMDAWNWEBGPU_PORT=<emdawnwebgpu_pkg>/emdawnwebgpu.port.py \
62
+ "-DCMAKE_C_FLAGS=-ffile-prefix-map=<executorch>=executorch" \
63
+ "-DCMAKE_CXX_FLAGS=-ffile-prefix-map=<executorch>=executorch" \
64
+ -DPYTHON_EXECUTABLE=<python with torch>
65
+ cmake --build build --target executorch_wasm_lib
66
+ ```
67
+
68
+ The WebGPU Wasm option itself adds `-sASYNCIFY -sASYNCIFY_STACK_SIZE=65536
69
+ -sALLOW_MEMORY_GROWTH=1 -sMAXIMUM_MEMORY=4GB -fexceptions`. The full portable
70
+ kernel library is linked (no selective build). Logging is at Info, so a failed
71
+ load or run prints the reason to the console. `-ffile-prefix-map` keeps
72
+ build-machine paths out of the binary.
73
+
74
+ ## Files
75
+
76
+ | File | Bytes | sha256 |
77
+ |---|---:|---|
78
+ | `executorch_wasm_lib.js` | 165,877 | `8a631b1537927f8f2ef184d9f1b343061f47df0a32ddb8f5190d74e80d40618e` |
79
+ | `executorch_wasm_lib.wasm` | 6,562,188 | `35a9087d0b6cd86c279e7111adfd54a58156bd993928b20f63348f1043652eb4` |
80
+
81
+ ## Checked with this build
82
+
83
+ Headless Chromium 141, WebGPU on SwiftShader (no `shader-f16`), with the
84
+ playground's models compared against ExecuTorch CPU references:
85
+
86
+ - Depth Anything V2 Small, MODNet, Real-ESRGAN, D-FINE S: max abs difference
87
+ between 0 and 4.6e-3.
88
+ - SAM 2.1 Hiera Tiny: mask IoU 1.000 on a click, a second click, and a box prompt.
89
+
90
+ The playground's own end-to-end checks, through the real UI, cover Qwen3 0.6B,
91
+ Llama 3.2 1B, SAM 2.1, Depth Anything V2, D-FINE S and Whisper base. Real GPUs
92
+ and the `shader-f16` kernel paths have not been tested with this build.
LICENSE ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ BSD License
2
+
3
+ For "ExecuTorch" software
4
+
5
+ Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ Copyright 2023 Arm Limited and/or its affiliates.
7
+ Copyright (c) Qualcomm Innovation Center, Inc.
8
+ Copyright (c) 2023 Apple Inc.
9
+ Copyright (c) 2024 MediaTek Inc.
10
+ Copyright 2023 NXP
11
+ Copyright (c) 2025 Samsung Electronics Co. LTD
12
+ Copyright (c) Intel Corporation
13
+
14
+ Redistribution and use in source and binary forms, with or without modification,
15
+ are permitted provided that the following conditions are met:
16
+
17
+ * Redistributions of source code must retain the above copyright notice, this
18
+ list of conditions and the following disclaimer.
19
+
20
+ * Redistributions in binary form must reproduce the above copyright notice,
21
+ this list of conditions and the following disclaimer in the documentation
22
+ and/or other materials provided with the distribution.
23
+
24
+ * Neither the name Meta nor the names of its contributors may be used to
25
+ endorse or promote products derived from this software without specific
26
+ prior written permission.
27
+
28
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
29
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
30
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
31
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
32
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
33
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
35
+ ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
README.md ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: bsd-3-clause
3
+ library_name: executorch
4
+ tags:
5
+ - executorch
6
+ - webgpu
7
+ - webassembly
8
+ - browser
9
+ ---
10
+ # ExecuTorch WebGPU Runtime (WebAssembly)
11
+
12
+ The [ExecuTorch](https://github.com/pytorch/executorch) runtime compiled to WebAssembly with its **WebGPU** backend.
13
+ It runs ExecuTorch `.pte` programs delegated to WebGPU inside a web browser, on the visitor's GPU. The WebAssembly code
14
+ loads programs and schedules work; the model math runs on the GPU through WebGPU. It powers the ExecuTorch WebGPU
15
+ Playground (launching soon on [executorch.ai](https://executorch.ai)), whose models are in the
16
+ [ExecuTorch WebGPU collection](https://huggingface.co/collections/executorch-community/executorch-webgpu-6ad04f227dfe83b94306a8b1).
17
+
18
+ ## Files
19
+
20
+ | File | Size | SHA-256 |
21
+ |---|---|---|
22
+ | `executorch_wasm_lib.wasm` | 6.6 MB | `35a9087d0b6cd86c279e7111adfd54a58156bd993928b20f63348f1043652eb4` |
23
+ | `executorch_wasm_lib.js` | 166 KB | `8a631b1537927f8f2ef184d9f1b343061f47df0a32ddb8f5190d74e80d40618e` |
24
+
25
+ The two files are one build and must be used together. `executorch_wasm_lib.js` defines `createExecuTorch()`; after
26
+ `await et.initWebGPU()`, a `.pte` loads with `et.Module.load(path)` and runs with an async `forward([tensors])`.
27
+ The playground fetches the `.wasm` from this repository, checks its SHA-256, and passes it to the loader.
28
+
29
+ ## Build
30
+
31
+ Built from the public ExecuTorch sources (`extension/wasm` with `EXECUTORCH_BUILD_WASM_WEBGPU=ON`) with Emscripten 4.0.19.
32
+ `BUILD_INFO.md` has the toolchain, sources and exact commands.
33
+
34
+ ## License
35
+
36
+ ExecuTorch is BSD-licensed (`LICENSE`). The build statically includes emdawnwebgpu (Dawn), the Emscripten runtime,
37
+ musl, libc++, libc++abi, compiler-rt and FlatBuffers; their licenses are in `THIRD_PARTY_NOTICES.txt`.
THIRD_PARTY_NOTICES.txt ADDED
@@ -0,0 +1,1492 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ executorch_wasm_lib.wasm and executorch_wasm_lib.js are built from the ExecuTorch sources (LICENSE) and statically include the components below, each under its own license.
2
+
3
+ ================================================================
4
+ == emdawnwebgpu (Dawn WebGPU bindings for Emscripten)
5
+ ================================================================
6
+
7
+ // Copyright 2017-2025 The Dawn & Tint Authors
8
+ //
9
+ // Redistribution and use in source and binary forms, with or without
10
+ // modification, are permitted provided that the following conditions are met:
11
+ //
12
+ // 1. Redistributions of source code must retain the above copyright notice, this
13
+ // list of conditions and the following disclaimer.
14
+ //
15
+ // 2. Redistributions in binary form must reproduce the above copyright notice,
16
+ // this list of conditions and the following disclaimer in the documentation
17
+ // and/or other materials provided with the distribution.
18
+ //
19
+ // 3. Neither the name of the copyright holder nor the names of its
20
+ // contributors may be used to endorse or promote products derived from
21
+ // this software without specific prior written permission.
22
+ //
23
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24
+ // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25
+ // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26
+ // DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
27
+ // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28
+ // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29
+ // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
+ // CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
31
+ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32
+ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
+
34
+ ================================================================
35
+ == Emscripten runtime and JavaScript glue
36
+ ================================================================
37
+
38
+ Emscripten is available under 2 licenses, the MIT license and the
39
+ University of Illinois/NCSA Open Source License.
40
+
41
+ Both are permissive open source licenses, with little if any
42
+ practical difference between them.
43
+
44
+ The reason for offering both is that (1) the MIT license is
45
+ well-known, while (2) the University of Illinois/NCSA Open Source
46
+ License allows Emscripten's code to be integrated upstream into
47
+ LLVM, which uses that license, should the opportunity arise.
48
+
49
+ The full text of both licenses follows.
50
+
51
+ ==============================================================================
52
+
53
+ Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file.
54
+
55
+ Permission is hereby granted, free of charge, to any person obtaining a copy
56
+ of this software and associated documentation files (the "Software"), to deal
57
+ in the Software without restriction, including without limitation the rights
58
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
59
+ copies of the Software, and to permit persons to whom the Software is
60
+ furnished to do so, subject to the following conditions:
61
+
62
+ The above copyright notice and this permission notice shall be included in
63
+ all copies or substantial portions of the Software.
64
+
65
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
66
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
67
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
68
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
69
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
70
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
71
+ THE SOFTWARE.
72
+
73
+ ==============================================================================
74
+
75
+ Copyright (c) 2010-2014 Emscripten authors, see AUTHORS file.
76
+ All rights reserved.
77
+
78
+ Permission is hereby granted, free of charge, to any person obtaining a
79
+ copy of this software and associated documentation files (the
80
+ "Software"), to deal with the Software without restriction, including
81
+ without limitation the rights to use, copy, modify, merge, publish,
82
+ distribute, sublicense, and/or sell copies of the Software, and to
83
+ permit persons to whom the Software is furnished to do so, subject to
84
+ the following conditions:
85
+
86
+ Redistributions of source code must retain the above copyright
87
+ notice, this list of conditions and the following disclaimers.
88
+
89
+ Redistributions in binary form must reproduce the above
90
+ copyright notice, this list of conditions and the following disclaimers
91
+ in the documentation and/or other materials provided with the
92
+ distribution.
93
+
94
+ Neither the names of Mozilla,
95
+ nor the names of its contributors may be used to endorse
96
+ or promote products derived from this Software without specific prior
97
+ written permission.
98
+
99
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
100
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
101
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
102
+ IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR
103
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
104
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
105
+ SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE SOFTWARE.
106
+
107
+ ==============================================================================
108
+
109
+ This program uses portions of Node.js source code located in src/library_path.js,
110
+ in accordance with the terms of the MIT license. Node's license follows:
111
+
112
+ """
113
+ Copyright Joyent, Inc. and other Node contributors. All rights reserved.
114
+ Permission is hereby granted, free of charge, to any person obtaining a copy
115
+ of this software and associated documentation files (the "Software"), to
116
+ deal in the Software without restriction, including without limitation the
117
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
118
+ sell copies of the Software, and to permit persons to whom the Software is
119
+ furnished to do so, subject to the following conditions:
120
+
121
+ The above copyright notice and this permission notice shall be included in
122
+ all copies or substantial portions of the Software.
123
+
124
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
125
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
126
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
127
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
128
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
129
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
130
+ IN THE SOFTWARE.
131
+ """
132
+
133
+ The musl libc project is bundled in this repo, and it has the MIT license, see
134
+ system/lib/libc/musl/COPYRIGHT
135
+
136
+ The third_party/ subdirectory contains code with other licenses. None of it is
137
+ used by default, but certain options use it (e.g., the optional closure compiler
138
+ flag will run closure compiler from third_party/).
139
+
140
+
141
+ ================================================================
142
+ == musl libc (via Emscripten)
143
+ ================================================================
144
+
145
+ musl as a whole is licensed under the following standard MIT license:
146
+
147
+ ----------------------------------------------------------------------
148
+ Copyright © 2005-2020 Rich Felker, et al.
149
+
150
+ Permission is hereby granted, free of charge, to any person obtaining
151
+ a copy of this software and associated documentation files (the
152
+ "Software"), to deal in the Software without restriction, including
153
+ without limitation the rights to use, copy, modify, merge, publish,
154
+ distribute, sublicense, and/or sell copies of the Software, and to
155
+ permit persons to whom the Software is furnished to do so, subject to
156
+ the following conditions:
157
+
158
+ The above copyright notice and this permission notice shall be
159
+ included in all copies or substantial portions of the Software.
160
+
161
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
162
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
163
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
164
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
165
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
166
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
167
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
168
+ ----------------------------------------------------------------------
169
+
170
+ Authors/contributors include:
171
+
172
+ A. Wilcox
173
+ Ada Worcester
174
+ Alex Dowad
175
+ Alex Suykov
176
+ Alexander Monakov
177
+ Andre McCurdy
178
+ Andrew Kelley
179
+ Anthony G. Basile
180
+ Aric Belsito
181
+ Arvid Picciani
182
+ Bartosz Brachaczek
183
+ Benjamin Peterson
184
+ Bobby Bingham
185
+ Boris Brezillon
186
+ Brent Cook
187
+ Chris Spiegel
188
+ Clément Vasseur
189
+ Daniel Micay
190
+ Daniel Sabogal
191
+ Daurnimator
192
+ David Carlier
193
+ David Edelsohn
194
+ Denys Vlasenko
195
+ Dmitry Ivanov
196
+ Dmitry V. Levin
197
+ Drew DeVault
198
+ Emil Renner Berthing
199
+ Fangrui Song
200
+ Felix Fietkau
201
+ Felix Janda
202
+ Gianluca Anzolin
203
+ Hauke Mehrtens
204
+ He X
205
+ Hiltjo Posthuma
206
+ Isaac Dunham
207
+ Jaydeep Patil
208
+ Jens Gustedt
209
+ Jeremy Huntwork
210
+ Jo-Philipp Wich
211
+ Joakim Sindholt
212
+ John Spencer
213
+ Julien Ramseier
214
+ Justin Cormack
215
+ Kaarle Ritvanen
216
+ Khem Raj
217
+ Kylie McClain
218
+ Leah Neukirchen
219
+ Luca Barbato
220
+ Luka Perkov
221
+ M Farkas-Dyck (Strake)
222
+ Mahesh Bodapati
223
+ Markus Wichmann
224
+ Masanori Ogino
225
+ Michael Clark
226
+ Michael Forney
227
+ Mikhail Kremnyov
228
+ Natanael Copa
229
+ Nicholas J. Kain
230
+ orc
231
+ Pascal Cuoq
232
+ Patrick Oppenlander
233
+ Petr Hosek
234
+ Petr Skocik
235
+ Pierre Carrier
236
+ Reini Urban
237
+ Rich Felker
238
+ Richard Pennington
239
+ Ryan Fairfax
240
+ Samuel Holland
241
+ Segev Finer
242
+ Shiz
243
+ sin
244
+ Solar Designer
245
+ Stefan Kristiansson
246
+ Stefan O'Rear
247
+ Szabolcs Nagy
248
+ Timo Teräs
249
+ Trutz Behn
250
+ Valentin Ochs
251
+ Will Dietz
252
+ William Haddon
253
+ William Pitcock
254
+
255
+ Portions of this software are derived from third-party works licensed
256
+ under terms compatible with the above MIT license:
257
+
258
+ The TRE regular expression implementation (src/regex/reg* and
259
+ src/regex/tre*) is Copyright © 2001-2008 Ville Laurikari and licensed
260
+ under a 2-clause BSD license (license text in the source files). The
261
+ included version has been heavily modified by Rich Felker in 2012, in
262
+ the interests of size, simplicity, and namespace cleanliness.
263
+
264
+ Much of the math library code (src/math/* and src/complex/*) is
265
+ Copyright © 1993,2004 Sun Microsystems or
266
+ Copyright © 2003-2011 David Schultz or
267
+ Copyright © 2003-2009 Steven G. Kargl or
268
+ Copyright © 2003-2009 Bruce D. Evans or
269
+ Copyright © 2008 Stephen L. Moshier or
270
+ Copyright © 2017-2018 Arm Limited
271
+ and labelled as such in comments in the individual source files. All
272
+ have been licensed under extremely permissive terms.
273
+
274
+ The ARM memcpy code (src/string/arm/memcpy.S) is Copyright © 2008
275
+ The Android Open Source Project and is licensed under a two-clause BSD
276
+ license. It was taken from Bionic libc, used on Android.
277
+
278
+ The AArch64 memcpy and memset code (src/string/aarch64/*) are
279
+ Copyright © 1999-2019, Arm Limited.
280
+
281
+ The implementation of DES for crypt (src/crypt/crypt_des.c) is
282
+ Copyright © 1994 David Burren. It is licensed under a BSD license.
283
+
284
+ The implementation of blowfish crypt (src/crypt/crypt_blowfish.c) was
285
+ originally written by Solar Designer and placed into the public
286
+ domain. The code also comes with a fallback permissive license for use
287
+ in jurisdictions that may not recognize the public domain.
288
+
289
+ The smoothsort implementation (src/stdlib/qsort.c) is Copyright © 2011
290
+ Valentin Ochs and is licensed under an MIT-style license.
291
+
292
+ The x86_64 port was written by Nicholas J. Kain and is licensed under
293
+ the standard MIT terms.
294
+
295
+ The mips and microblaze ports were originally written by Richard
296
+ Pennington for use in the ellcc project. The original code was adapted
297
+ by Rich Felker for build system and code conventions during upstream
298
+ integration. It is licensed under the standard MIT terms.
299
+
300
+ The mips64 port was contributed by Imagination Technologies and is
301
+ licensed under the standard MIT terms.
302
+
303
+ The powerpc port was also originally written by Richard Pennington,
304
+ and later supplemented and integrated by John Spencer. It is licensed
305
+ under the standard MIT terms.
306
+
307
+ All other files which have no copyright comments are original works
308
+ produced specifically for use as part of this library, written either
309
+ by Rich Felker, the main author of the library, or by one or more
310
+ contibutors listed above. Details on authorship of individual files
311
+ can be found in the git version control history of the project. The
312
+ omission of copyright and license comments in each file is in the
313
+ interest of source tree size.
314
+
315
+ In addition, permission is hereby granted for all public header files
316
+ (include/* and arch/*/bits/*) and crt files intended to be linked into
317
+ applications (crt/*, ldso/dlstart.c, and arch/*/crt_arch.h) to omit
318
+ the copyright notice and permission notice otherwise required by the
319
+ license, and to use these files without any requirement of
320
+ attribution. These files include substantial contributions from:
321
+
322
+ Bobby Bingham
323
+ John Spencer
324
+ Nicholas J. Kain
325
+ Rich Felker
326
+ Richard Pennington
327
+ Stefan Kristiansson
328
+ Szabolcs Nagy
329
+
330
+ all of whom have explicitly granted such permission.
331
+
332
+ This file previously contained text expressing a belief that most of
333
+ the files covered by the above exception were sufficiently trivial not
334
+ to be subject to copyright, resulting in confusion over whether it
335
+ negated the permissions granted in the license. In the spirit of
336
+ permissive licensing, and of not having licensing issues being an
337
+ obstacle to adoption, that text has been removed.
338
+
339
+ ================================================================
340
+ == libc++ (via Emscripten)
341
+ ================================================================
342
+
343
+ ==============================================================================
344
+ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
345
+ ==============================================================================
346
+
347
+ Apache License
348
+ Version 2.0, January 2004
349
+ http://www.apache.org/licenses/
350
+
351
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
352
+
353
+ 1. Definitions.
354
+
355
+ "License" shall mean the terms and conditions for use, reproduction,
356
+ and distribution as defined by Sections 1 through 9 of this document.
357
+
358
+ "Licensor" shall mean the copyright owner or entity authorized by
359
+ the copyright owner that is granting the License.
360
+
361
+ "Legal Entity" shall mean the union of the acting entity and all
362
+ other entities that control, are controlled by, or are under common
363
+ control with that entity. For the purposes of this definition,
364
+ "control" means (i) the power, direct or indirect, to cause the
365
+ direction or management of such entity, whether by contract or
366
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
367
+ outstanding shares, or (iii) beneficial ownership of such entity.
368
+
369
+ "You" (or "Your") shall mean an individual or Legal Entity
370
+ exercising permissions granted by this License.
371
+
372
+ "Source" form shall mean the preferred form for making modifications,
373
+ including but not limited to software source code, documentation
374
+ source, and configuration files.
375
+
376
+ "Object" form shall mean any form resulting from mechanical
377
+ transformation or translation of a Source form, including but
378
+ not limited to compiled object code, generated documentation,
379
+ and conversions to other media types.
380
+
381
+ "Work" shall mean the work of authorship, whether in Source or
382
+ Object form, made available under the License, as indicated by a
383
+ copyright notice that is included in or attached to the work
384
+ (an example is provided in the Appendix below).
385
+
386
+ "Derivative Works" shall mean any work, whether in Source or Object
387
+ form, that is based on (or derived from) the Work and for which the
388
+ editorial revisions, annotations, elaborations, or other modifications
389
+ represent, as a whole, an original work of authorship. For the purposes
390
+ of this License, Derivative Works shall not include works that remain
391
+ separable from, or merely link (or bind by name) to the interfaces of,
392
+ the Work and Derivative Works thereof.
393
+
394
+ "Contribution" shall mean any work of authorship, including
395
+ the original version of the Work and any modifications or additions
396
+ to that Work or Derivative Works thereof, that is intentionally
397
+ submitted to Licensor for inclusion in the Work by the copyright owner
398
+ or by an individual or Legal Entity authorized to submit on behalf of
399
+ the copyright owner. For the purposes of this definition, "submitted"
400
+ means any form of electronic, verbal, or written communication sent
401
+ to the Licensor or its representatives, including but not limited to
402
+ communication on electronic mailing lists, source code control systems,
403
+ and issue tracking systems that are managed by, or on behalf of, the
404
+ Licensor for the purpose of discussing and improving the Work, but
405
+ excluding communication that is conspicuously marked or otherwise
406
+ designated in writing by the copyright owner as "Not a Contribution."
407
+
408
+ "Contributor" shall mean Licensor and any individual or Legal Entity
409
+ on behalf of whom a Contribution has been received by Licensor and
410
+ subsequently incorporated within the Work.
411
+
412
+ 2. Grant of Copyright License. Subject to the terms and conditions of
413
+ this License, each Contributor hereby grants to You a perpetual,
414
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
415
+ copyright license to reproduce, prepare Derivative Works of,
416
+ publicly display, publicly perform, sublicense, and distribute the
417
+ Work and such Derivative Works in Source or Object form.
418
+
419
+ 3. Grant of Patent License. Subject to the terms and conditions of
420
+ this License, each Contributor hereby grants to You a perpetual,
421
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
422
+ (except as stated in this section) patent license to make, have made,
423
+ use, offer to sell, sell, import, and otherwise transfer the Work,
424
+ where such license applies only to those patent claims licensable
425
+ by such Contributor that are necessarily infringed by their
426
+ Contribution(s) alone or by combination of their Contribution(s)
427
+ with the Work to which such Contribution(s) was submitted. If You
428
+ institute patent litigation against any entity (including a
429
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
430
+ or a Contribution incorporated within the Work constitutes direct
431
+ or contributory patent infringement, then any patent licenses
432
+ granted to You under this License for that Work shall terminate
433
+ as of the date such litigation is filed.
434
+
435
+ 4. Redistribution. You may reproduce and distribute copies of the
436
+ Work or Derivative Works thereof in any medium, with or without
437
+ modifications, and in Source or Object form, provided that You
438
+ meet the following conditions:
439
+
440
+ (a) You must give any other recipients of the Work or
441
+ Derivative Works a copy of this License; and
442
+
443
+ (b) You must cause any modified files to carry prominent notices
444
+ stating that You changed the files; and
445
+
446
+ (c) You must retain, in the Source form of any Derivative Works
447
+ that You distribute, all copyright, patent, trademark, and
448
+ attribution notices from the Source form of the Work,
449
+ excluding those notices that do not pertain to any part of
450
+ the Derivative Works; and
451
+
452
+ (d) If the Work includes a "NOTICE" text file as part of its
453
+ distribution, then any Derivative Works that You distribute must
454
+ include a readable copy of the attribution notices contained
455
+ within such NOTICE file, excluding those notices that do not
456
+ pertain to any part of the Derivative Works, in at least one
457
+ of the following places: within a NOTICE text file distributed
458
+ as part of the Derivative Works; within the Source form or
459
+ documentation, if provided along with the Derivative Works; or,
460
+ within a display generated by the Derivative Works, if and
461
+ wherever such third-party notices normally appear. The contents
462
+ of the NOTICE file are for informational purposes only and
463
+ do not modify the License. You may add Your own attribution
464
+ notices within Derivative Works that You distribute, alongside
465
+ or as an addendum to the NOTICE text from the Work, provided
466
+ that such additional attribution notices cannot be construed
467
+ as modifying the License.
468
+
469
+ You may add Your own copyright statement to Your modifications and
470
+ may provide additional or different license terms and conditions
471
+ for use, reproduction, or distribution of Your modifications, or
472
+ for any such Derivative Works as a whole, provided Your use,
473
+ reproduction, and distribution of the Work otherwise complies with
474
+ the conditions stated in this License.
475
+
476
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
477
+ any Contribution intentionally submitted for inclusion in the Work
478
+ by You to the Licensor shall be under the terms and conditions of
479
+ this License, without any additional terms or conditions.
480
+ Notwithstanding the above, nothing herein shall supersede or modify
481
+ the terms of any separate license agreement you may have executed
482
+ with Licensor regarding such Contributions.
483
+
484
+ 6. Trademarks. This License does not grant permission to use the trade
485
+ names, trademarks, service marks, or product names of the Licensor,
486
+ except as required for reasonable and customary use in describing the
487
+ origin of the Work and reproducing the content of the NOTICE file.
488
+
489
+ 7. Disclaimer of Warranty. Unless required by applicable law or
490
+ agreed to in writing, Licensor provides the Work (and each
491
+ Contributor provides its Contributions) on an "AS IS" BASIS,
492
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
493
+ implied, including, without limitation, any warranties or conditions
494
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
495
+ PARTICULAR PURPOSE. You are solely responsible for determining the
496
+ appropriateness of using or redistributing the Work and assume any
497
+ risks associated with Your exercise of permissions under this License.
498
+
499
+ 8. Limitation of Liability. In no event and under no legal theory,
500
+ whether in tort (including negligence), contract, or otherwise,
501
+ unless required by applicable law (such as deliberate and grossly
502
+ negligent acts) or agreed to in writing, shall any Contributor be
503
+ liable to You for damages, including any direct, indirect, special,
504
+ incidental, or consequential damages of any character arising as a
505
+ result of this License or out of the use or inability to use the
506
+ Work (including but not limited to damages for loss of goodwill,
507
+ work stoppage, computer failure or malfunction, or any and all
508
+ other commercial damages or losses), even if such Contributor
509
+ has been advised of the possibility of such damages.
510
+
511
+ 9. Accepting Warranty or Additional Liability. While redistributing
512
+ the Work or Derivative Works thereof, You may choose to offer,
513
+ and charge a fee for, acceptance of support, warranty, indemnity,
514
+ or other liability obligations and/or rights consistent with this
515
+ License. However, in accepting such obligations, You may act only
516
+ on Your own behalf and on Your sole responsibility, not on behalf
517
+ of any other Contributor, and only if You agree to indemnify,
518
+ defend, and hold each Contributor harmless for any liability
519
+ incurred by, or claims asserted against, such Contributor by reason
520
+ of your accepting any such warranty or additional liability.
521
+
522
+ END OF TERMS AND CONDITIONS
523
+
524
+ APPENDIX: How to apply the Apache License to your work.
525
+
526
+ To apply the Apache License to your work, attach the following
527
+ boilerplate notice, with the fields enclosed by brackets "[]"
528
+ replaced with your own identifying information. (Don't include
529
+ the brackets!) The text should be enclosed in the appropriate
530
+ comment syntax for the file format. We also recommend that a
531
+ file or class name and description of purpose be included on the
532
+ same "printed page" as the copyright notice for easier
533
+ identification within third-party archives.
534
+
535
+ Copyright [yyyy] [name of copyright owner]
536
+
537
+ Licensed under the Apache License, Version 2.0 (the "License");
538
+ you may not use this file except in compliance with the License.
539
+ You may obtain a copy of the License at
540
+
541
+ http://www.apache.org/licenses/LICENSE-2.0
542
+
543
+ Unless required by applicable law or agreed to in writing, software
544
+ distributed under the License is distributed on an "AS IS" BASIS,
545
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
546
+ See the License for the specific language governing permissions and
547
+ limitations under the License.
548
+
549
+
550
+ ---- LLVM Exceptions to the Apache 2.0 License ----
551
+
552
+ As an exception, if, as a result of your compiling your source code, portions
553
+ of this Software are embedded into an Object form of such source code, you
554
+ may redistribute such embedded portions in such Object form without complying
555
+ with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
556
+
557
+ In addition, if you combine or link compiled forms of this Software with
558
+ software that is licensed under the GPLv2 ("Combined Software") and if a
559
+ court of competent jurisdiction determines that the patent provision (Section
560
+ 3), the indemnity provision (Section 9) or other Section of the License
561
+ conflicts with the conditions of the GPLv2, you may retroactively and
562
+ prospectively choose to deem waived or otherwise exclude such Section(s) of
563
+ the License, but only in their entirety and only with respect to the Combined
564
+ Software.
565
+
566
+ ==============================================================================
567
+ Software from third parties included in the LLVM Project:
568
+ ==============================================================================
569
+ The LLVM Project contains third party software which is under different license
570
+ terms. All such code will be identified clearly using at least one of two
571
+ mechanisms:
572
+ 1) It will be in a separate directory tree with its own `LICENSE.txt` or
573
+ `LICENSE` file at the top containing the specific license and restrictions
574
+ which apply to that software, or
575
+ 2) It will contain specific license and restriction terms at the top of every
576
+ file.
577
+
578
+ ==============================================================================
579
+ Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
580
+ ==============================================================================
581
+
582
+ The libc++ library is dual licensed under both the University of Illinois
583
+ "BSD-Like" license and the MIT license. As a user of this code you may choose
584
+ to use it under either license. As a contributor, you agree to allow your code
585
+ to be used under both.
586
+
587
+ Full text of the relevant licenses is included below.
588
+
589
+ ==============================================================================
590
+
591
+ University of Illinois/NCSA
592
+ Open Source License
593
+
594
+ Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
595
+
596
+ All rights reserved.
597
+
598
+ Developed by:
599
+
600
+ LLVM Team
601
+
602
+ University of Illinois at Urbana-Champaign
603
+
604
+ http://llvm.org
605
+
606
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
607
+ this software and associated documentation files (the "Software"), to deal with
608
+ the Software without restriction, including without limitation the rights to
609
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
610
+ of the Software, and to permit persons to whom the Software is furnished to do
611
+ so, subject to the following conditions:
612
+
613
+ * Redistributions of source code must retain the above copyright notice,
614
+ this list of conditions and the following disclaimers.
615
+
616
+ * Redistributions in binary form must reproduce the above copyright notice,
617
+ this list of conditions and the following disclaimers in the
618
+ documentation and/or other materials provided with the distribution.
619
+
620
+ * Neither the names of the LLVM Team, University of Illinois at
621
+ Urbana-Champaign, nor the names of its contributors may be used to
622
+ endorse or promote products derived from this Software without specific
623
+ prior written permission.
624
+
625
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
626
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
627
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
628
+ CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
629
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
630
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
631
+ SOFTWARE.
632
+
633
+ ==============================================================================
634
+
635
+ Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
636
+
637
+ Permission is hereby granted, free of charge, to any person obtaining a copy
638
+ of this software and associated documentation files (the "Software"), to deal
639
+ in the Software without restriction, including without limitation the rights
640
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
641
+ copies of the Software, and to permit persons to whom the Software is
642
+ furnished to do so, subject to the following conditions:
643
+
644
+ The above copyright notice and this permission notice shall be included in
645
+ all copies or substantial portions of the Software.
646
+
647
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
648
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
649
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
650
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
651
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
652
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
653
+ THE SOFTWARE.
654
+
655
+ ================================================================
656
+ == libc++abi (via Emscripten)
657
+ ================================================================
658
+
659
+ ==============================================================================
660
+ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
661
+ ==============================================================================
662
+
663
+ Apache License
664
+ Version 2.0, January 2004
665
+ http://www.apache.org/licenses/
666
+
667
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
668
+
669
+ 1. Definitions.
670
+
671
+ "License" shall mean the terms and conditions for use, reproduction,
672
+ and distribution as defined by Sections 1 through 9 of this document.
673
+
674
+ "Licensor" shall mean the copyright owner or entity authorized by
675
+ the copyright owner that is granting the License.
676
+
677
+ "Legal Entity" shall mean the union of the acting entity and all
678
+ other entities that control, are controlled by, or are under common
679
+ control with that entity. For the purposes of this definition,
680
+ "control" means (i) the power, direct or indirect, to cause the
681
+ direction or management of such entity, whether by contract or
682
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
683
+ outstanding shares, or (iii) beneficial ownership of such entity.
684
+
685
+ "You" (or "Your") shall mean an individual or Legal Entity
686
+ exercising permissions granted by this License.
687
+
688
+ "Source" form shall mean the preferred form for making modifications,
689
+ including but not limited to software source code, documentation
690
+ source, and configuration files.
691
+
692
+ "Object" form shall mean any form resulting from mechanical
693
+ transformation or translation of a Source form, including but
694
+ not limited to compiled object code, generated documentation,
695
+ and conversions to other media types.
696
+
697
+ "Work" shall mean the work of authorship, whether in Source or
698
+ Object form, made available under the License, as indicated by a
699
+ copyright notice that is included in or attached to the work
700
+ (an example is provided in the Appendix below).
701
+
702
+ "Derivative Works" shall mean any work, whether in Source or Object
703
+ form, that is based on (or derived from) the Work and for which the
704
+ editorial revisions, annotations, elaborations, or other modifications
705
+ represent, as a whole, an original work of authorship. For the purposes
706
+ of this License, Derivative Works shall not include works that remain
707
+ separable from, or merely link (or bind by name) to the interfaces of,
708
+ the Work and Derivative Works thereof.
709
+
710
+ "Contribution" shall mean any work of authorship, including
711
+ the original version of the Work and any modifications or additions
712
+ to that Work or Derivative Works thereof, that is intentionally
713
+ submitted to Licensor for inclusion in the Work by the copyright owner
714
+ or by an individual or Legal Entity authorized to submit on behalf of
715
+ the copyright owner. For the purposes of this definition, "submitted"
716
+ means any form of electronic, verbal, or written communication sent
717
+ to the Licensor or its representatives, including but not limited to
718
+ communication on electronic mailing lists, source code control systems,
719
+ and issue tracking systems that are managed by, or on behalf of, the
720
+ Licensor for the purpose of discussing and improving the Work, but
721
+ excluding communication that is conspicuously marked or otherwise
722
+ designated in writing by the copyright owner as "Not a Contribution."
723
+
724
+ "Contributor" shall mean Licensor and any individual or Legal Entity
725
+ on behalf of whom a Contribution has been received by Licensor and
726
+ subsequently incorporated within the Work.
727
+
728
+ 2. Grant of Copyright License. Subject to the terms and conditions of
729
+ this License, each Contributor hereby grants to You a perpetual,
730
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
731
+ copyright license to reproduce, prepare Derivative Works of,
732
+ publicly display, publicly perform, sublicense, and distribute the
733
+ Work and such Derivative Works in Source or Object form.
734
+
735
+ 3. Grant of Patent License. Subject to the terms and conditions of
736
+ this License, each Contributor hereby grants to You a perpetual,
737
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
738
+ (except as stated in this section) patent license to make, have made,
739
+ use, offer to sell, sell, import, and otherwise transfer the Work,
740
+ where such license applies only to those patent claims licensable
741
+ by such Contributor that are necessarily infringed by their
742
+ Contribution(s) alone or by combination of their Contribution(s)
743
+ with the Work to which such Contribution(s) was submitted. If You
744
+ institute patent litigation against any entity (including a
745
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
746
+ or a Contribution incorporated within the Work constitutes direct
747
+ or contributory patent infringement, then any patent licenses
748
+ granted to You under this License for that Work shall terminate
749
+ as of the date such litigation is filed.
750
+
751
+ 4. Redistribution. You may reproduce and distribute copies of the
752
+ Work or Derivative Works thereof in any medium, with or without
753
+ modifications, and in Source or Object form, provided that You
754
+ meet the following conditions:
755
+
756
+ (a) You must give any other recipients of the Work or
757
+ Derivative Works a copy of this License; and
758
+
759
+ (b) You must cause any modified files to carry prominent notices
760
+ stating that You changed the files; and
761
+
762
+ (c) You must retain, in the Source form of any Derivative Works
763
+ that You distribute, all copyright, patent, trademark, and
764
+ attribution notices from the Source form of the Work,
765
+ excluding those notices that do not pertain to any part of
766
+ the Derivative Works; and
767
+
768
+ (d) If the Work includes a "NOTICE" text file as part of its
769
+ distribution, then any Derivative Works that You distribute must
770
+ include a readable copy of the attribution notices contained
771
+ within such NOTICE file, excluding those notices that do not
772
+ pertain to any part of the Derivative Works, in at least one
773
+ of the following places: within a NOTICE text file distributed
774
+ as part of the Derivative Works; within the Source form or
775
+ documentation, if provided along with the Derivative Works; or,
776
+ within a display generated by the Derivative Works, if and
777
+ wherever such third-party notices normally appear. The contents
778
+ of the NOTICE file are for informational purposes only and
779
+ do not modify the License. You may add Your own attribution
780
+ notices within Derivative Works that You distribute, alongside
781
+ or as an addendum to the NOTICE text from the Work, provided
782
+ that such additional attribution notices cannot be construed
783
+ as modifying the License.
784
+
785
+ You may add Your own copyright statement to Your modifications and
786
+ may provide additional or different license terms and conditions
787
+ for use, reproduction, or distribution of Your modifications, or
788
+ for any such Derivative Works as a whole, provided Your use,
789
+ reproduction, and distribution of the Work otherwise complies with
790
+ the conditions stated in this License.
791
+
792
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
793
+ any Contribution intentionally submitted for inclusion in the Work
794
+ by You to the Licensor shall be under the terms and conditions of
795
+ this License, without any additional terms or conditions.
796
+ Notwithstanding the above, nothing herein shall supersede or modify
797
+ the terms of any separate license agreement you may have executed
798
+ with Licensor regarding such Contributions.
799
+
800
+ 6. Trademarks. This License does not grant permission to use the trade
801
+ names, trademarks, service marks, or product names of the Licensor,
802
+ except as required for reasonable and customary use in describing the
803
+ origin of the Work and reproducing the content of the NOTICE file.
804
+
805
+ 7. Disclaimer of Warranty. Unless required by applicable law or
806
+ agreed to in writing, Licensor provides the Work (and each
807
+ Contributor provides its Contributions) on an "AS IS" BASIS,
808
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
809
+ implied, including, without limitation, any warranties or conditions
810
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
811
+ PARTICULAR PURPOSE. You are solely responsible for determining the
812
+ appropriateness of using or redistributing the Work and assume any
813
+ risks associated with Your exercise of permissions under this License.
814
+
815
+ 8. Limitation of Liability. In no event and under no legal theory,
816
+ whether in tort (including negligence), contract, or otherwise,
817
+ unless required by applicable law (such as deliberate and grossly
818
+ negligent acts) or agreed to in writing, shall any Contributor be
819
+ liable to You for damages, including any direct, indirect, special,
820
+ incidental, or consequential damages of any character arising as a
821
+ result of this License or out of the use or inability to use the
822
+ Work (including but not limited to damages for loss of goodwill,
823
+ work stoppage, computer failure or malfunction, or any and all
824
+ other commercial damages or losses), even if such Contributor
825
+ has been advised of the possibility of such damages.
826
+
827
+ 9. Accepting Warranty or Additional Liability. While redistributing
828
+ the Work or Derivative Works thereof, You may choose to offer,
829
+ and charge a fee for, acceptance of support, warranty, indemnity,
830
+ or other liability obligations and/or rights consistent with this
831
+ License. However, in accepting such obligations, You may act only
832
+ on Your own behalf and on Your sole responsibility, not on behalf
833
+ of any other Contributor, and only if You agree to indemnify,
834
+ defend, and hold each Contributor harmless for any liability
835
+ incurred by, or claims asserted against, such Contributor by reason
836
+ of your accepting any such warranty or additional liability.
837
+
838
+ END OF TERMS AND CONDITIONS
839
+
840
+ APPENDIX: How to apply the Apache License to your work.
841
+
842
+ To apply the Apache License to your work, attach the following
843
+ boilerplate notice, with the fields enclosed by brackets "[]"
844
+ replaced with your own identifying information. (Don't include
845
+ the brackets!) The text should be enclosed in the appropriate
846
+ comment syntax for the file format. We also recommend that a
847
+ file or class name and description of purpose be included on the
848
+ same "printed page" as the copyright notice for easier
849
+ identification within third-party archives.
850
+
851
+ Copyright [yyyy] [name of copyright owner]
852
+
853
+ Licensed under the Apache License, Version 2.0 (the "License");
854
+ you may not use this file except in compliance with the License.
855
+ You may obtain a copy of the License at
856
+
857
+ http://www.apache.org/licenses/LICENSE-2.0
858
+
859
+ Unless required by applicable law or agreed to in writing, software
860
+ distributed under the License is distributed on an "AS IS" BASIS,
861
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
862
+ See the License for the specific language governing permissions and
863
+ limitations under the License.
864
+
865
+
866
+ ---- LLVM Exceptions to the Apache 2.0 License ----
867
+
868
+ As an exception, if, as a result of your compiling your source code, portions
869
+ of this Software are embedded into an Object form of such source code, you
870
+ may redistribute such embedded portions in such Object form without complying
871
+ with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
872
+
873
+ In addition, if you combine or link compiled forms of this Software with
874
+ software that is licensed under the GPLv2 ("Combined Software") and if a
875
+ court of competent jurisdiction determines that the patent provision (Section
876
+ 3), the indemnity provision (Section 9) or other Section of the License
877
+ conflicts with the conditions of the GPLv2, you may retroactively and
878
+ prospectively choose to deem waived or otherwise exclude such Section(s) of
879
+ the License, but only in their entirety and only with respect to the Combined
880
+ Software.
881
+
882
+ ==============================================================================
883
+ Software from third parties included in the LLVM Project:
884
+ ==============================================================================
885
+ The LLVM Project contains third party software which is under different license
886
+ terms. All such code will be identified clearly using at least one of two
887
+ mechanisms:
888
+ 1) It will be in a separate directory tree with its own `LICENSE.txt` or
889
+ `LICENSE` file at the top containing the specific license and restrictions
890
+ which apply to that software, or
891
+ 2) It will contain specific license and restriction terms at the top of every
892
+ file.
893
+
894
+ ==============================================================================
895
+ Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
896
+ ==============================================================================
897
+
898
+ The libc++abi library is dual licensed under both the University of Illinois
899
+ "BSD-Like" license and the MIT license. As a user of this code you may choose
900
+ to use it under either license. As a contributor, you agree to allow your code
901
+ to be used under both.
902
+
903
+ Full text of the relevant licenses is included below.
904
+
905
+ ==============================================================================
906
+
907
+ University of Illinois/NCSA
908
+ Open Source License
909
+
910
+ Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
911
+
912
+ All rights reserved.
913
+
914
+ Developed by:
915
+
916
+ LLVM Team
917
+
918
+ University of Illinois at Urbana-Champaign
919
+
920
+ http://llvm.org
921
+
922
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
923
+ this software and associated documentation files (the "Software"), to deal with
924
+ the Software without restriction, including without limitation the rights to
925
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
926
+ of the Software, and to permit persons to whom the Software is furnished to do
927
+ so, subject to the following conditions:
928
+
929
+ * Redistributions of source code must retain the above copyright notice,
930
+ this list of conditions and the following disclaimers.
931
+
932
+ * Redistributions in binary form must reproduce the above copyright notice,
933
+ this list of conditions and the following disclaimers in the
934
+ documentation and/or other materials provided with the distribution.
935
+
936
+ * Neither the names of the LLVM Team, University of Illinois at
937
+ Urbana-Champaign, nor the names of its contributors may be used to
938
+ endorse or promote products derived from this Software without specific
939
+ prior written permission.
940
+
941
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
942
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
943
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
944
+ CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
945
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
946
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
947
+ SOFTWARE.
948
+
949
+ ==============================================================================
950
+
951
+ Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
952
+
953
+ Permission is hereby granted, free of charge, to any person obtaining a copy
954
+ of this software and associated documentation files (the "Software"), to deal
955
+ in the Software without restriction, including without limitation the rights
956
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
957
+ copies of the Software, and to permit persons to whom the Software is
958
+ furnished to do so, subject to the following conditions:
959
+
960
+ The above copyright notice and this permission notice shall be included in
961
+ all copies or substantial portions of the Software.
962
+
963
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
964
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
965
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
966
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
967
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
968
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
969
+ THE SOFTWARE.
970
+
971
+ ================================================================
972
+ == compiler-rt (via Emscripten)
973
+ ================================================================
974
+
975
+ ==============================================================================
976
+ The LLVM Project is under the Apache License v2.0 with LLVM Exceptions:
977
+ ==============================================================================
978
+
979
+ Apache License
980
+ Version 2.0, January 2004
981
+ http://www.apache.org/licenses/
982
+
983
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
984
+
985
+ 1. Definitions.
986
+
987
+ "License" shall mean the terms and conditions for use, reproduction,
988
+ and distribution as defined by Sections 1 through 9 of this document.
989
+
990
+ "Licensor" shall mean the copyright owner or entity authorized by
991
+ the copyright owner that is granting the License.
992
+
993
+ "Legal Entity" shall mean the union of the acting entity and all
994
+ other entities that control, are controlled by, or are under common
995
+ control with that entity. For the purposes of this definition,
996
+ "control" means (i) the power, direct or indirect, to cause the
997
+ direction or management of such entity, whether by contract or
998
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
999
+ outstanding shares, or (iii) beneficial ownership of such entity.
1000
+
1001
+ "You" (or "Your") shall mean an individual or Legal Entity
1002
+ exercising permissions granted by this License.
1003
+
1004
+ "Source" form shall mean the preferred form for making modifications,
1005
+ including but not limited to software source code, documentation
1006
+ source, and configuration files.
1007
+
1008
+ "Object" form shall mean any form resulting from mechanical
1009
+ transformation or translation of a Source form, including but
1010
+ not limited to compiled object code, generated documentation,
1011
+ and conversions to other media types.
1012
+
1013
+ "Work" shall mean the work of authorship, whether in Source or
1014
+ Object form, made available under the License, as indicated by a
1015
+ copyright notice that is included in or attached to the work
1016
+ (an example is provided in the Appendix below).
1017
+
1018
+ "Derivative Works" shall mean any work, whether in Source or Object
1019
+ form, that is based on (or derived from) the Work and for which the
1020
+ editorial revisions, annotations, elaborations, or other modifications
1021
+ represent, as a whole, an original work of authorship. For the purposes
1022
+ of this License, Derivative Works shall not include works that remain
1023
+ separable from, or merely link (or bind by name) to the interfaces of,
1024
+ the Work and Derivative Works thereof.
1025
+
1026
+ "Contribution" shall mean any work of authorship, including
1027
+ the original version of the Work and any modifications or additions
1028
+ to that Work or Derivative Works thereof, that is intentionally
1029
+ submitted to Licensor for inclusion in the Work by the copyright owner
1030
+ or by an individual or Legal Entity authorized to submit on behalf of
1031
+ the copyright owner. For the purposes of this definition, "submitted"
1032
+ means any form of electronic, verbal, or written communication sent
1033
+ to the Licensor or its representatives, including but not limited to
1034
+ communication on electronic mailing lists, source code control systems,
1035
+ and issue tracking systems that are managed by, or on behalf of, the
1036
+ Licensor for the purpose of discussing and improving the Work, but
1037
+ excluding communication that is conspicuously marked or otherwise
1038
+ designated in writing by the copyright owner as "Not a Contribution."
1039
+
1040
+ "Contributor" shall mean Licensor and any individual or Legal Entity
1041
+ on behalf of whom a Contribution has been received by Licensor and
1042
+ subsequently incorporated within the Work.
1043
+
1044
+ 2. Grant of Copyright License. Subject to the terms and conditions of
1045
+ this License, each Contributor hereby grants to You a perpetual,
1046
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
1047
+ copyright license to reproduce, prepare Derivative Works of,
1048
+ publicly display, publicly perform, sublicense, and distribute the
1049
+ Work and such Derivative Works in Source or Object form.
1050
+
1051
+ 3. Grant of Patent License. Subject to the terms and conditions of
1052
+ this License, each Contributor hereby grants to You a perpetual,
1053
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
1054
+ (except as stated in this section) patent license to make, have made,
1055
+ use, offer to sell, sell, import, and otherwise transfer the Work,
1056
+ where such license applies only to those patent claims licensable
1057
+ by such Contributor that are necessarily infringed by their
1058
+ Contribution(s) alone or by combination of their Contribution(s)
1059
+ with the Work to which such Contribution(s) was submitted. If You
1060
+ institute patent litigation against any entity (including a
1061
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
1062
+ or a Contribution incorporated within the Work constitutes direct
1063
+ or contributory patent infringement, then any patent licenses
1064
+ granted to You under this License for that Work shall terminate
1065
+ as of the date such litigation is filed.
1066
+
1067
+ 4. Redistribution. You may reproduce and distribute copies of the
1068
+ Work or Derivative Works thereof in any medium, with or without
1069
+ modifications, and in Source or Object form, provided that You
1070
+ meet the following conditions:
1071
+
1072
+ (a) You must give any other recipients of the Work or
1073
+ Derivative Works a copy of this License; and
1074
+
1075
+ (b) You must cause any modified files to carry prominent notices
1076
+ stating that You changed the files; and
1077
+
1078
+ (c) You must retain, in the Source form of any Derivative Works
1079
+ that You distribute, all copyright, patent, trademark, and
1080
+ attribution notices from the Source form of the Work,
1081
+ excluding those notices that do not pertain to any part of
1082
+ the Derivative Works; and
1083
+
1084
+ (d) If the Work includes a "NOTICE" text file as part of its
1085
+ distribution, then any Derivative Works that You distribute must
1086
+ include a readable copy of the attribution notices contained
1087
+ within such NOTICE file, excluding those notices that do not
1088
+ pertain to any part of the Derivative Works, in at least one
1089
+ of the following places: within a NOTICE text file distributed
1090
+ as part of the Derivative Works; within the Source form or
1091
+ documentation, if provided along with the Derivative Works; or,
1092
+ within a display generated by the Derivative Works, if and
1093
+ wherever such third-party notices normally appear. The contents
1094
+ of the NOTICE file are for informational purposes only and
1095
+ do not modify the License. You may add Your own attribution
1096
+ notices within Derivative Works that You distribute, alongside
1097
+ or as an addendum to the NOTICE text from the Work, provided
1098
+ that such additional attribution notices cannot be construed
1099
+ as modifying the License.
1100
+
1101
+ You may add Your own copyright statement to Your modifications and
1102
+ may provide additional or different license terms and conditions
1103
+ for use, reproduction, or distribution of Your modifications, or
1104
+ for any such Derivative Works as a whole, provided Your use,
1105
+ reproduction, and distribution of the Work otherwise complies with
1106
+ the conditions stated in this License.
1107
+
1108
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
1109
+ any Contribution intentionally submitted for inclusion in the Work
1110
+ by You to the Licensor shall be under the terms and conditions of
1111
+ this License, without any additional terms or conditions.
1112
+ Notwithstanding the above, nothing herein shall supersede or modify
1113
+ the terms of any separate license agreement you may have executed
1114
+ with Licensor regarding such Contributions.
1115
+
1116
+ 6. Trademarks. This License does not grant permission to use the trade
1117
+ names, trademarks, service marks, or product names of the Licensor,
1118
+ except as required for reasonable and customary use in describing the
1119
+ origin of the Work and reproducing the content of the NOTICE file.
1120
+
1121
+ 7. Disclaimer of Warranty. Unless required by applicable law or
1122
+ agreed to in writing, Licensor provides the Work (and each
1123
+ Contributor provides its Contributions) on an "AS IS" BASIS,
1124
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1125
+ implied, including, without limitation, any warranties or conditions
1126
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
1127
+ PARTICULAR PURPOSE. You are solely responsible for determining the
1128
+ appropriateness of using or redistributing the Work and assume any
1129
+ risks associated with Your exercise of permissions under this License.
1130
+
1131
+ 8. Limitation of Liability. In no event and under no legal theory,
1132
+ whether in tort (including negligence), contract, or otherwise,
1133
+ unless required by applicable law (such as deliberate and grossly
1134
+ negligent acts) or agreed to in writing, shall any Contributor be
1135
+ liable to You for damages, including any direct, indirect, special,
1136
+ incidental, or consequential damages of any character arising as a
1137
+ result of this License or out of the use or inability to use the
1138
+ Work (including but not limited to damages for loss of goodwill,
1139
+ work stoppage, computer failure or malfunction, or any and all
1140
+ other commercial damages or losses), even if such Contributor
1141
+ has been advised of the possibility of such damages.
1142
+
1143
+ 9. Accepting Warranty or Additional Liability. While redistributing
1144
+ the Work or Derivative Works thereof, You may choose to offer,
1145
+ and charge a fee for, acceptance of support, warranty, indemnity,
1146
+ or other liability obligations and/or rights consistent with this
1147
+ License. However, in accepting such obligations, You may act only
1148
+ on Your own behalf and on Your sole responsibility, not on behalf
1149
+ of any other Contributor, and only if You agree to indemnify,
1150
+ defend, and hold each Contributor harmless for any liability
1151
+ incurred by, or claims asserted against, such Contributor by reason
1152
+ of your accepting any such warranty or additional liability.
1153
+
1154
+ END OF TERMS AND CONDITIONS
1155
+
1156
+ APPENDIX: How to apply the Apache License to your work.
1157
+
1158
+ To apply the Apache License to your work, attach the following
1159
+ boilerplate notice, with the fields enclosed by brackets "[]"
1160
+ replaced with your own identifying information. (Don't include
1161
+ the brackets!) The text should be enclosed in the appropriate
1162
+ comment syntax for the file format. We also recommend that a
1163
+ file or class name and description of purpose be included on the
1164
+ same "printed page" as the copyright notice for easier
1165
+ identification within third-party archives.
1166
+
1167
+ Copyright [yyyy] [name of copyright owner]
1168
+
1169
+ Licensed under the Apache License, Version 2.0 (the "License");
1170
+ you may not use this file except in compliance with the License.
1171
+ You may obtain a copy of the License at
1172
+
1173
+ http://www.apache.org/licenses/LICENSE-2.0
1174
+
1175
+ Unless required by applicable law or agreed to in writing, software
1176
+ distributed under the License is distributed on an "AS IS" BASIS,
1177
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1178
+ See the License for the specific language governing permissions and
1179
+ limitations under the License.
1180
+
1181
+
1182
+ ---- LLVM Exceptions to the Apache 2.0 License ----
1183
+
1184
+ As an exception, if, as a result of your compiling your source code, portions
1185
+ of this Software are embedded into an Object form of such source code, you
1186
+ may redistribute such embedded portions in such Object form without complying
1187
+ with the conditions of Sections 4(a), 4(b) and 4(d) of the License.
1188
+
1189
+ In addition, if you combine or link compiled forms of this Software with
1190
+ software that is licensed under the GPLv2 ("Combined Software") and if a
1191
+ court of competent jurisdiction determines that the patent provision (Section
1192
+ 3), the indemnity provision (Section 9) or other Section of the License
1193
+ conflicts with the conditions of the GPLv2, you may retroactively and
1194
+ prospectively choose to deem waived or otherwise exclude such Section(s) of
1195
+ the License, but only in their entirety and only with respect to the Combined
1196
+ Software.
1197
+
1198
+ ==============================================================================
1199
+ Software from third parties included in the LLVM Project:
1200
+ ==============================================================================
1201
+ The LLVM Project contains third party software which is under different license
1202
+ terms. All such code will be identified clearly using at least one of two
1203
+ mechanisms:
1204
+ 1) It will be in a separate directory tree with its own `LICENSE.txt` or
1205
+ `LICENSE` file at the top containing the specific license and restrictions
1206
+ which apply to that software, or
1207
+ 2) It will contain specific license and restriction terms at the top of every
1208
+ file.
1209
+
1210
+ ==============================================================================
1211
+ Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy):
1212
+ ==============================================================================
1213
+
1214
+ The compiler_rt library is dual licensed under both the University of Illinois
1215
+ "BSD-Like" license and the MIT license. As a user of this code you may choose
1216
+ to use it under either license. As a contributor, you agree to allow your code
1217
+ to be used under both.
1218
+
1219
+ Full text of the relevant licenses is included below.
1220
+
1221
+ ==============================================================================
1222
+
1223
+ University of Illinois/NCSA
1224
+ Open Source License
1225
+
1226
+ Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
1227
+
1228
+ All rights reserved.
1229
+
1230
+ Developed by:
1231
+
1232
+ LLVM Team
1233
+
1234
+ University of Illinois at Urbana-Champaign
1235
+
1236
+ http://llvm.org
1237
+
1238
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
1239
+ this software and associated documentation files (the "Software"), to deal with
1240
+ the Software without restriction, including without limitation the rights to
1241
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
1242
+ of the Software, and to permit persons to whom the Software is furnished to do
1243
+ so, subject to the following conditions:
1244
+
1245
+ * Redistributions of source code must retain the above copyright notice,
1246
+ this list of conditions and the following disclaimers.
1247
+
1248
+ * Redistributions in binary form must reproduce the above copyright notice,
1249
+ this list of conditions and the following disclaimers in the
1250
+ documentation and/or other materials provided with the distribution.
1251
+
1252
+ * Neither the names of the LLVM Team, University of Illinois at
1253
+ Urbana-Champaign, nor the names of its contributors may be used to
1254
+ endorse or promote products derived from this Software without specific
1255
+ prior written permission.
1256
+
1257
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1258
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
1259
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1260
+ CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1261
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1262
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
1263
+ SOFTWARE.
1264
+
1265
+ ==============================================================================
1266
+
1267
+ Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT
1268
+
1269
+ Permission is hereby granted, free of charge, to any person obtaining a copy
1270
+ of this software and associated documentation files (the "Software"), to deal
1271
+ in the Software without restriction, including without limitation the rights
1272
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
1273
+ copies of the Software, and to permit persons to whom the Software is
1274
+ furnished to do so, subject to the following conditions:
1275
+
1276
+ The above copyright notice and this permission notice shall be included in
1277
+ all copies or substantial portions of the Software.
1278
+
1279
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1280
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1281
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1282
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1283
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1284
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1285
+ THE SOFTWARE.
1286
+
1287
+ ================================================================
1288
+ == FlatBuffers
1289
+ ================================================================
1290
+
1291
+
1292
+ Apache License
1293
+ Version 2.0, January 2004
1294
+ http://www.apache.org/licenses/
1295
+
1296
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1297
+
1298
+ 1. Definitions.
1299
+
1300
+ "License" shall mean the terms and conditions for use, reproduction,
1301
+ and distribution as defined by Sections 1 through 9 of this document.
1302
+
1303
+ "Licensor" shall mean the copyright owner or entity authorized by
1304
+ the copyright owner that is granting the License.
1305
+
1306
+ "Legal Entity" shall mean the union of the acting entity and all
1307
+ other entities that control, are controlled by, or are under common
1308
+ control with that entity. For the purposes of this definition,
1309
+ "control" means (i) the power, direct or indirect, to cause the
1310
+ direction or management of such entity, whether by contract or
1311
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
1312
+ outstanding shares, or (iii) beneficial ownership of such entity.
1313
+
1314
+ "You" (or "Your") shall mean an individual or Legal Entity
1315
+ exercising permissions granted by this License.
1316
+
1317
+ "Source" form shall mean the preferred form for making modifications,
1318
+ including but not limited to software source code, documentation
1319
+ source, and configuration files.
1320
+
1321
+ "Object" form shall mean any form resulting from mechanical
1322
+ transformation or translation of a Source form, including but
1323
+ not limited to compiled object code, generated documentation,
1324
+ and conversions to other media types.
1325
+
1326
+ "Work" shall mean the work of authorship, whether in Source or
1327
+ Object form, made available under the License, as indicated by a
1328
+ copyright notice that is included in or attached to the work
1329
+ (an example is provided in the Appendix below).
1330
+
1331
+ "Derivative Works" shall mean any work, whether in Source or Object
1332
+ form, that is based on (or derived from) the Work and for which the
1333
+ editorial revisions, annotations, elaborations, or other modifications
1334
+ represent, as a whole, an original work of authorship. For the purposes
1335
+ of this License, Derivative Works shall not include works that remain
1336
+ separable from, or merely link (or bind by name) to the interfaces of,
1337
+ the Work and Derivative Works thereof.
1338
+
1339
+ "Contribution" shall mean any work of authorship, including
1340
+ the original version of the Work and any modifications or additions
1341
+ to that Work or Derivative Works thereof, that is intentionally
1342
+ submitted to Licensor for inclusion in the Work by the copyright owner
1343
+ or by an individual or Legal Entity authorized to submit on behalf of
1344
+ the copyright owner. For the purposes of this definition, "submitted"
1345
+ means any form of electronic, verbal, or written communication sent
1346
+ to the Licensor or its representatives, including but not limited to
1347
+ communication on electronic mailing lists, source code control systems,
1348
+ and issue tracking systems that are managed by, or on behalf of, the
1349
+ Licensor for the purpose of discussing and improving the Work, but
1350
+ excluding communication that is conspicuously marked or otherwise
1351
+ designated in writing by the copyright owner as "Not a Contribution."
1352
+
1353
+ "Contributor" shall mean Licensor and any individual or Legal Entity
1354
+ on behalf of whom a Contribution has been received by Licensor and
1355
+ subsequently incorporated within the Work.
1356
+
1357
+ 2. Grant of Copyright License. Subject to the terms and conditions of
1358
+ this License, each Contributor hereby grants to You a perpetual,
1359
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
1360
+ copyright license to reproduce, prepare Derivative Works of,
1361
+ publicly display, publicly perform, sublicense, and distribute the
1362
+ Work and such Derivative Works in Source or Object form.
1363
+
1364
+ 3. Grant of Patent License. Subject to the terms and conditions of
1365
+ this License, each Contributor hereby grants to You a perpetual,
1366
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
1367
+ (except as stated in this section) patent license to make, have made,
1368
+ use, offer to sell, sell, import, and otherwise transfer the Work,
1369
+ where such license applies only to those patent claims licensable
1370
+ by such Contributor that are necessarily infringed by their
1371
+ Contribution(s) alone or by combination of their Contribution(s)
1372
+ with the Work to which such Contribution(s) was submitted. If You
1373
+ institute patent litigation against any entity (including a
1374
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
1375
+ or a Contribution incorporated within the Work constitutes direct
1376
+ or contributory patent infringement, then any patent licenses
1377
+ granted to You under this License for that Work shall terminate
1378
+ as of the date such litigation is filed.
1379
+
1380
+ 4. Redistribution. You may reproduce and distribute copies of the
1381
+ Work or Derivative Works thereof in any medium, with or without
1382
+ modifications, and in Source or Object form, provided that You
1383
+ meet the following conditions:
1384
+
1385
+ (a) You must give any other recipients of the Work or
1386
+ Derivative Works a copy of this License; and
1387
+
1388
+ (b) You must cause any modified files to carry prominent notices
1389
+ stating that You changed the files; and
1390
+
1391
+ (c) You must retain, in the Source form of any Derivative Works
1392
+ that You distribute, all copyright, patent, trademark, and
1393
+ attribution notices from the Source form of the Work,
1394
+ excluding those notices that do not pertain to any part of
1395
+ the Derivative Works; and
1396
+
1397
+ (d) If the Work includes a "NOTICE" text file as part of its
1398
+ distribution, then any Derivative Works that You distribute must
1399
+ include a readable copy of the attribution notices contained
1400
+ within such NOTICE file, excluding those notices that do not
1401
+ pertain to any part of the Derivative Works, in at least one
1402
+ of the following places: within a NOTICE text file distributed
1403
+ as part of the Derivative Works; within the Source form or
1404
+ documentation, if provided along with the Derivative Works; or,
1405
+ within a display generated by the Derivative Works, if and
1406
+ wherever such third-party notices normally appear. The contents
1407
+ of the NOTICE file are for informational purposes only and
1408
+ do not modify the License. You may add Your own attribution
1409
+ notices within Derivative Works that You distribute, alongside
1410
+ or as an addendum to the NOTICE text from the Work, provided
1411
+ that such additional attribution notices cannot be construed
1412
+ as modifying the License.
1413
+
1414
+ You may add Your own copyright statement to Your modifications and
1415
+ may provide additional or different license terms and conditions
1416
+ for use, reproduction, or distribution of Your modifications, or
1417
+ for any such Derivative Works as a whole, provided Your use,
1418
+ reproduction, and distribution of the Work otherwise complies with
1419
+ the conditions stated in this License.
1420
+
1421
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
1422
+ any Contribution intentionally submitted for inclusion in the Work
1423
+ by You to the Licensor shall be under the terms and conditions of
1424
+ this License, without any additional terms or conditions.
1425
+ Notwithstanding the above, nothing herein shall supersede or modify
1426
+ the terms of any separate license agreement you may have executed
1427
+ with Licensor regarding such Contributions.
1428
+
1429
+ 6. Trademarks. This License does not grant permission to use the trade
1430
+ names, trademarks, service marks, or product names of the Licensor,
1431
+ except as required for reasonable and customary use in describing the
1432
+ origin of the Work and reproducing the content of the NOTICE file.
1433
+
1434
+ 7. Disclaimer of Warranty. Unless required by applicable law or
1435
+ agreed to in writing, Licensor provides the Work (and each
1436
+ Contributor provides its Contributions) on an "AS IS" BASIS,
1437
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
1438
+ implied, including, without limitation, any warranties or conditions
1439
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
1440
+ PARTICULAR PURPOSE. You are solely responsible for determining the
1441
+ appropriateness of using or redistributing the Work and assume any
1442
+ risks associated with Your exercise of permissions under this License.
1443
+
1444
+ 8. Limitation of Liability. In no event and under no legal theory,
1445
+ whether in tort (including negligence), contract, or otherwise,
1446
+ unless required by applicable law (such as deliberate and grossly
1447
+ negligent acts) or agreed to in writing, shall any Contributor be
1448
+ liable to You for damages, including any direct, indirect, special,
1449
+ incidental, or consequential damages of any character arising as a
1450
+ result of this License or out of the use or inability to use the
1451
+ Work (including but not limited to damages for loss of goodwill,
1452
+ work stoppage, computer failure or malfunction, or any and all
1453
+ other commercial damages or losses), even if such Contributor
1454
+ has been advised of the possibility of such damages.
1455
+
1456
+ 9. Accepting Warranty or Additional Liability. While redistributing
1457
+ the Work or Derivative Works thereof, You may choose to offer,
1458
+ and charge a fee for, acceptance of support, warranty, indemnity,
1459
+ or other liability obligations and/or rights consistent with this
1460
+ License. However, in accepting such obligations, You may act only
1461
+ on Your own behalf and on Your sole responsibility, not on behalf
1462
+ of any other Contributor, and only if You agree to indemnify,
1463
+ defend, and hold each Contributor harmless for any liability
1464
+ incurred by, or claims asserted against, such Contributor by reason
1465
+ of your accepting any such warranty or additional liability.
1466
+
1467
+ END OF TERMS AND CONDITIONS
1468
+
1469
+ APPENDIX: How to apply the Apache License to your work.
1470
+
1471
+ To apply the Apache License to your work, attach the following
1472
+ boilerplate notice, with the fields enclosed by brackets "[]"
1473
+ replaced with your own identifying information. (Don't include
1474
+ the brackets!) The text should be enclosed in the appropriate
1475
+ comment syntax for the file format. We also recommend that a
1476
+ file or class name and description of purpose be included on the
1477
+ same "printed page" as the copyright notice for easier
1478
+ identification within third-party archives.
1479
+
1480
+ Copyright [yyyy] [name of copyright owner]
1481
+
1482
+ Licensed under the Apache License, Version 2.0 (the "License");
1483
+ you may not use this file except in compliance with the License.
1484
+ You may obtain a copy of the License at
1485
+
1486
+ http://www.apache.org/licenses/LICENSE-2.0
1487
+
1488
+ Unless required by applicable law or agreed to in writing, software
1489
+ distributed under the License is distributed on an "AS IS" BASIS,
1490
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1491
+ See the License for the specific language governing permissions and
1492
+ limitations under the License.
executorch_wasm_lib.js ADDED
The diff for this file is too large to render. See raw diff
 
executorch_wasm_lib.wasm ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35a9087d0b6cd86c279e7111adfd54a58156bd993928b20f63348f1043652eb4
3
+ size 6562188
manifest.json ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "repo": "executorch-community/ExecuTorch-WebGPU-Runtime",
3
+ "files": [
4
+ {
5
+ "path": "executorch_wasm_lib.wasm",
6
+ "bytes": 6562188,
7
+ "sha256": "35a9087d0b6cd86c279e7111adfd54a58156bd993928b20f63348f1043652eb4"
8
+ },
9
+ {
10
+ "path": "executorch_wasm_lib.js",
11
+ "bytes": 165877,
12
+ "sha256": "8a631b1537927f8f2ef184d9f1b343061f47df0a32ddb8f5190d74e80d40618e"
13
+ }
14
+ ]
15
+ }