CINXE.COM

Download and install — Emscripten 4.0.0-git (dev) documentation

<!DOCTYPE html> <html class="writer-html5" lang="en"> <head> <meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Download and install &mdash; Emscripten 4.0.0-git (dev) documentation</title> <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=fa44fd50" /> <link rel="stylesheet" type="text/css" href="../../_static/css/theme.css?v=6895f958" /> <link rel="shortcut icon" href="../../_static/emscripten.ico"/> <script src="../../_static/jquery.js?v=5d32c60e"></script> <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script> <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=faf469f6"></script> <script src="../../_static/doctools.js?v=888ff710"></script> <script src="../../_static/sphinx_highlight.js?v=4825356b"></script> <script src="../../_static/js/theme.js"></script> <link rel="index" title="Index" href="../../genindex.html" /> <link rel="search" title="Search" href="../../search.html" /> <link rel="next" title="Emscripten Tutorial" href="Tutorial.html" /> <link rel="prev" title="Getting Started" href="index.html" /> </head> <body class="wy-body-for-nav"> <div class="grid-to-center-rtd-theme"> <div class="wy-grid-for-nav"> <nav data-toggle="wy-nav-shift" class="wy-nav-side"> <div class="wy-side-scroll"> <div class="wy-side-nav-search" > <a href="../../index.html"> <!-- <img src="../..//_static/" alt="Logo"> --> <img src="../../_static/Emscripten_logo_full.png" class="logo" alt="Logo"/> </a> <div role="search"> <form id="rtd-search-form" class="wy-form" action="../../search.html" method="get"> <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" /> <input type="hidden" name="check_keywords" value="yes" /> <input type="hidden" name="area" value="default" /> </form> </div> </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu"> <ul class="current"> <li class="toctree-l1"><a class="reference internal" href="../introducing_emscripten/index.html">Introducing Emscripten</a></li> <li class="toctree-l1 current"><a class="reference internal" href="index.html">Getting Started</a><ul class="current"> <li class="toctree-l2 current"><a class="current reference internal" href="#">Download and install</a><ul> <li class="toctree-l3"><a class="reference internal" href="#installation-instructions-using-the-emsdk-recommended">Installation instructions using the emsdk (recommended)</a><ul> <li class="toctree-l4"><a class="reference internal" href="#emsdk-install-targets">Emsdk install targets</a></li> <li class="toctree-l4"><a class="reference internal" href="#platform-specific-notes">Platform-specific notes</a></li> </ul> </li> <li class="toctree-l3"><a class="reference internal" href="#verifying-the-installation">Verifying the installation</a></li> <li class="toctree-l3"><a class="reference internal" href="#updating-the-sdk">Updating the SDK</a></li> <li class="toctree-l3"><a class="reference internal" href="#uninstalling-the-emscripten-sdk">Uninstalling the Emscripten SDK</a></li> <li class="toctree-l3"><a class="reference internal" href="#using-the-docker-image">Using the Docker image</a></li> <li class="toctree-l3"><a class="reference internal" href="#installation-using-unofficial-packages">Installation using unofficial packages</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="Tutorial.html">Emscripten Tutorial</a></li> <li class="toctree-l2"><a class="reference internal" href="test-suite.html">Emscripten Test Suite</a></li> <li class="toctree-l2"><a class="reference internal" href="bug_reports.html">Bug Reporting</a></li> <li class="toctree-l2"><a class="reference internal" href="FAQ.html">FAQ</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../compiling/index.html">Compiling and Running Projects</a></li> <li class="toctree-l1"><a class="reference internal" href="../porting/index.html">Porting</a></li> <li class="toctree-l1"><a class="reference internal" href="../api_reference/index.html">API Reference</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools_reference/index.html">Tools Reference</a></li> <li class="toctree-l1"><a class="reference internal" href="../optimizing/Optimizing-Code.html">Optimizing Code</a></li> <li class="toctree-l1"><a class="reference internal" href="../optimizing/Optimizing-WebGL.html">Optimizing WebGL</a></li> <li class="toctree-l1"><a class="reference internal" href="../debugging/Sanitizers.html">Debugging with Sanitizers</a></li> <li class="toctree-l1"><a class="reference internal" href="../building_from_source/index.html">Building Emscripten from Source</a></li> <li class="toctree-l1"><a class="reference internal" href="../contributing/index.html">Contributing to Emscripten</a></li> <li class="toctree-l1"><a class="reference internal" href="../optimizing/Profiling-Toolchain.html">Profiling the Toolchain</a></li> <li class="toctree-l1"><a class="reference internal" href="../site/about.html">About this site</a></li> <li class="toctree-l1"><a class="reference internal" href="../../genindex.html">Index</a></li> </ul> </div> </div> </nav> <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" > <i data-toggle="wy-nav-top" class="fa fa-bars"></i> <!-- <a href="../../index.html">Emscripten</a> --> <a href="../../index.html"> <img src="../../_static/Emscripten_logo_full.png" alt="Logo" /> </a> </nav> <div class="wy-nav-content"> <div class="rst-content"> <!--begin hamishw addition --> <!--Nav bar defined as a document followed by short version of nav text and long version If no such page exists then nav item is not created. CSS defines which of the long or short version is displayed. --> <a href="https://github.com/emscripten-core/emscripten"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://github.blog/wp-content/uploads/2008/12/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" data-canonical-src="https://github.blog/wp-content/uploads/2008/12/forkme_right_darkblue_121621.png"></a> <div class="main-nav-bar" style=""> <!-- the layout of the menu options - centered with left and right alignment of the first and last loop items respectively. This is VERY UGLY as I'm adding to the CSS in the code to force the alignment. Would be better just to have the elements here and have the CSS in the CSS file. This could be done with a CSS selector, but not worked out how yet. --> <ul id="menu-options"> <li style="text-align:left;"><a class="navlink-short" title="Docs" href="../index.html">Docs</a><a class="navlink-long" title="Documentation" href="../index.html">Documentation</a></li> <li><a class="navlink-short" title="SDK" href="#">SDK</a><a class="navlink-long" title="Downloads" href="#">Downloads</a></li> <li><a class="navlink-short" title="Help" href="../introducing_emscripten/community.html">Help</a><a class="navlink-long" title="Community" href="../introducing_emscripten/community.html">Community</a></li> <li style="text-align:right;"><a class="navlink-short" title="GitHub" href="../index.html">GitHub</a><a class="navlink-long" title="" href="../index.html"></a></li> </ul> <!-- <div style="clear:both;"></div> --> <div role="navigation" aria-label="breadcrumbs navigation"> <div class="breadcrumb-box"> <a class="breadcrumb-box-item" href="../../index.html">Home</a> <a class="breadcrumb-box-item" href="index.html">&raquo;&nbsp;Getting Started</a> <div class="breadcrumb-box-item">&raquo;&nbsp;Download and install</div> </div> </div> </div> <!--end hamishw addition --> <!--HamishW move <div role="navigation" aria-label="breadcrumbs navigation"> <div class="breadcrumb-box"> <a class="breadcrumb-box-item" href="../../index.html">Home</a> <a class="breadcrumb-box-item" href="index.html">&raquo;&nbsp;Getting Started</a> <div class="breadcrumb-box-item">&raquo;&nbsp;Download and install</div> </div> </div> --> <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> <section id="download-and-install"> <span id="sdk-download-and-install"></span><h1>Download and install<a class="headerlink" href="#download-and-install" title="Permalink to this heading"></a></h1> <div class="admonition note"> <p class="admonition-title">Note</p> <p>You can also <a class="reference internal" href="../building_from_source/index.html#installing-from-source"><span class="std std-ref">build Emscripten from source</span></a> if you prefer that to downloading binaries using the emsdk.</p> </div> <div class="admonition tip"> <p class="admonition-title">Tip</p> <p>if you’d like to install emscripten using the <strong>unofficial</strong> packages instead of the <strong>officially supported</strong> emsdk, see the bottom of the page.</p> </div> <section id="installation-instructions-using-the-emsdk-recommended"> <span id="sdk-installation-instructions"></span><h2>Installation instructions using the emsdk (recommended)<a class="headerlink" href="#installation-instructions-using-the-emsdk-recommended" title="Permalink to this heading"></a></h2> <p>First check the <a class="reference internal" href="#platform-notes-installation-instructions-sdk"><span class="std std-ref">Platform-specific notes</span></a> below and install any prerequisites.</p> <p>The core Emscripten SDK (emsdk) driver is a Python script. You can get it for the first time with</p> <blockquote> <div><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Get the emsdk repo</span> <span class="n">git</span> <span class="n">clone</span> <span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">github</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">emscripten</span><span class="o">-</span><span class="n">core</span><span class="o">/</span><span class="n">emsdk</span><span class="o">.</span><span class="n">git</span> <span class="c1"># Enter that directory</span> <span class="n">cd</span> <span class="n">emsdk</span> </pre></div> </div> </div></blockquote> <div class="admonition note"> <p class="admonition-title">Note</p> <p>You can also get the emsdk without git, by selecting “Clone or download =&gt; Download ZIP” on the <a class="reference external" href="https://github.com/emscripten-core/emsdk">emsdk GitHub page</a>.</p> </div> <p>Run the following <a class="reference internal" href="../tools_reference/emsdk.html#emsdk"><span class="std std-ref">emsdk</span></a> commands to get the latest tools from GitHub and set them as <a class="reference internal" href="../site/glossary.html#term-Active-Tool-SDK"><span class="xref std std-term">active</span></a>:</p> <blockquote> <div><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Fetch the latest version of the emsdk (not needed the first time you clone)</span> <span class="n">git</span> <span class="n">pull</span> <span class="c1"># Download and install the latest SDK tools.</span> <span class="o">./</span><span class="n">emsdk</span> <span class="n">install</span> <span class="n">latest</span> <span class="c1"># Make the &quot;latest&quot; SDK &quot;active&quot; for the current user. (writes .emscripten file)</span> <span class="o">./</span><span class="n">emsdk</span> <span class="n">activate</span> <span class="n">latest</span> <span class="c1"># Activate PATH and other environment variables in the current terminal</span> <span class="n">source</span> <span class="o">./</span><span class="n">emsdk_env</span><span class="o">.</span><span class="n">sh</span> </pre></div> </div> <div class="admonition tip"> <p class="admonition-title">Tip</p> <p>If you want to avoid executing <cite>source ./emsdk_env.sh</cite> every time you open a new terminal you can follow the instructions given by the <cite>emsdk activate</cite> command above to add this command to your startup scripts.</p> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p>On Windows, run <code class="docutils literal notranslate"><span class="pre">emsdk.bat</span></code> instead of <code class="docutils literal notranslate"><span class="pre">./emsdk</span></code>, and <code class="docutils literal notranslate"><span class="pre">emsdk_env.bat</span></code> instead of <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">./emsdk_env.sh</span></code>.</p> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p>On Windows, if you use the <code class="docutils literal notranslate"><span class="pre">activate</span></code> command, the step of <code class="docutils literal notranslate"><span class="pre">emsdk_env.bat</span></code> is optional. If you want to know more, see <a class="reference internal" href="../tools_reference/emsdk.html#emsdk-set-active-tools"><span class="std std-ref">activate SDK version</span></a>.</p> </div> <div class="admonition note"> <p class="admonition-title">Note</p> <p><code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">pull</span></code> will fetch the current list of tags, but very recent ones may not yet be present there. You can run <code class="docutils literal notranslate"><span class="pre">./emsdk</span> <span class="pre">update-tags</span></code> to update the list of tags directly.</p> </div> </div></blockquote> <p>If you change the location of the SDK (e.g. take it to another computer on an USB), re-run the <code class="docutils literal notranslate"><span class="pre">./emsdk</span> <span class="pre">activate</span> <span class="pre">latest</span></code> and <code class="docutils literal notranslate"><span class="pre">source</span> <span class="pre">./emsdk_env.sh</span></code> commands.</p> <section id="emsdk-install-targets"> <h3>Emsdk install targets<a class="headerlink" href="#emsdk-install-targets" title="Permalink to this heading"></a></h3> <p>In the description above we asked the emsdk to install and activate <code class="docutils literal notranslate"><span class="pre">latest</span></code>, which is the latest tagged release. That is often what you want.</p> <p>You can also install a specific version by specifying it, for example,</p> <blockquote> <div><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">./</span><span class="n">emsdk</span> <span class="n">install</span> <span class="mf">1.38.45</span> </pre></div> </div> </div></blockquote> <div class="admonition note"> <p class="admonition-title">Note</p> <p>When installing old versions from before the build infrastructure rewrite (anything before <code class="docutils literal notranslate"><span class="pre">1.38.33</span></code>), you need to write something like <code class="docutils literal notranslate"><span class="pre">./emsdk</span> <span class="pre">install</span> <span class="pre">sdk-1.38.20-64bit</span></code> (add <code class="docutils literal notranslate"><span class="pre">sdk-</span></code> and <code class="docutils literal notranslate"><span class="pre">-64bit</span></code>) as that was the naming convention at the time.</p> </div> <p>There are also “tip-of-tree builds”, which are the very latest code that passes integration tests on <a class="reference external" href="https://ci.chromium.org/p/emscripten-releases">Chromium CI</a>. This is updated much more frequently than tagged releases, but may be less stable (we <a class="reference external" href="https://github.com/emscripten-core/emscripten/blob/main/docs/process.md#minor-version-updates-1xy-to-1xy1">tag releases manually</a> using a more careful procedure). Tip-of-tree builds may be useful for continuous integration that uses the emsdk (as Emscripten’s GitHub CI does), and you may want to use it in your own CI as well, so that if you find a regression on your project you can report it and prevent it from reaching a tagged release. Tip-of-builds may also be useful if you want to test a feature that just landed but didn’t reach a release yet. To use a tip-of-tree build, use the <code class="docutils literal notranslate"><span class="pre">tot</span></code> target, and note that you must specify the backend explicitly,</p> <blockquote> <div><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Get a tip-of-tree</span> <span class="o">./</span><span class="n">emsdk</span> <span class="n">install</span> <span class="n">tot</span> </pre></div> </div> </div></blockquote> <p>(In the above examples we installed the various targets; remember to also <code class="docutils literal notranslate"><span class="pre">activate</span></code> them as in the full example from earlier.)</p> </section> <section id="platform-specific-notes"> <span id="platform-notes-installation-instructions-sdk"></span><h3>Platform-specific notes<a class="headerlink" href="#platform-specific-notes" title="Permalink to this heading"></a></h3> <section id="windows"> <h4>Windows<a class="headerlink" href="#windows" title="Permalink to this heading"></a></h4> <ol class="arabic simple"> <li><p>Install Python 3.6 or newer (older versions may not work due to <a class="reference external" href="https://github.com/emscripten-core/emscripten/issues/6275">a GitHub change with SSL</a>).</p></li> </ol> <blockquote> <div><div class="admonition note"> <p class="admonition-title">Note</p> <p>Instead of running emscripten on Windows directly, you can use the Windows Subsystem for Linux to run it in a Linux environment.</p> </div> </div></blockquote> </section> <section id="macos"> <h4>macOS<a class="headerlink" href="#macos" title="Permalink to this heading"></a></h4> <div class="admonition note"> <p class="admonition-title">Note</p> <p>Emscripten requires macOS 10.14 Mojave or above.</p> </div> <p>If you use the Emscripten SDK it includes a bundled version of Python 3. Otherwise you will need to manually install and use Python 3.6 or newer.</p> <p>These instructions explain how to install <strong>all</strong> the <a class="reference internal" href="../building_from_source/toolchain_what_is_needed.html#toolchain-what-you-need"><span class="std std-ref">required tools</span></a>. You can <a class="reference internal" href="../building_from_source/toolchain_what_is_needed.html#toolchain-test-which-dependencies-are-installed"><span class="std std-ref">test whether some of these are already installed</span></a> on the platform and skip those steps.</p> <ol class="arabic simple"> <li><p>Install the <em>Xcode Command Line Tools</em>. These are a precondition for <em>git</em>.</p></li> </ol> <blockquote> <div><ul class="simple"> <li><p>Install Xcode from the <a class="reference external" href="http://superuser.com/questions/455214/where-is-svn-on-os-x-mountain-lion">macOS App Store</a>.</p></li> <li><p>In <strong>Xcode | Preferences | Downloads</strong>, install <em>Command Line Tools</em>.</p></li> </ul> </div></blockquote> <ol class="arabic simple"> <li><p>Install <em>git</em>:</p></li> </ol> <blockquote> <div><ul class="simple"> <li><p><a class="reference external" href="https://support.apple.com/en-gb/HT202491">Make sure the OS allows installing git</a>.</p></li> <li><p>Install Xcode and the Xcode Command Line Tools (should already have been done). This will provide <em>git</em> to the system PATH (see <a class="reference external" href="http://stackoverflow.com/questions/9329243/xcode-4-4-command-line-tools">this stackoverflow post</a>).</p></li> <li><p>Download and install git directly from <a class="reference external" href="http://git-scm.com/">http://git-scm.com/</a>.</p></li> </ul> </div></blockquote> <ol class="arabic simple"> <li><p>Install <em>cmake</em> if you do not have it yet:</p></li> </ol> <blockquote> <div><ul class="simple"> <li><p>Download and install latest CMake from <a class="reference external" href="http://www.cmake.org/download/">Kitware CMake downloads</a>.</p></li> </ul> </div></blockquote> </section> <section id="linux"> <h4>Linux<a class="headerlink" href="#linux" title="Permalink to this heading"></a></h4> <div class="admonition note"> <p class="admonition-title">Note</p> <p><em>Emsdk</em> does not install any tools to the system, or otherwise interact with Linux package managers. All file changes are done inside the <strong>emsdk/</strong> directory.</p> </div> <ul> <li><p><em>Python</em> is not provided by <em>emsdk</em>. The user is expected to install this beforehand with the <em>system package manager</em>:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install Python</span> <span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">python3</span> <span class="c1"># Install CMake (optional, only needed for tests and building Binaryen or LLVM)</span> <span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">cmake</span> </pre></div> </div> </li> </ul> <div class="admonition note"> <p class="admonition-title">Note</p> <p>If you want to use your system’s Node.js instead of the emsdk’s, it may be <code class="docutils literal notranslate"><span class="pre">node</span></code> instead of <code class="docutils literal notranslate"><span class="pre">nodejs</span></code>, and you can adjust the <code class="docutils literal notranslate"><span class="pre">NODE_JS</span></code> attribute of your <code class="docutils literal notranslate"><span class="pre">.emscripten</span></code> file to point to it.</p> </div> <ul> <li><p><em>Git</em> is not installed automatically. Git is only needed if you want to use tools from a development branch.</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Install git</span> <span class="n">sudo</span> <span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">git</span> </pre></div> </div> </li> </ul> </section> </section> </section> <section id="verifying-the-installation"> <h2>Verifying the installation<a class="headerlink" href="#verifying-the-installation" title="Permalink to this heading"></a></h2> <p>The easiest way to verify the installation is to compile some code using Emscripten.</p> <p>You can jump ahead to the <a class="reference internal" href="Tutorial.html#tutorial"><span class="std std-ref">Emscripten Tutorial</span></a>, but if you have any problems building you should run through the basic tests and troubleshooting instructions in <a class="reference internal" href="../building_from_source/verify_emscripten_environment.html#verifying-the-emscripten-environment"><span class="std std-ref">Verifying the Emscripten Development Environment</span></a>.</p> </section> <section id="updating-the-sdk"> <span id="updating-the-emscripten-sdk"></span><h2>Updating the SDK<a class="headerlink" href="#updating-the-sdk" title="Permalink to this heading"></a></h2> <div class="admonition tip"> <p class="admonition-title">Tip</p> <p>You only need to install the SDK once! After that you can update to the latest SDK at any time using <a class="reference internal" href="../tools_reference/emsdk.html#emsdk"><span class="std std-ref">Emscripten SDK (emsdk)</span></a>.</p> </div> <p>Type the following in a command prompt</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Fetch the latest registry of available tools.</span> <span class="o">./</span><span class="n">emsdk</span> <span class="n">update</span> <span class="c1"># Download and install the latest SDK tools.</span> <span class="o">./</span><span class="n">emsdk</span> <span class="n">install</span> <span class="n">latest</span> <span class="c1"># Set up the compiler configuration to point to the &quot;latest&quot; SDK.</span> <span class="o">./</span><span class="n">emsdk</span> <span class="n">activate</span> <span class="n">latest</span> <span class="c1"># Activate PATH and other environment variables in the current terminal</span> <span class="n">source</span> <span class="o">./</span><span class="n">emsdk_env</span><span class="o">.</span><span class="n">sh</span> </pre></div> </div> <p>The package manager can do many other maintenance tasks ranging from fetching specific old versions of the SDK through to using the <a class="reference internal" href="../tools_reference/emsdk.html#emsdk-dev-sdk"><span class="std std-ref">versions of the tools on GitHub</span></a> (or even your own fork). Check out all the possibilities in the <a class="reference internal" href="../tools_reference/emsdk.html#emsdk-howto"><span class="std std-ref">“How to” guides</span></a>.</p> </section> <section id="uninstalling-the-emscripten-sdk"> <span id="downloads-uninstall-the-sdk"></span><h2>Uninstalling the Emscripten SDK<a class="headerlink" href="#uninstalling-the-emscripten-sdk" title="Permalink to this heading"></a></h2> <p>If you want to remove the whole SDK, just delete the directory containing the SDK.</p> <p>It is also possible to <a class="reference internal" href="../tools_reference/emsdk.html#emsdk-remove-tool-sdk"><span class="std std-ref">remove specific tools in the SDK using emsdk</span></a>.</p> </section> <section id="using-the-docker-image"> <h2>Using the Docker image<a class="headerlink" href="#using-the-docker-image" title="Permalink to this heading"></a></h2> <p>The entire Emscripten SDK is also available in the form of a <a class="reference external" href="https://hub.docker.com/r/emscripten/emsdk">docker image</a>. For example:</p> <div class="highlight-default notranslate"><div class="highlight"><pre><span></span>docker run --rm -v $(pwd):/src -u $(id -u):$(id -g) \ emscripten/emsdk emcc helloworld.cpp -o helloworld.js </pre></div> </div> <p>See the Docker Hub page for more details and examples.</p> </section> <section id="installation-using-unofficial-packages"> <h2>Installation using unofficial packages<a class="headerlink" href="#installation-using-unofficial-packages" title="Permalink to this heading"></a></h2> <div class="admonition note"> <p class="admonition-title">Note</p> <p>The <cite>emsdk</cite> is the only officially supported way to use Emscripten that is supported by the Emscripten project, and the only one that we constantly test (<a class="reference external" href="https://github.com/emscripten-core/emsdk/blob/main/.circleci/config.yml">emsdk CI</a>, <a class="reference external" href="https://github.com/emscripten-core/emscripten/blob/main/.circleci/config.yml">Emscripten GitHub CI</a>, <a class="reference external" href="https://ci.chromium.org/p/emscripten-releases">Chromium CI</a>).</p> </div> <p>While we don’t officially support other ways of getting Emscripten, we definitely appreciate the efforts by third parties to <a class="reference external" href="https://github.com/emscripten-core/emscripten/blob/main/docs/packaging.md">package Emscripten</a> for users’ convenience, and we’d like to help out, please get in touch if you are such a packager!</p> <p>The following is a partial list of such unofficial emscripten packages:</p> <dl class="simple"> <dt><strong>Windows</strong></dt><dd><ul class="simple"> <li><p>package info: <cite>emscripten</cite> in <a class="reference external" href="https://chocolatey.org/packages/emscripten">chocolatey</a></p></li> <li><p>maintainer: &#64;aminya</p></li> </ul> </dd> <dt><strong>Homebrew</strong></dt><dd><ul class="simple"> <li><p>package info: <a class="reference external" href="https://formulae.brew.sh/formula/emscripten">https://formulae.brew.sh/formula/emscripten</a></p></li> <li><p>maintainer: &#64;chenrui333</p></li> </ul> </dd> <dt><strong>Arch Linux</strong></dt><dd><ul class="simple"> <li><p>package info: <a class="reference external" href="https://archlinux.org/packages/extra/x86_64/emscripten">https://archlinux.org/packages/extra/x86_64/emscripten</a></p></li> <li><p>maintainer: Sven-Hendrik Haase &lt;<a class="reference external" href="mailto:svenstaro&#37;&#52;&#48;archlinux&#46;org">svenstaro<span>&#64;</span>archlinux<span>&#46;</span>org</a>&gt;</p></li> </ul> </dd> </dl> </section> </section> </div> </div> <footer> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <a href="Tutorial.html" class="btn btn-neutral float-right" title="Emscripten Tutorial"/>Next <span class="fa fa-arrow-circle-right"></span></a> <a href="index.html" class="btn btn-neutral" title="Getting Started"><span class="fa fa-arrow-circle-left"></span> Previous</a> </div> <!--begin hamishw addition --> <!-- --> <!--Footer important links If no such page exists then nav item is not created. CSS defines which of the long or short version is displayed. --> <div class="footer-nav-bar" style=""> <div class="footer-options"> <a class="footer-navlink-short" title="Report Bug" href="bug_reports.html">Report Bug</a><a class="footer-navlink-long" title="Report Bug" href="bug_reports.html">Report Bug</a> <a class="footer-navlink-short" title="Licensing" href="../introducing_emscripten/emscripten_license.html">Licensing</a><a class="footer-navlink-long" title="Licensing" href="../introducing_emscripten/emscripten_license.html">Licensing</a> <a class="footer-navlink-short" title="Contributing" href="../contributing/contributing.html">Contributing</a><a class="footer-navlink-long" title="Contributing" href="../contributing/contributing.html">Contributing</a> <a class="footer-navlink-short external" href="https://groups.google.com/forum/#!forum/emscripten-discuss">Mailing list</a><a class="footer-navlink-long external" href="https://groups.google.com/forum/#!forum/emscripten-discuss">Mailing list</a> <a class="footer-navlink-short external" href="https://github.com/emscripten-core/emscripten/wiki">Wiki</a><a class="footer-navlink-long external" href="https://github.com/emscripten-core/emscripten/wiki">Wiki</a> <a class="footer-navlink-short" title="Release notes" href="../introducing_emscripten/release_notes.html">Release notes</a><a class="footer-navlink-long" title="Release notes" href="../introducing_emscripten/release_notes.html">Release notes</a> <a class="footer-navlink-short" title="Blogs" href="../introducing_emscripten/community.html">Blogs</a><a class="footer-navlink-long" title="Blogs" href="../introducing_emscripten/community.html">Blogs</a> <a class="footer-navlink-short" title="Help" href="../introducing_emscripten/community.html">Help</a><a class="footer-navlink-long" title="Contact" href="../introducing_emscripten/community.html">Contact</a> </div> </div> <!-- <div role="navigation" aria-label="breadcrumbs navigation"> <div class="breadcrumb-box"> <a class="breadcrumb-box-item" href="../../index.html">Home</a> <a class="breadcrumb-box-item" href="index.html">&raquo;&nbsp;Getting Started</a> <div class="breadcrumb-box-item">&raquo;&nbsp;Download and install</div> </div> </div> --> <!-- <a href="https://github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a> --. <!--end hamishw addition --> <!-- end section moved here by hamishw --> <div role="contentinfo" class="copyright-box"> <!-- section moved here by hamishw - needs tidying, which is why it is still in breadcrumbs mode --> <ul class="wy-breadcrumbs"> <li class="wy-breadcrumbs-aside"> </li> <li class="wy-breadcrumbs-aside"> <a href="../site/about.html">About site</a> </li> <li class="wy-breadcrumbs-aside"> <a href="https://github.com/emscripten-core/emscripten/issues/new?title=Bug%20in%20page:Download%20and%20install%20&body=REPLACE%20THIS%20TEXT%20WITH%20BUG%20DESCRIPTION%20%0A%0AURL:%20../../docs/getting_started/downloads&labels=bug">Page bug</a> </li> </ul> <p> <!-- &copy; Copyright 2015, . --> &copy; Copyright 2015, <a href="../contributing/AUTHORS.html">Emscripten Contributors</a>. <!-- update theme to remove the translation stuff here - it was breaking due to link to AUTHORS file. This is a cludge to allow specific link to my authors file --> </p> </div> </footer> </div> </div> </section> </div> <script> jQuery(function () { SphinxRtdTheme.Navigation.enable(true); }); </script> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10