On Sep 15, 2010, at 6:02 AM, IOhannes m zmoelnig wrote:

On 2010-09-14 17:42, Hans-Christoph Steiner wrote:

i believe the patch i attached to the ticket to solve the problem but
have not been able to test on the very platform.


ok, i managed to log in, and my patch indeed solves the reported problem.

however, there are more issues, coming from parts of the new build
system which i never touched.
so i would like to discuss them, before i remove them:


#1 when building with msys, the new build system includes pd-watchdog
unfortunately, the watchdog uses signals and other quite linux specific
stuff. i don't know whether this can be ported, and whether this
actually make sense.

conclusion: i would exclude pd-watchdog from all w32 builds (if people
need signals and whatnot, why don't they use an os that has signals and
whatnot)

I am pretty sure that Cygwin has signals, so pd-watchdog should just be removed for MinGW/Windows builds.

#2 when building with msys, the compiler is forced to "g++".
there are several problems with this:
-- the user cannot chose the compiler themselves anymore, as the CC
variable is silently ignored and reset to "g++"
-- no check is done whether there actually is an executable named "g+ +",
it is just assumed. this kind of leads autoconf ad absurdum, as we can
simply check for a valid c++ compiler if needed.

-- most important however: compiling Pd with a c++ compiler can be a bad
idea! the Pd source uses C++ keywords (e.g. "template" is often used).
throwing this code onto a c++ compiler leads to errors.

conclusion: don't force autoconf to use g++ as the c-compiler, but
rather let it choose the right compiler automagically

if we need a c++-aware linker, then we should ask for a c++-aware linker (rather than force a c++ compiler). afaik, automake can handle this with
a 1-liner.


Try building with the ASIO sources, which are C++ and need to be built with g++. gcc won't link C++ code into a C binary from what I could tell. So at least the final linking needs to be done with g++. In makefile.mingw, all C is built with gcc and all C++ is built with g++, then the whole thing is linked with g++.

.hc


----------------------------------------------------------------------------

As we enjoy great advantages from inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously. - Benjamin Franklin



_______________________________________________
Pd-dev mailing list
[email protected]
http://lists.puredata.info/listinfo/pd-dev

Reply via email to