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
On Dec 4, 2007, at 8:53 PM, Patrice Colet wrote:
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.
AFAIK, the watchdog isn't used on Windows anyhow, so I wouldn't worry
about it.
- 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:
AFAIK, I think the MinGW and Cygwin sections in will have some
differences. Like -mms-bitfields. I could be wrong... at the very
least -mno-cygwin is not used in MinGW.
.hc
+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
"Free software means you control what your computer does. Non-free
software means someone else controls that, and to some extent
controls you." - Richard M. Stallman