First post, by Serious Callers Only
I'm not a experienced dev, but i'm having a little problem.
I have two launchpad recipes that auto build the munt library into exult and dosbox into two ppa's that are my version of svn for me and maybe some other ubuntu users.
The libraries are built as system libraries. For reasons to do with launchpad, they get build separately by two recipes and dumped on the different ppa in order for exult and dosbox to autobuild. Previously this didn't matter because it's the same library, so if one got updated and both dosbox and exult were installed, the library would be the same as they're both using git code.
Just recently @sergm committed a change on its dosbox patch which i use wholesale by importing it automatically to the quilt patch system through the recipe.
"- DOSBox pathes now use mt32emu API type 3"
This is my debian/rules for compiling the libmt32emu for both dosbox and exult:
http://bazaar.launchpad.net/~i30817/+junk/mt3 … 37/debian/rules
override_dh_auto_configure:
dh_auto_configure -- \
-Dlibmt32emu_SHARED:BOOL=0 \
-Dlibmt32emu_C_INTERFACE:BOOL=0 \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
As you can see, it uses
-Dlibmt32emu_C_INTERFACE:BOOL=0
which was ok before because both the dosbox patch (made by sergm) and the exult patch (made by me copying most of a older patch) were using the C interface. Now though, the dosbox ppa is using sergm new patch, which is using new api, and the build is failing with:
In file included from midi_mt32.h:7:0,
from midi.cpp:94:
/usr/include/mt32emu/mt32emu.h:47:2: error: #error Incompatible setting MT32EMU_API_TYPE=3
#error Incompatible setting MT32EMU_API_TYPE=3
^
In file included from midi_mt32.h:7:0,
from midi.cpp:94:
/usr/include/mt32emu/mt32emu.h:70:39: fatal error: c_interface/cpp_interface.h: No such file or directory
#include "c_interface/cpp_interface.h"
^
It's possible that i might build the lib in the
http://bazaar.launchpad.net/~i30817/+junk/mt3 … 37/debian/rules
with both interfaces active at the same time so i don't have to try to modernize the exult patch in order to use the same library version (or god forbid, actually have to freeze the exult version by making a new recipe just for it).
I'm looking for some information of what do i need to change in the debian/rules of the library in order to fix this without breaking the exult patch, assuming the library required by both reduces to the same file and without making it a static library build.
I just need to add
-Dlibmt32emu_CPP_INTERFACE:BOOL=0 \
to the debian/rules in addition to the c interface file right? (that bool=0 is something i find strange as usual. Outside of the bash world, 0 means failure).