[PD] [PD-dev] compile pd with cygwin (almost!)
hans at eds.org
Wed Dec 5 05:48:40 CET 2007
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
> 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
>> - 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.
>>> +if test `uname -s` == CYGWIN_NT-5.1 || test `uname -s` ==
>>> CYGWIN_NT-5.0 || test
>>> `uname -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
>>> 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 -
>>> dllwrap: aucun fichier d'exportation de d'efinitions fourni.
>>> Cr'eation du fichier, mais il ne correspondra pas n'ecessairement
>>> `a ce que vous
>>> bin/ld: AVERTISSE
>>> MENT: ne peut trouver le symbole d'entr'ee __cygwin_dll_entry at 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
More information about the Pd-list