BSD Ports

devel/binaryen 133 FreeBSD

Compiler infrastructure and toolchain library for WebAssembly

System
FreeBSD
Repository
FreeBSD ports
Maintainer
[email protected]
Last update
Commit
0b4c74bb9e
License
APACHE20
Categories
devel
Package size
4114.3 KiB, 20517.8 KiB installed

Description

The aim of Binaryen, a compiler and toolchain infrastructure library for WebAssembly, is to make compiling to WebAssembly easy, fast, and effective.

* Easy: Binaryen has a simple C API in a single header, and can also be used from JavaScript. It accepts input in WebAssembly-like form but also accepts a general control flow graph for compilers that prefer that. * Fast: Binaryen's internal IR uses compact data structures and is designed for completely parallel codegen and optimization, using all available CPU cores. Binaryen's IR also compiles down to WebAssembly extremely easily and quickly because it is essentially a subset of WebAssembly. * Effective: Binaryen's optimizer has many passes that can improve code very significantly (e.g. local coloring to coalesce local variables; dead code elimination; precomputing expressions when possible at compile time; etc.). These optimizations aim to make Binaryen powerful enough to be used as a compiler backend by itself. One specific area of focus is on WebAssembly-specific optimizations (that general-purpose compilers might not do), which you can think of as wasm minification, similar to minification for JavaScript, CSS, etc., all of which are language-specific (an example of such an optimization is block return value generation in SimplifyLocals).

In the other systems

SystemPortVersion
FreeBSDdevel/binaryen133
OpenBSDlang/binaryen133
NetBSDdevel/binaryen116
DragonFlydevel/binaryen123

Install

Binary package:

pkg install binaryen

From the ports tree:

cd /usr/ports/devel/binaryen/ && make install clean

To depend on this port in another port's Makefile:

RUN_DEPENDS=	binaryen>0:devel/binaryen
LIB_DEPENDS=	libbinaryen.so:devel/binaryen

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

Repositoryaarch64amd64armv6armv7i386
FreeBSD:14:latest133133105123133
FreeBSD:14:quarterly133133n/a123133
FreeBSD:15:latest133133n/a123123
FreeBSD:15:quarterly133133n/an/an/a
FreeBSD:16:latest133133n/an/an/a
FreeBSD:16:quarterlyn/an/an/an/an/a

Dependencies

As this port's Makefile names them.

Test 1

The full lists below include those, and their dependencies in turn.

Build dependencies 15

Configuration

No options to configure.

USES
cmake:testing cpe localbase:ldflags python:build
Service scripts
none

Files

pkg-plist 16
  • bin/wasm-as
  • bin/wasm-ctor-eval
  • bin/wasm-dis
  • bin/wasm-emscripten-finalize
  • bin/wasm-fuzz-lattices
  • bin/wasm-fuzz-types
  • bin/wasm-merge
  • bin/wasm-metadce
  • bin/wasm-opt
  • bin/wasm-reduce
  • bin/wasm-shell
  • bin/wasm-split
  • bin/wasm2js
  • include/binaryen-c.h
  • include/wasm-delegations.def
  • lib/libbinaryen.so
distinfo 1
FileSizeSHA256
WebAssembly-binaryen-version_133_GH0.tar.gz7.125749e+062f3e3d9edc56751499571da073a8a81943ca3fcbc08a945d2c619a7a1d4eb88b

Commit history 3

DateCommitCreditsLog message
0b4c74bb9e Nuno Teixeira devel/binaryen: Update to 133
ChangeLog: https://github.com/WebAssembly/binaryen/blob/main/CHANGELOG.md#v133
0d64b56876 Nuno Teixeira devel/binaryen: Update to 132
ChangeLog: https://github.com/WebAssembly/binaryen/blob/main/CHANGELOG.md#v132
48e21b5c3c Nuno Teixeira devel/binaryen: Update to 131
ChangeLog: https://github.com/WebAssembly/binaryen/blob/main/CHANGELOG.md#v131