Hans-Christoph Steiner a écrit :
A couple of comments to hopefully make things cleaner. The existing files aren't very clean, so it can be tricky at times:
- these changes need to fit into the configure.in and makefile.in so
that those files will still work on other platforms. I am not sure that adding $(BIN_DIR)/$(PDDLL) to "all" will work on other platforms.
pd-watchdog.exe isn't compatible as well, I've just put this for making the building working for finding out deeper problems, and think about a clean solution to implement those windows codes.
- things like -lwsock32 should be added to the existing LDFLAGS, you
don't need a separate WINSOCK entry for that, since -l is just a standard LDFLAGS for loading a library. pdsend/pdreceive should have LDFLAGS entries added instead of the custom WINSOCK one.
The original file didn't need this flag so I've used a custom flag to not interact on other platforms, but if it's okay with it, LDFLAGS makes things more simple.
- -mno-cygwin should be added to CFLAGS, AFAIK, instead of making a
custom variable for it (CYGFLAGS).
I've originally used CYGFLAGS for not having all flags when they arent necessary.
I am definitely glad you are working on this. I think this will make devleoping with Pd on Windows much easier.
We should be able to add MINGW_NT-5.0 here:
+if test
uname -s
== CYGWIN_NT-5.1 || testuname -s
== CYGWIN_NT-5.0 || testuname -s
== CYGWIN_NT-6.0;
======================================================================
Now the problem is the one I've described before, pd.exe is mysteriously linked to cygwin1.dll, if I rename pdtcl.dll, an error message pops up to say something like it couldn't find "pthread_cond_destroy".
======================================================================
cd ../bin; dllwrap -mno-cygwin --export-all-symbol --output-def pdtcl.def
--output-lib=pdtcl.a --dllname=pdtcl.dll ../obj/t_tkcmd.o -ldl -lm -lpth readGC2 -lwsock32 -lwinmm -lole32 -ltcl84 -ltk84 -lstdc++ -ltk84 -ltcl84 dllwrap: aucun fichier d'exportation de d'efinitions fourni. Cr'eation du fichier, mais il ne correspondra pas n'ecessairement `a ce que vous d'esirez. /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/bin/ld: AVERTISSE MENT: ne peut trouver le symbole d'entr'ee __cygwin_dll_entry@12; utilise par d' efaut 6d081000