[PD-dev] compile pd with cygwin

Patrice Colet pat at mamalala.org
Sun Dec 2 02:01:09 CET 2007


Hans-Christoph Steiner a écrit :

> A "diff -uw" patch of this would be very helpful since it includes the 
> line information and can be applied automatically.
> 

Okay sorry, here is my actual configure.in:

$ diff -uw configure.in.old configure.in
--- configure.in.old    2007-11-04 23:08:24.000000000 +0100
+++ configure.in        2007-12-02 01:13:24.484375000 +0100
@@ -368,6 +368,48 @@
      GUIFLAGS=
  fi

+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../portaudio/pa_asio \
+       -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      \
+        ../portaudio/pa_win_ds/dsound_wrapper.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
  # support for jack, on either linux or darwin:

  if test x$jack == "xyes";


> 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.

You've certainly figured like me that dsound.h is missing in w32api,
I've also found some headers in here:

http://www.videolan.org/vlc/dx7headers.tgz

I've copied it into usr/include/w32api, and modified 
portaudio/pa_win_ds/dsound_wrapper because anywhere it is not DSound.h 
anymore:

$ diff dsound_wrapper.h.old dsound_wrapper.h
52c52
< #include <DSound.h>
---
 > #include "dsound.h"

> 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.

what about this? I haven't tried it yet:

if test `uname -s` == CYGWIN_NT-5.0 || CYGWIN_NT-5.1 || CYGWIN_NT-6.0;


Also, how could I resolve this:

pd/src/../portaudio/pa_win/pa_win_hostapis.c:(.data+0x8): r'ef'erence 
ind'efi
nie vers << _PaAsio_Initialize >>
collect2: ld a retourn'e 1 code d''etat d'ex'ecution
make: *** [../bin/pd] Erreur 1

This reference is into pa_asio.cpp, I don't see what is the problem, 
like you can see into the configure file I tried to include the pa_asio 
directory, I've also tried to put $(ASIOOBJ) line before $(OBJ), but it 
has no effect at all.

++




More information about the Pd-dev mailing list