jpcima / ADLplug

FM Chip Synthesizer — OPL & OPN — VST/LV2/Standalone

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Allow separated building of both ADLMIDI and OPNMIDI

fpesari opened this issue · comments

Hello,

I have packaged ADLplug for openSUSE but the current build system makes it pretty hard to do a clean build and install.

The ideal setup would be this:

  • -DADLplug_CHIP=OPL3/OPN2 in Cmake is replaced with two flags, -DADL_OPL3=ON and -DADL_OPN2=ON which are not mutually exclusive (i.e. both can be enabled, -DADL_OPL3=ON is enabled by default)
  • Instead of /usr/bin/ADLplug, /usr/lib/lv2/ADLplug.lv2 and /usr/lib/vst/ADLplug.so for both OPL3 and OPN2, files with separated filenames are generated.

For OPL3: /usr/bin/ADLmidi, /usr/lib/lv2/ADLmidi.lv2 (with separated manifest) and /usr/lib/vst/ADLmidi.so
For OPN2: /usr/bin/OPNmidi, /usr/lib/lv2/OPNmidi.lv2 (with separated manifest) and /usr/lib/vst/OPNmidi.so

This would help us packagers a lot (easy build without any conflicts, both can be installed at the same time), which in turn would help ADLplug get into more distro repos.

Hi @fpesari.

It complicates the build system for me to enable two targets within the same build.
And it does not yield a lot of benefit, considering Juce framework forces to rebuild approximately the whole project depending on OPL/OPN choice.

When you install, it will automatically choose a non-conflicting name as the destination.
OPL/OPN both installed are not going to conflict, so I don't understand what is really the issue here.
You just have to invoke cmake and make two times.

There exists here a spec for Fedora which you can maybe take as reference.
It offers the project as split package.
https://github.com/ycollet/fedora-spec/blob/master/adlplug/adlplug.spec