ADLplug icon indicating copy to clipboard operation
ADLplug copied to clipboard

Allow separated building of both ADLMIDI and OPNMIDI

Open fpesari opened this issue 6 years ago • 1 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.

fpesari avatar Sep 14 '19 21:09 fpesari

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

jpcima avatar Sep 27 '19 17:09 jpcima