On Son, 2017-02-26 at 15:30 -0500, Martin Peach wrote:
On Sun, Feb 26, 2017 at 3:10 PM, Roman Haefeli reduzent@gmail.com wrote:
Hey all
I'm trying to cross-compile comport for Windows on Linux and stumbled across this error:
i686-w64-mingw32-gcc -DPD -I "/home/roman/.wine/drive_c/Pd//src/" -DMSW -DNT -o comport.o -c comport.c comport.c: In function ‘set_break’: comport.c:422:29: error: ‘nr’ undeclared (first use in this function) if (status != 0) return nr;
Interestingly, only the compiler that targets Windows complains about it. comport compiles fine for all Linux platforms I tried.
Without really understanding what the purpose of the parent function 'set_break' is, I went ahead and "fixed" line 422 to:
if (status != 0) return on;
I can now compile comport for Windows (and still for Linux) and the resulting binary loads fine, but I'm not able to judge whether this is a sensible fix. I simply tried to address what error message gave me without really knowing what I'm doing.
Can someone confirm that it was broken before this is the right way to address it?
I got comport from: http://git.puredata.info/cgit/svn2git/libraries/comport.git/
That sounds familiar. I thought I already fixed that in sourceforge svn,
Ah, yes, you did fix it the same way. Thanks.
maybe it didn't get copied to git or I forgot to actually commit?
No, I see now your commit in svn.
I was working here: https://sourceforge.net/p/pure-data/svn/HEAD/tree/trunk/externals/iem /comport/ Is this obsolete now?
There was a discussion on this list about moving to git back in October 2015 [1]. As a result, IOhannes made a snapshot of svn and provided everything as separate read-only git repositories. For many this is convenient, since they are now able to work on specific externals without requesting write access to the centralized subversion repository.
I'm about to make a proper pduino release and Deken packages thereof. I noticed that there is no comport (which is a dependency of pduino) release yet in Deken (besides the transitional Pd-extended import) and thus decided to make a release of it. In order to make things easier for myself, I decided to change the build system of everything I touch to Katja's pd-lib-builder and this is why I host my own git fork of comport [2].
I see you fixed even more for Windows than what I did. I would like to integrate your changes, but there are some questions left. The svn log suggests that you applied some changes specifically for Windows 10. In the diff, I see you wrapped some lines of code in:
#ifdef _MSC_VER
If I understand correctly, those lines are only used when compiling with Microsoft Visual Studio and mingw wouldn't use those lines. I'm compiling with mingw and would like the result to work will in Windows 10, too. Now, my question is: Should the code you put in between '#ifdef _MSC_VER' always be used when targeting Windows, regardless of the compiler or is that code really specific for MSVC?
Thanks, Roman
[1]: https://lists.puredata.info/pipermail/pd-dev/2015-10/020399.html [2]: https://github.com/reduzent/pd-comport