Re: [PD-dev] pdlibbuilder and static linking pthread by default on Windows.

2018-02-06 Thread Martin Peach
On Tue, Feb 6, 2018 at 10:43 AM, IOhannes m zmoelnig 
wrote:

>
> in Pd-extended, there are 10 out of 112 (different) libraries usable on
> Windows in the entire deken repositories that have the libpthread
> library included, presumably because they actually need this library.
>
> of these 10 libraries, the following 6 come from the big Pd-extended
> import, and have not been updated since (and are presumably unmaintained):
> - hidin
> - iemxmlrpc
> - mrpeach (+ net)
> - pdogg
> - unauthorized
>
> I have been workjng on mrpeach in sourceforge svn recently, so I _am_
maintaining it, although pthreads was probably imported from somewhere
else. AFAIK it's only needed for some of the net objects like [tcpserver].
I am really not sure how to build an external on a Windows system. All the
docs in pdinfo are several years old.
The readme here:
https://github.com/pure-data/pure-data/tree/master/msw
talks about some hybrid build system on wine using mingw and msw but gives
no indication of how to set it up.
I don't see why one must use a linux box to compile for Windows, it's just
offputting. On Windows, I usually give up trying after a day or so of
filling my drive with mingw and cygwin and getting nowhere.
I also try to build using Visual Studio, but there again the versions are
usually incompatible with whatever pd.lib was built with.
As I've mentioned before, the c runtime libraries that mingw and msw link
against are not compatible, and possibly neither are the pthread dlls.
It would be nice if the 'official' tool chain for building externals that
work with vanilla Pd on a Windows machine in 2018 could be explicitly
documented somewhere.

Martin
___
Pd-dev mailing list
Pd-dev@lists.iem.at
https://lists.puredata.info/listinfo/pd-dev


[PD-dev] pdlibbuilder and static linking pthread by default on Windows.

2018-02-06 Thread Lucas Cordiviola

We have been working on pdlibbuilder and I've proposed static linking 
pthread by default.


https://github.com/pure-data/pd-lib-builder/issues/42

https://github.com/pure-data/pd-lib-builder/issues/36


My motivation on doing such thing is to prevent people from forgetting 
to ship libwinpthread-1.dll when needed.

There are many chances for this to happen as when we test an compiled 
[external] it will be working with Pd's libwinpthread-1.dll so we might 
think that everything is OK. Also people from linux & osx are not really 
aware that on Windows/MinGW pthread is an specific file.

This in turn will let the [external] survive when Pd, in some future, 
will start using a future MinGW pthread implementation.

We discussed this but IOhannes & Dan see static linking as something 
horrible.
I see that there's no difference in shipping the file or statically 
include it in the [external].
I also tested that [externals] that don't use pthread are immune to the 
-static flag.

Is there something I'm missing?
Why not putting a "lifebuoy" by default ?

If a dev does not want -static he/she can override it.

Some thoughts?
community ?

I ask this because I care about Windows Pd and [externals].

-- 
Mensaje telepatico asistido por maquinas.

___
Pd-dev mailing list
Pd-dev@lists.iem.at
https://lists.puredata.info/listinfo/pd-dev