I couldn't get this patch to apply. I think it got messed up being pasted into the email. Could you attach it as a file? Here's what I have:

Attachment: cygwin_build.patch
Description: Binary data



.hc

On Dec 5, 2007, at 7:46 PM, Patrice Colet wrote:

Cygwin1.dll have to be in pd/bin for running, and it require cygwin shell, Puredata into cygwin environment is working greatly even when Gem crashes.



$ diff -uw configure.in.old configure.in
--- configure.in.old    2007-11-04 23:08:24.000000000 +0100
+++ configure.in        2007-12-06 00:25:36.035890800 +0100
@@ -21,6 +21,9 @@
 AC_SUBST(OSNUMBER)
 AC_SUBST(EXTERNTARGET)
 AC_SUBST(ASIOSRC)
+AC_SUBST(PID)
+AC_SUBST(CYGDLL)
+

 dnl other defaults

@@ -232,6 +235,7 @@
     fi
     STRIPFLAG=-s
     GUINAME="pd-gui"
+    PID="pd-watchdog"
     if test x$USE_DEBUG_CFLAGS == "xyes";
     then
        MORECFLAGS=$MORECFLAGS" -g"
@@ -300,7 +304,7 @@
         ../portmidi/porttime/ptmacosx_cf.c "
     STRIPFLAG=""
     GUINAME="libPdTcl.dylib"
-
+    PID="pd-watchdog"
 # find the Tcl/Tk Frameworks
         if test -d "../../Frameworks";
     then
@@ -334,10 +338,9 @@
         LDFLAGS=$LDFLAGS" -weak_framework Jack"
     fi
 fi
-
 # only Windows uses ASIO, for the rest, set to blank
 ASIOSRC=
-
+EXT=
 if test `uname -s` == MINGW32_NT-5.0;
 then
     EXT=dll
@@ -368,6 +371,46 @@
     GUIFLAGS=
 fi

+if test `uname -s` == CYGWIN_NT-5.1 || \
+ test `uname -s` == CYGWIN_NT-5.0 || \
+ test `uname -s` == CYGWIN_NT-6.0 ;
+then
+
+    EXT=".exe"
+ MORECFLAGS="-mno-cygwin -DPD -DNT -DUSEAPI_PORTAUDIO - DUSEAPI_MMIO -DPA_LIT
TLE_ENDIAN -DMSW -DPA19 -DPD_INTERNAL \
+    -I/cygdrive/c/Mingw/include -L/cygdrive/c/Mingw/lib \
+       -I../portaudio/pa_common -I../portaudio/pablio \
+       -I../portaudio/pa_asio -I../asio \
+    -mms-bitfields "$MORECFLAGS
+
+    CYGDLL="cygwin1.dll"$CYGDLL
+    PDLIB=$PDLIB" -lwsock32 -lwinmm -lole32 -ltcl84 -ltk84 -lstdc++"
+
+    SYSSRC="s_audio_pa.c s_audio_pablio.c s_audio_paring.c \
+                 s_audio_mmio.c s_midi_mmio.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"
+
+        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"
+       PID="pd.com"
+    GUIFLAGS=
+fi
 # support for jack, on either linux or darwin:

 if test x$jack == "xyes";


================================================================


$ diff -uw makefile.in.old makefile.in
--- makefile.in.old     2007-11-04 23:08:24.000000000 +0100
+++ makefile.in 2007-12-06 00:50:20.832765800 +0100
@@ -8,9 +8,11 @@
 VPATH = ../obj:./
 OBJ_DIR = ../obj
 BIN_DIR = ../bin
-PDEXEC = $(BIN_DIR)/pd
 EXT= @EXT@
+PDEXEC = $(BIN_DIR)/pd$(EXT)
 GUINAME= @GUINAME@
+# pd-watchdog or pd.com?
+PID= @PID@

 prefix = @prefix@
 exec_prefix = @exec_prefix@
@@ -36,7 +38,8 @@
 LIB =  @PDLIB@

 WARN_CFLAGS = -Wall -W -Wstrict-prototypes \
-    -Wno-unused -Wno-parentheses -Wno-switch
+    -Wno-unused -Wno-unused-parameter -Wno-parentheses -Wno-switch
+
 ARCH_CFLAGS = -DPD

CFLAGS = @CFLAGS@ $(ARCH_CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $ (MORECFLAGS)
@@ -45,6 +48,12 @@

 SYSSRC += @SYSSRC@

+#windows stuff
+
+PDDLL = pd.dll
+
+STRIP = strip --strip-unneeded -R .note -R .comment
+
 ASIOSRC = @ASIOSRC@

 ASIOOBJ = $(ASIOSRC:.cpp=.o)
@@ -89,21 +98,21 @@
 #

 .PHONY: pd gui externs all
-
-all: $(PDEXEC) $(BIN_DIR)/pd-watchdog $(BIN_DIR)/$(GUINAME) $ (BIN_DIR)/pdsend \

+all: $(BIN_DIR)/$(GUINAME) $(PDEXEC) $(BIN_DIR)/$(PID) $(BIN_DIR)/ pdsend \
     $(BIN_DIR)/pdreceive  $(BIN_DIR)/pd.tk externs

bin: $(PDEXEC) $(BIN_DIR)/pd-watchdog $(BIN_DIR)/$(GUINAME) $ (BIN_DIR)/pdsend \

     $(BIN_DIR)/pdreceive  $(BIN_DIR)/pd.tk

+
 $(OBJ) : %.o : %.c
- $(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c
+       $(CC) $(CFLAGS) $(GFLAGS) -c -o $(OBJ_DIR)/$*.o $*.c

 $(GOBJ) : %.o : %.c
$(CC) $(CFLAGS) $(GFLAGS) $(GINCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c

 $(ASIOOBJ): %.o : %.cpp
-       $(CXX) $(CFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.cpp
+       $(CXX) $(CFLAGS) -c -o $(OBJ_DIR)/$*.o $*.cpp

 pd: $(PDEXEC)

@@ -118,25 +127,26 @@
$(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pd-watchdog s_watchdog.c

 $(BIN_DIR)/pdsend: u_pdsend.c $(BIN_DIR)
-       $(CC) $(CFLAGS)  $(STRIPFLAG) -o $(BIN_DIR)/pdsend u_pdsend.c
+ $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdsend u_pdsend.c $(LIB)

 $(BIN_DIR)/pdreceive: u_pdreceive.c $(BIN_DIR)
- $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c + $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c $(LI
B)

-$(PDEXEC): $(OBJ) $(BIN_DIR)
+$(BIN_DIR)/pd: $(OBJ) $(BIN_DIR)
cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $ (OBJ) \
        $(LIB)

 $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC)
-       cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) \
+ cd $(OBJ_DIR); $(CC) $(CFLAG) $(LIB) -o $(BIN_DIR)/$ (GUINAME) $(GOBJ) \
        $(GLIB)

 $(BIN_DIR)/pd.tk: u_main.tk
        cp u_main.tk $(BIN_DIR)/pd.tk

+
 #this is for Max OSX only...
 $(BIN_DIR)/libPdTcl.dylib: $(GOBJ) $(GSRC)
- cd ../obj && $(CC) $(CFLAGS) -dynamiclib -read_only_relocs warning \ + cd $(OBJ_DIR) && $(CC) $(CFLAGS) -dynamiclib - read_only_relocs warning
\
                -o $(BIN_DIR)/libPdTcl.dylib $(GOBJ)  \
                [EMAIL PROTECTED]@ \
                -framework Tcl  -framework Tk  -framework System  \
@@ -147,12 +157,33 @@
@executable_path/../Frameworks/Tk.framework/Versions/8.4/Tk \
                ../bin/libPdTcl.dylib

-# this is for Windows/MinGW (only?)
+
+# this is for mingw    /cygwin
+$(BIN_DIR)/pd.com: s_entry.o
+       cd $(OBJ_DIR); $(CC) $(LDFLAGS) -o pd.com s_entry.o $(LIBS) \
+                -L$(BIN_DIR) -lpd; $(STRIP) -s pd.com
+                cp $(OBJ_DIR)/pd.com $(BIN_DIR)
+
 $(BIN_DIR)/pdtcl.dll: $(GOBJ)
- cd $(BIN_DIR); dllwrap --export-all-symbols --output-def pdtcl.def \ - --output-lib=pdtcl.a --dllname=$(GUINAME) $(OBJ_DIR)/ t_tkcmd.o $(LIB) $(
GLIB)
+       cd $(BIN_DIR);  dllwrap  $(CFLAGS) --output-def pdtcl.def \
+ --output-lib=pdtcl.a --dllname=pdtcl.dll $(OBJ_DIR)/ t_tkcmd.o $(LIB) $(G
LIB)
        strip --strip-unneeded $(BIN_DIR)/pdtcl.dll

+$(BIN_DIR)/pd.exe: pd.dll pd.exe
+
+pd.exe: $(OBJ) $(BIN_DIR)
+ cd $(OBJ_DIR); $(CC) $(CFLAGS) $(LDFLAGS) $(DBG_CFLAGS) -o $ (PDEXEC) s_e
ntry.o $(LIB) \
+                -L$(BIN_DIR) -lpd
+       $(STRIP) -s $(BIN_DIR)/pd.exe
+
+
+pd.dll: $(OBJ) $(ASIOOBJ)
+ cd $(OBJ_DIR); $(CXX) -shared $(LDFLAGS) -o pd.dll -mno- cygwin $(OBJ) $(
ASIOOBJ) $(LIB) \
+               -Wl,--export-all-symbols -Wl,--out-implib=pd.a;
+       $(STRIP) $(OBJ_DIR)/pd.dll
+       cp $(OBJ_DIR)/pd.dll $(BIN_DIR)
+
+
 externs:
        cd ../extra/bonk~;make @EXTERNTARGET@
        cd ../extra/choice;make @EXTERNTARGET@
@@ -203,17 +234,18 @@
        @echo "Pd install succeeded."

 local-clean:
- -rm -f ../obj/* $(BIN_DIR)/pd $(BIN_DIR)/$(GUINAME) $ (BIN_DIR)/pdsend \
-           $(BIN_DIR)/pdreceive $(BIN_DIR)/pd-watchdog m_stamp.c
+ -rm -f ../obj/* $(BIN_DIR)/pd* $(BIN_DIR)/$(GUINAME) $ (BIN_DIR)/pdsend*
\
+           $(BIN_DIR)/pdreceive* $(BIN_DIR)/pd-watchdog m_stamp.c
        -rm -f `find ../portaudio -name "*.o"`
        -rm -f *~
-       -(cd ../doc/6.externs; rm -f *.pd_linux)
+       -(cd ../doc/6.externs; rm -f *.pd_linux; rm -f *.dll)
        -rm -f makefile.dependencies
        touch makefile.dependencies
        chmod 666 makefile.dependencies

 extra-clean:
        -rm -f `find ../extra/ -name "*.pd_*"`
+       -rm -f `find ../extra/ -name "*.dll*"`
        -rm -f tags

 clean: extra-clean local-clean
@@ -229,7 +261,7 @@
 depend: makefile.dependencies

 makefile.dependencies: makefile
-       $(CC) $(CPPFLAGS) -M $(SRC) > makefile.dependencies
+       $(CC) $(CFLAGS) -M $(SRC) > makefile.dependencies

 uninstall:
        rm -f -r $(libpddir)



------------------------------------------------------------------------ ----

Using ReBirth is like trying to play an 808 with a long stick. - David Zicarelli


_______________________________________________
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev

Reply via email to