Cross-Platform build scripts for audio plugins
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 2.1KB

9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. # PawPaw
  2. [![Build Status](https://travis-ci.org/DISTRHO/PawPaw.png)](https://travis-ci.org/DISTRHO/PawPaw)
  3. PawPaw is a Cross-Platform build scripts setup for static libraries and audio plugins
  4. It was created out of the need of many open-source developers to easily build their stuff for macOS and Windows,
  5. where usually dependencies are involved which need to be built manually.
  6. In order to make audio plugins self-contained, these dependencies/libraries need to be built statically,
  7. which most packaging projects do not do.
  8. Also, most open-source audio plugin projects do not have binaries for macOS or Windows,
  9. making it very difficult for users in these platforms to enjoy them.
  10. This project was created as a way to do automated macOS and Windows builds of such projects and libraries,
  11. so we can finally have a good collection of LV2 plugins on these system.
  12. The same automated setup can then be re-used/extended to support other projects and applications.
  13. ## Goals
  14. PawPaw has the following goals:
  15. - Single script to build most common plugin dependencies statically, both natively and cross-compiling
  16. - Clean and simple code, easy to maintain and add new libraries to build
  17. - Statically build LV2 plugins for (at least) macOS and Windows
  18. - Define each plugin project in its own file, to make it easy to support new plugins via pull-request
  19. - Package the entire collection as an installer
  20. Additonally, PawPaw is used to build library dependencies for
  21. [Carla](https://github.com/falkTX/Carla) and
  22. [JACK2](https://github.com/jackaudio/jack2).
  23. ## For developers
  24. Proper documentation on how to setup PawPaw for your own project will come at a later date.
  25. But roughly all that is needed is something like:
  26. ```bash
  27. # change dir to PawPaw root folder
  28. cd /path/to/PawPaw
  29. # build plugin dependencies for win64 target (only needed once)
  30. ./bootstrap-plugins win64
  31. # set up environment variables for win64 builds with PawPaw static libs
  32. source local.env win64
  33. # change dir to your own project
  34. cd /path/to/my/project
  35. # build as usual
  36. make # or whatever other build system applies
  37. ```