Manually Building Emscripten on Windows

This page contains basic instructions on how to manually build and configure Emscripten from source on a clean Windows box.

Note

The instructions clone from the main Emscripten repository (https://github.com/kripken/emscripten). Contributors should instead clone from their own Emscripten fork, and submit changes as pull requests.

Tip

You can also build Emscripten from source using the SDK. This is recommended if you need to easily switch between SDK and source builds.

What you’ll need

The specific versions of tools that are needed are listed in the Emscripten Toolchain Requirements.

Note

64-bit versions of all needed dependencies are preferred, and may be required if you are building large projects. However, if you plan to integrate with Visual Studio, do NOT install the 64-bit versions of the tools.

Installing required tools

These instructions explain how to install all the required tools. You can test whether some of these are already installed on the platform and skip those steps.

  1. Install Python 2.7 (not 3.x):

    • For example python-2.7.12.amd64.msi (64-bit version) or python-2.7.12.msi (32-bit version).

    • Add the path to the Python directory containing Python.exe to your PATH.

      • Paths are set by opening System Settings | Advanced system properties, clicking Environment Variables and selecting PATH.
      • Add the path to python, separated by semicolons: e.g. ;C:/Python27/; or ;C:/Python27/bin; (depending on the location of the exe).
  2. Install node.js:

  3. Install Visual Studio 2010 (and possibly Microsoft Windows SDK for Windows 7 and .NET Framework 4).

  4. Install cmake.

  5. Install Github for Windows (or any other git client).

  6. Install Java (Java is optional, you only need it for Closure Compiler minification).

  7. Build Fastcomp (LLVM + Clang) from source using these instructions.

  8. Clone the kripken/emscripten repository from Github. This repository contains the main compiler tool for compiling C/C++ programs to JavaScript:

    • Using Github for Windows:
      • Launch the GitHub for Windows client. Click Skip Setup if you don’t have a Github account.
      • (optional) Select Options from the gear menu, and customize the default storage directory. Ensure the path has no spaces.
      • In your web browser, open https://github.com/kripken/emscripten and press the Clone in Windows button.
    • Using the command line:
      • Create a directory (with no spaces in the name) to contain the clone.

      • Enter the following command into the terminal:

        git clone https://github.com/kripken/emscripten.git
        

Configuring Emscripten settings

Almost all the compiler settings used by Emscripten are defined in the compiler configuration file (.emscripten), a user-specific file located in the user’s home directory.

Instructions for creating and manually configuring this file are given in Configuring Emscripten Settings when Manually Building from Source.

Validating the environment

The best way to validate the environment is to build some code. Open the terminal in your Emscripten directory — the directory that contains emcc (if you installed using Github for Windows this will be C:/Users/username/Documents/GitHub/emscripten) and enter:

./emcc tests/hello_world.cpp

If this builds a.out.js in the current directory, and you don’t see any build errors in the terminal, Emscripten is good to go!

There are additional validation and troubleshooting instructions in the topic Verifying the Emscripten Development Environment.