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