Installation

Precompiled binary

Binaries are provided for 64-bit x86 Linux, ARM-based MacOSX, and Windows at https://github.com/MikkelSchubert/adapterremoval/releases/

Installing from source

This section describes how to build and install the latest version of AdapterRemoval from source.

Prerequisites

Building and installing AdapterRemoval requires basic build tools including a C++17 capable compiler, meson v1.2+, ninja, python 3.9+, libdeflate and isa-l v2.30+. Sphinx is additionally required to build the documentation. Of these dependencies, only libdeflate and isa-l are required to run AdapterRemoval, once it has been installed.

  • Debian:

sudo apt-get install build-essential meson ninja-build libdeflate-dev libisal-dev python3 python3-sphinx pkgconf
  • OSX, requires Homebrew to install the dependencies:

brew install llvm meson ninja isa-l libdeflate sphinx-doc pkgconf
  • Windows, requires MSYS2 with an UCRT64 environment:

pacman -S make mingw-w64-ucrt-x86_64-gcc mingw-w64-ucrt-x86_64-isa-l mingw-w64-ucrt-x86_64-libdeflate mingw-w64-ucrt-x86_64-meson mingw-w64-ucrt-x86_64-python mingw-w64-ucrt-x86_64-python-sphinx

Building AdapterRemoval

To compile AdapterRemoval, first download and unpack the newest release from GitHub, and then run make in the resulting directory:

wget -O adapterremoval-3.0.0.tar.gz https://github.com/MikkelSchubert/adapterremoval/archive/v3.0.0.tar.gz
tar xvzf adapterremoval-3.0.0.tar.gz
cd adapterremoval-3.0.0
make

The resulting adapterremoval3 executable is located in the build/src subdirectory, and can be run as-is. It is also possible to perform a system-wide installation of the AdapterRemoval executable, man-page, and examples using the following command:

sudo make install

Building a static Linux binary

A podman/docker Containerfile is provided, which is used to generate the pre-compiled binaries mentioned above. To build this, either podman or docker are required.

To build the container and the static binary, run

make static-container static

The resulting executable and other files are saved to build/static/install.