# Making portable releases

Assuming your `juicysfplugin` repository lives in `~/git/juicysfplugin`, then by default it will be compiled will a dynamic link to the fluidsynth which brew installed into `/usr/local/opt`:

```bash
otool -L /Users/birch/git/juicysfplugin/Builds/MacOSX/build/Release/juicysfplugin.app/Contents/MacOS/juicysfplugin 
/Users/birch/git/juicysfplugin/Builds/MacOSX/build/Release/juicysfplugin.app/Contents/MacOS/juicysfplugin:
	/usr/local/opt/fluid-synth/lib/libfluidsynth.1.dylib (compatibility version 1.0.0, current version 1.7.1)
```

We can rewrite this dynamic link like so:

```bash
install_name_tool -change /usr/local/opt/fluid-synth/lib/libfluidsynth.1.dylib @executable_path/../Frameworks/libfluidsynth.1.dylib /Users/birch/git/juicysfplugin/Builds/MacOSX/build/Release/juicysfplugin.app/Contents/MacOS/juicysfplugin
```


## dependencies

We'll need:

> glib and gthread, but also iconv and intl

https://lists.nongnu.org/archive/html/fluid-dev/2012-03/msg00032.html

I already added to XCode target "standalone plugin" a "copy files" build phase, which copies the following into Frameworks:

```
/usr/local/Cellar/glib/2.54.3/lib/libglib-2.0.0.dylib
/usr/local/opt/glib/lib/libgthread-2.0.0.dylib
/usr/local/opt/pcre/lib/libpcre.1.dylib
/usr/local/opt/gettext/lib/libintl.8.dylib
/usr/local/Cellar/fluid-synth/1.1.10/lib/libfluidsynth.1.7.1.dylib
```

# Licenses

## `libintl` LGPL

https://www.gnu.org/software/gettext/manual/html_node/Licenses.html

> either version 2.1 of the License, or (at your option) any later version.

## `libglib` LGPL

> either version 2.1 of the License, or (at your option) any later version.

## `libgthread` LGPL

> either version 2.1 of the License, or (at your option) any later version.

## `libpcre` BSD

> Release 8 of PCRE is distributed under the terms of the "BSD" licence.

## `libfluidsynth` LGPL

https://github.com/FluidSynth/fluidsynth/blob/master/LICENSE

> (This is the first released version of the Lesser GPL.  It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.)

