[PD-dev] compile pd with cygwin
Hans-Christoph Steiner
hans at eds.org
Sun Dec 2 00:51:54 CET 2007
On Dec 1, 2007, at 5:42 PM, Patrice Colet wrote:
> 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
A "diff -uw" patch of this would be very helpful since it includes
the line information and can be applied automatically.
> 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?
A lot of the DirectX headers are available under a free license from
MinGW/WINE/Cygwin. I see dshow.h, dxerr8.h, and dxerr9.h on the
WinXP auto-build machine. Perhaps it's just a matter of finding them
and installing them? I think those headers should be installed in
the system rather than included in the Pd/portaudio source.
One other thing that would be nice to address is the different Cygwin
defines. CYGWIN_NT-5.1 is for WinXP, CYGWIN_NT-5.0 is for Windows
2000, and I am guessing CYGWIN_NT-6.0 is for Vista.
.hc
------------------------------------------------------------------------
----
http://at.or.at/hans/
More information about the Pd-dev
mailing list