[PD-dev] compile pd with cygwin

Patrice Colet pat at mamalala.org
Sat Dec 1 23:42:03 CET 2007


Martin Peach a écrit :
> Patrice Colet wrote:
>> Hans-Christoph Steiner a écrit :
>>  
>>> That stuff wasn't removed from Pd, but instead never made it into 
>>> Miller's sources.  If you get this running smoothly, then I think it 
>>> is likely to be included by Miller.  The big thing to do would be to 
>>> make the ./configure && make work on Cygwin, then we'll have a 
>>> unified build system on all platforms.
>>>
>>> One tip, when posting changes to code, you should post a "diff -uw", 
>>> otherwise it's hard to tell what you have changed.  I don't think 
>>> anyone here has s_midi.c memorized, but I could be wrong ;).
>>>
>>> Post the errors that you were getting before adding s_stuff.h and 
>>> that will be easier to troubleshoot.
>>>     
>>
>>
>>   Okay, let's start with these diff (I might have reversed the new and 
>> the old file, sorry for that, also I'll make separated diff files when 
>> make will run smoothly) and after that, there is my last error message 
>> (I didn't go further because s_inter.c seems linked to s_midi.c by the 
>> sys_close_midi() function, and I don't get how to deal with it) :
>>
>> $ diff -uw d_osc.c d_osc.c.old
>> --- d_osc.c     2007-12-01 06:02:38.218750000 +0100
>> +++ d_osc.c.old 2007-01-19 07:37:56.000000000 +0100
>>   
> Yes that's a backwards diff...
> 
>> s_inter.o: dans la fonction << sys_bail >>:
>> /home/pat/pdextended/pd-extended/pd-extended/pd/src/s_inter.c:1276: 
>> r'ef'erence
>> ind'efinie vers << _sys_close_midi >>
>>   
> sys_close_midi has several incarnations but you must choose one. The MSW 
> version uses portmidi, so if you can build portmidi then use s_midi_pm.c 
> by specifying it in the makefile.


I've just modified configure.in by adding those lines:

if test `uname -s` == CYGWIN_NT-5.1;
then
     EXT=dll
     MORECFLAGS="-DUSEAPI_PORTAUDIO  -DPA_LITTLE_ENDIAN -DPA19  \
	-I../portaudio/pa_common -I../portaudio/pablio \
	-I../portmidi/pm_common -I../portmidi/porttime \
	-I../portmidi/pm_win -I../portmidi/pm_win_ds \
     -mms-bitfields "$MORECFLAGS

     PDLIB=$PDLIB" -lwsock32 -lwinmm -lole32 -lstdc++"

     SYSSRC="s_midi_pm.c  \
     	s_audio_pa.c s_audio_pablio.c s_audio_paring.c \
         ../portaudio/pa_common/pa_allocation.c  \
         ../portaudio/pa_common/pa_converters.c  \
         ../portaudio/pa_common/pa_cpuload.c     \
         ../portaudio/pa_common/pa_dither.c      \
         ../portaudio/pa_common/pa_front.c       \
         ../portaudio/pa_common/pa_process.c     \
         ../portaudio/pa_common/pa_skeleton.c    \
         ../portaudio/pa_common/pa_stream.c      \
         ../portaudio/pa_common/pa_trace.c       \
         ../portaudio/pa_win/pa_win_util.c       \
         ../portaudio/pa_win/pa_win_hostapis.c   \
         ../portaudio/pa_win_wmme/pa_win_wmme.c  \
         ../portaudio/pa_win_ds/pa_win_ds.c  \
		    ../portmidi/pm_common/pmutil.c      \
             ../portmidi/pm_common/portmidi.c    \
             ../portmidi/pm_win/pmdll.c          \
             ../portmidi/pm_win/pmwin.c          \
             ../portmidi/pm_win/pmwinmm.c        \
             ../portmidi/porttime/ptwinmm.c"
			
	 ASIOSRC="../portaudio/pa_asio/iasiothiscallresolver.cpp \
	 ../portaudio/pa_asio/pa_asio.cpp ../asio/asio.cpp \
	 ../asio/asiodrivers.cpp ../asio/asiolist.cpp"
     STRIPFLAG="--strip-unneeded"
     GUINAME="pdtcl.dll"
     GUIFLAGS=
fi


  And the problem I'm encountering right now could engage a big 
discussion, I hope the solution is simplier than the one I'm figuring out.
  The compiler needs DSound.h, so I have to download the complete 
directx SDK for having this header included, and then having possibility 
of using directsound in pd, once downloaded I would like to put this 
header file into the portaudio/pa_win_ds directory, what do you thing 
about this?




More information about the Pd-dev mailing list