[PD-dev] comport - compilation with mingw

Roman Haefeli reduzent at gmail.com
Mon Feb 27 10:28:32 CET 2017

On Son, 2017-02-26 at 15:30 -0500, Martin Peach wrote:
> On Sun, Feb 26, 2017 at 3:10 PM, Roman Haefeli <reduzent at 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

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?


[2]:  https://github.com/reduzent/pd-comport
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20170227/1a31040a/attachment.sig>

More information about the Pd-dev mailing list