davy7125 / polyphone

A soundfont editor for quickly designing musical instruments.
https://www.polyphone.io
GNU General Public License v3.0
348 stars 46 forks source link

Allow building against the system copy of libsfark #118

Closed mirabilos closed 4 years ago

mirabilos commented 4 years ago

This PR first changes a couple of source files to find the headers in their proper paths (similar to #100) and to not use "wcc.h" which is an sfarklib-internal header and never installed system-wide (pretty trivial changes, though).

I’ve only tested that for the system-wide scenario, though. Compare with #100 and see if the nōn-system-wide-sfarklib will need an extra -I/path/to/FLAC/.. option.

Then, it changes the build instructions to add an option USE_LOCAL_SFARKLIB, which I leave enabled by default (so that this PR changes nothing by default), and if it’s not set, it uses the system-wide copy from Debian and drops the entire x86-specific (see #98), little-endian-specific, unportable, QMAKE_EXTRA_COMPILERS, ignoring packaging-provided CFLAGS, mess. (I’ve not changed that mess, just indented it one more level; use git diff -w or the equivalent GitHub option to ignore whitespace changes when reviewing it.)

I’ve only tested that in this form and hope the one with the USE_LOCAL_SFARKLIB works; if not, please feel free to just fix it on top of my commits, or ping (@) me and I’ll have a go at it.

This change is mandatory for inclusion in distributions like Debian, and for building on most platforms / CPU architectures.

mirabilos commented 4 years ago

One more thing to consider: currently, to disable DEFINES += USE_LOCAL_SFARKLIB, I’d have to patch the .pro file. Is there a way to set qmake options like this from the command line? I don’t really know qmake.

If so, I hereby invite you to add a commit on top of mine that makes this commandline-selectable.