Wow, that's awesome! So you are using X11 to display Pd? I am going to try this tonight. Which version of Pd did you try?
.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) \ -F@TCLTK_FRAMEWORKS_PATH@ \ -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)
------------------------------------------------------------------------ ----
You can't steal a gift. Bird gave the world his music, and if you can hear it, you can have it. - Dizzy Gillespie