Automic VaultAutomic Vault

brew

Install emscripten with Homebrew, chocolatey, apt, MacPorts, Nix, pacman, scoop

LLVM bytecode to JavaScript compiler. Version 6.0.2 via Homebrew; verified 2026-07-02.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install emscripten

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install emscripten

MacPorts ports tree · lang/emscripten/Portfile · source: api.github.com

Windows

Chocolateyverified · 92%
choco install emscripten

Chocolatey community package catalog · emscripten · source: community.chocolatey.org

Scoopverified · 92%
scoop install main/emscripten

Scoop official bucket manifest trees · bucket/emscripten.json · source: api.github.com

overview

Package summary

LLVM bytecode to JavaScript compiler

Commands and aliases

  • bootstrap
  • em++
  • em-config
  • emar
  • embuilder
  • emcc
  • emcmake
  • emconfigure
  • emdwp
  • emmake
  • emnm
  • empath-split
  • emprofile
  • emranlib
  • emrun
  • emscan-deps
  • emscons
  • emsize
  • emstrip
  • emsymbolizer
  • wasm32-clang
  • wasm32-clang++
  • wasm32-wasi-clang
  • wasm32-wasi-clang++

history

Project history and usage

Emscripten is the long-running LLVM-based toolchain that made C and C++ code practical to ship into JavaScript and then WebAssembly environments. Its README describes it as compiling C and C++ to WebAssembly using LLVM and Binaryen, with output that runs on the web, in Node.js, and in standalone wasm runtimes.

For package users, Emscripten is not just one compiler binary: it is a full porting toolchain with `emcc`, `em++`, build-system wrappers, archive tools, runtime helpers, ports, and a cache. Installing it from a package manager gives developers a local system toolchain, while the project itself still recommends the Emscripten SDK as the easiest way to get started.

Project history

The public GitHub repository dates to 2011, and the project grew around the idea that LLVM IR could be lowered into browser-executable output. As WebAssembly became the standard target, Emscripten's documented model shifted toward producing a wasm module plus JavaScript loader code, while still retaining browser, Node.js, and runtime integration layers.

The Emscripten README ties the project closely to LLVM, Binaryen, Clang, OpenGL, SDL2, and the broader portable-native-code ecosystem. Its license notes also reflect the project's LLVM relationship, including the later switch to the LLVM wasm backend.

Adoption history

Emscripten became important because it turned existing native codebases into web-deployable artifacts rather than forcing rewrites. The project documentation points to large graphical and application ports, including Unity WebGL and Google Earth, as examples of the kind of portable API support it targets.

Its command-line shape made it familiar to Unix package users: `emcc` is presented as something to run like `gcc` or `clang`, and companion tools such as `emcmake` and `emconfigure` let existing C/C++ build systems cross-compile with limited ceremony.

How it is used

Typical use starts with compiling a C or C++ file through `emcc`, producing JavaScript plus a WebAssembly module, or generating an HTML harness for browser testing. Larger projects commonly enter through build wrappers such as `emcmake`, `emconfigure`, and `emmake`.

The toolchain matters beyond browsers because Emscripten documents output for Node.js, Deno, Bun, and wasm runtimes. That makes it a package-manager fixture for developers who need reproducible local builds of wasm artifacts from native code.

Why package nerds care

Emscripten is one of the canonical examples of a package that is both a compiler and a small ecosystem: it brings a sysroot, ports, compiler frontends, JS glue generation, cache behavior, and version-sensitive ABI expectations. Its changelog explicitly warns that ABI compatibility is not guaranteed across versions and that rebuilds may be needed after upgrades.

For maintainers, Emscripten is interesting because it sits at the crossing of LLVM release behavior, browser platform changes, WebAssembly proposals, and ordinary package-manager expectations. Keeping it packaged means tracking a fast-moving compiler stack while preserving the simple user promise of `emcc hello.c -o hello.js`.

Timeline

  • 2011: Public GitHub repository created for Emscripten.
  • 2010s: Emscripten became a common route for porting native C/C++ applications and libraries to the web.
  • WebAssembly era: The documented default model centers on producing wasm modules with JavaScript loader code.
  • 2026: The 6.x release series continued active development, including toolchain, browser-target, Node.js, and wasm feature changes.

Related projects

  • LLVM and Clang provide the compiler foundation used by Emscripten.
  • Binaryen is part of the documented WebAssembly toolchain used by Emscripten.
  • SDL2, OpenGL support, Unity WebGL, and Google Earth are cited by the project as examples or beneficiaries of the porting model.
  • Rust can integrate with Emscripten through the `wasm32-unknown-emscripten` target.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • Homebrew declares a post-install hook for this formula.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 4 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
.emscripten~/.emscripten$EM_CONFIG

executables

Installed executables

CommandKindExposureNote
bootstrapcliglobal executable
em++cliglobal executable
em-configcliglobal executable
emarcliglobal executable
embuildercliglobal executable
emcccliglobal executable
emcmakecliglobal executable
emconfigurecliglobal executable
emdwpcliglobal executable
emmakecliglobal executable
emnmcliglobal executable
empath-splitcliglobal executable
emprofilecliglobal executable
emranlibcliglobal executable
emruncliglobal executable
emscan-depscliglobal executable
emsconscliglobal executable
emsizecliglobal executable
emstripcliglobal executable
emsymbolizercliglobal executable
wasm32-clangcliglobal executable
wasm32-clang++cliglobal executable
wasm32-wasi-clangcliglobal executable
wasm32-wasi-clang++cliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version6.0.2
manager updated2026-07-02
local dataok
upstreamcurrent
latest detected6.0.2

https://github.com/emscripten-core/emscripten

  • okNo freshness warnings were generated.

install metadata

Package metadata

Package keybrew:emscripten
Version6.0.2
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/emscripten
Homepagehttps://emscripten.org/
Repositoryhttps://github.com/emscripten-core/emscripten
Upstream docshttps://emscripten.org/docs
LicenseApache-2.0 AND (Apache-2.0 WITH LLVM-exception) AND (MIT OR NCSA)
Source archivehttps://github.com/emscripten-core/emscripten/archive/refs/tags/6.0.2.tar.gz
Last updated2026-07-02T02:30:46Z
Pulseupdated
Dependenciesnode, openjdk, python@3.14, yuicompressor
Build dependenciescmake
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installdefined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameemscripten
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Debian apt95%

emscripten 3.1.69+dfsg-3

LLVM-to-JavaScript Compiler

http://emscripten.org/

sudo apt install emscripten
  • Section: devel
  • Architecture: all
  • 8 dependencies
  • 1 provides
  • 11 optional deps
  • normalized package name match
  • Matched by: Emscripten
Debian stable package indexes · deb.debian.org · Debian stable package indexes: emscripten from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Debian apt95%

emscripten-doc 3.1.69+dfsg-3

LLVM-to-JavaScript Compiler (documentation)

http://emscripten.org/

sudo apt install emscripten-doc
  • Section: doc
  • Architecture: all
  • Source Package: emscripten
  • 4 dependencies
  • normalized package name match
  • Matched by: Emscripten
Debian stable package indexes · deb.debian.org · Debian stable package indexes: emscripten-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz
Nix95%

emscripten

nix profile install nixpkgs#emscripten
  • normalized package name match
  • Matched by: Emscripten
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: emscripten from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
Ubuntu apt95%

emscripten 3.1.6~dfsg-7

LLVM-to-JavaScript Compiler

http://emscripten.org/

sudo apt install emscripten
  • Section: universe/devel
  • Architecture: all
  • 7 dependencies
  • 1 provides
  • 11 optional deps
  • normalized package name match
  • Matched by: Emscripten
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: emscripten from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
Ubuntu apt95%

emscripten-doc 3.1.6~dfsg-7

LLVM-to-JavaScript Compiler

http://emscripten.org/

sudo apt install emscripten-doc
  • Section: universe/doc
  • Architecture: all
  • Source Package: emscripten
  • normalized package name match
  • Matched by: Emscripten
Ubuntu 24.04 LTS package indexes · archive.ubuntu.com · Ubuntu 24.04 LTS package indexes: emscripten-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz
pacman95%

emscripten 6.0.0-1

Compile C and C++ into highly-optimizable JavaScript for the web

https://emscripten.org

sudo pacman -S emscripten
  • License: custom
  • Architecture: x86_64
  • 6 dependencies
  • 1 provides
  • 3 optional deps
  • normalized package name match
  • Matched by: Emscripten
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: emscripten from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

emscripten

sudo port install emscripten
  • normalized package name match
  • Matched by: Emscripten
MacPorts ports tree · api.github.com · MacPorts ports tree: lang/emscripten/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Chocolatey95%

emscripten

choco install emscripten
  • normalized package name match
  • Matched by: Emscripten
Chocolatey community package catalog · community.chocolatey.org · Chocolatey community package catalog: emscripten from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','electron'
Scoop95%

main/emscripten

scoop install main/emscripten
  • normalized package name match
  • Matched by: Emscripten
Scoop official bucket manifest trees · api.github.com · Scoop official bucket manifest trees: bucket/emscripten.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
MacPorts94%

em

sudo port install em
  • installed executable or alias match
  • Matched by: Em
MacPorts ports tree · api.github.com · MacPorts ports tree: editors/em/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
Nix92%

em

nix profile install nixpkgs#em
  • installed executable or alias match
  • Matched by: Em
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/em/em/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment