https://github.com/distrho/pawpaw
Cross-Platform build scripts for audio plugins
https://github.com/distrho/pawpaw
Last synced: about 2 months ago
JSON representation
Cross-Platform build scripts for audio plugins
- Host: GitHub
- URL: https://github.com/distrho/pawpaw
- Owner: DISTRHO
- License: isc
- Created: 2020-05-26T03:43:00.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-01-22T21:55:58.000Z (4 months ago)
- Last Synced: 2025-04-02T08:07:13.827Z (about 2 months ago)
- Language: Shell
- Homepage:
- Size: 1.38 MB
- Stars: 67
- Watchers: 4
- Forks: 9
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# PawPaw
[](https://travis-ci.org/DISTRHO/PawPaw)
PawPaw is a Cross-Platform build scripts setup for static libraries and audio plugins
It was created out of the need of many open-source developers to easily build their stuff for macOS and Windows,
where usually dependencies are involved which need to be built manually.In order to make audio plugins self-contained, these dependencies/libraries need to be built statically,
which most packaging projects do not do.Also, most open-source audio plugin projects do not have binaries for macOS or Windows,
making it very difficult for users in these platforms to enjoy them.This project was created as a way to do automated macOS and Windows builds of such projects and libraries,
so we can finally have a good collection of LV2 plugins on these system.
The same automated setup can then be re-used/extended to support other projects and applications.## Goals
PawPaw has the following goals:
- Single script to build most common plugin dependencies statically, both natively and cross-compiling
- Clean and simple code, easy to maintain and add new libraries to build
- Statically build LV2 plugins for (at least) macOS and Windows
- Define each plugin project in its own file, to make it easy to support new plugins via pull-request
- Package the entire collection as an installerAdditionally, PawPaw is used to build library dependencies for
[Cardinal](https://github.com/DISTRHO/Cardinal),
[Carla](https://github.com/falkTX/Carla),
[JACK2](https://github.com/jackaudio/jack2) and
[mod-app](https://github.com/moddevices/mod-app).## For developers
Proper documentation on how to setup PawPaw for your own project will come at a later date.
But roughly all that is needed is something like:```bash
# change dir to PawPaw root folder
cd /path/to/PawPaw# build plugin dependencies for win64 target (only needed once)
./bootstrap-plugins.sh win64# set up environment variables for win64 builds with PawPaw static libs
source local.env win64# change dir to your own project
cd /path/to/my/project# build as usual
make # or whatever other build system applies
```##### On MacOS
##### Prerequisites
Based on Sonoma 14.2.1 running on an M1 based MacBook, the following are needed:
* Xcode command line tools https://mac.install.guide/commandlinetools/about-xcode-clt.htmlAs well as:
* autoconf
* automake
* cmake
* coreutils
* gawk
* gnu-sed
* jq
* make
* mesonA great way of installing these is using Homebrew "The Missing Package Manager for macOS". You can install Homebrew by visiting https://brew.sh/
The brew command to install the dependencies listed above is:
```zsh
brew install autoconf automake cmake coreutils gawk git gnu-sed jq make meson
```