aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/Makefile12
-rw-r--r--packages/Makefile.buildlayout4
-rwxr-xr-xpackages/linux_make/Makefile4
-rw-r--r--packages/patches/mingw_fixes-0.39-2.patch575
-rw-r--r--packages/patches/win/NT2_MSC_VER.patch59
-rw-r--r--packages/patches/windows/win_font_tweaks.patch (renamed from packages/patches/win/win_font_tweaks.patch)0
-rwxr-xr-xpackages/win32_inno/Makefile64
-rw-r--r--packages/win32_inno/TODO10
-rwxr-xr-xpackages/win32_inno/pd-inno.iss.in10
-rwxr-xr-xpackages/win32_inno/pd-settings.reg38
10 files changed, 668 insertions, 108 deletions
diff --git a/packages/Makefile b/packages/Makefile
index 7d004797..b787ff77 100644
--- a/packages/Makefile
+++ b/packages/Makefile
@@ -141,7 +141,7 @@ gem:
#------------------------------------------------------------------------------
# pd
-ifeq ($(OS_NAME),win)
+ifeq ($(OS_NAME),windows)
PD_CONFIGURE_FLAGS =
else
PD_CONFIGURE_FLAGS = --enable-jack
@@ -374,7 +374,9 @@ noncvs_install:
-install -p $(packages_src)/noncvs/$(OS_NAME)/doc/5.reference/*.* \
$(helpdir)
-install -p $(packages_src)/noncvs/$(OS_NAME)/extra/*.* $(objectsdir)
-
+ -install -d $(DESTDIR)$(prefix)/gripd
+ -install -p $(packages_src)/noncvs/$(OS_NAME)/gripd/*.* \
+ $(DESTDIR)$(prefix)/gripd
#------------------------------------------------------------------------------
@@ -533,7 +535,7 @@ devsymlinks: devsymlinks_$(OS_NAME)
-devsymlinks_win:
+devsymlinks_windows:
devsymlinks_linux:
@@ -630,7 +632,7 @@ patch_pd:
cd $(pd_src)/src/ && \
sed 's/\(pd_version\[\] = "Pd version \)[0-9extndRC.-]*/\1$(PD_VERSION)-$(PACKAGE_VERSION)/' s_main.c > s_main.c.tmp && \
mv s_main.c.tmp s_main.c
- for file in $(wildcard *.[ch]); do \
+ for file in $(wildcard $(pd_src)/src/*.[ch]); do \
sed 's/MACOSX/__APPLE__/g' $${file} > $${file}.tmp && \
mv -f $${file}.tmp $$file;\
done
@@ -639,7 +641,7 @@ patch_pd:
unpatch_pd:
- for file in $(wildcard *.[ch]); do \
+ for file in $(wildcard $(pd_src)/src/*.[ch]); do \
sed 's/__APPLE__/MACOSX/g' $${file} > $${file}.tmp && \
mv -f $${file}.tmp $$file;\
done
diff --git a/packages/Makefile.buildlayout b/packages/Makefile.buildlayout
index 07742128..ecf6eb2b 100644
--- a/packages/Makefile.buildlayout
+++ b/packages/Makefile.buildlayout
@@ -46,7 +46,7 @@ else
EXTENSION = pd_darwin
else
ifeq (MINGW,$(findstring MINGW,$(UNAME)))
- OS_NAME = win
+ OS_NAME = windows
EXTENSION = dll
else
OS_NAME = unknown
@@ -84,7 +84,7 @@ ifeq ($(OS_NAME),darwin)
libpddir = $(DESTDIR)$(prefix)
libpdbindir = $(bindir)
else
- ifeq ($(OS_NAME),win)
+ ifeq ($(OS_NAME),windows)
libpddir = $(DESTDIR)$(prefix)
libpdbindir = $(bindir)
else
diff --git a/packages/linux_make/Makefile b/packages/linux_make/Makefile
index 734b9389..59765135 100755
--- a/packages/linux_make/Makefile
+++ b/packages/linux_make/Makefile
@@ -54,8 +54,8 @@ DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR) \
install:
- cd $(packages_src) && make $(DEST_PATHS) install
- cd $(packages_src) && make $(DEST_PATHS) doc_format
+ make -C $(packages_src) $(DEST_PATHS) install
+ make -C $(packages_src) $(DEST_PATHS) doc_format
@echo " "
@echo "linux_make install succeeded!"
diff --git a/packages/patches/mingw_fixes-0.39-2.patch b/packages/patches/mingw_fixes-0.39-2.patch
new file mode 100644
index 00000000..31f6c68e
--- /dev/null
+++ b/packages/patches/mingw_fixes-0.39-2.patch
@@ -0,0 +1,575 @@
+? configure
+? makefile.mingw
+? pdtcl.def
+Index: configure.in
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/configure.in,v
+retrieving revision 1.15
+diff -u -w -r1.15 configure.in
+--- configure.in 16 Aug 2005 04:06:28 -0000 1.15
++++ configure.in 19 Dec 2005 06:49:31 -0000
+@@ -19,6 +19,7 @@
+ AC_SUBST(GUIFLAGS)
+ AC_SUBST(OSNUMBER)
+ AC_SUBST(EXTERNTARGET)
++AC_SUBST(ASIOSRC)
+
+ dnl other defaults
+
+@@ -77,7 +78,10 @@
+
+ dnl Checking for `pthread_create' function in -pthread
+ AC_CHECK_LIB(pthread, pthread_create,PDLIB="$PDLIB -lpthread",
+- echo "pthreads required" || exit 1)
++ AC_CHECK_LIB(pthreadGC2, pthread_create, PDLIB="$PDLIB -lpthreadGC2",
++ AC_CHECK_LIB(pthreadGC1, pthread_create, PDLIB="$PDLIB -lpthreadGC1",
++ AC_CHECK_LIB(pthreadGC, pthread_create, PDLIB="$PDLIB -lpthreadGC",
++ echo "pthreads required"; exit 1))))
+
+ dnl look for tcl 8.x... do I really have to go through all this!?
+
+@@ -108,6 +112,11 @@
+ fi
+ if test $foundit == "no";
+ then
++ AC_CHECK_HEADER(tcl8.4/tcl.h,
++ GUIFLAGS="$GUIFLAGS -I/usr/local/include/tcl8.4";foundit=yes,)
++fi
++if test $foundit == "no";
++then
+ AC_CHECK_HEADER(tcl8.3/tcl.h,
+ GUIFLAGS="$GUIFLAGS -I/usr/include/tcl8.3";foundit=yes,)
+ fi
+@@ -119,27 +128,30 @@
+ if test $foundit == "no";
+ then
+ echo no tcl header found
+- exit -1
++ echo bolding trying without...
++# exit -1
+ fi
+
+-AC_CHECK_LIB(tcl8.7, main,,
+- AC_CHECK_LIB(tcl8.6, main,,
++AC_CHECK_LIB(tcl85, main,,
+ AC_CHECK_LIB(tcl8.5, main,,
++ AC_CHECK_LIB(tcl84, main,,
+ AC_CHECK_LIB(tcl8.4, main,,
+ AC_CHECK_LIB(tcl8.3, main,,
+ AC_CHECK_LIB(tcl8.2, main,,
+- AC_CHECK_LIB(tcl8.0, main,,echo no tcl library found || exit 1)))))))
++ AC_CHECK_LIB(tcl8.0, main,,
++ echo no tcl library found; exit 1)))))))
+
+-AC_CHECK_LIB(tk8.7, main,,
+- AC_CHECK_LIB(tk8.6, main,,
++AC_CHECK_LIB(tk85, main,,
+ AC_CHECK_LIB(tk8.5, main,,
++ AC_CHECK_LIB(tk84, main,,
+ AC_CHECK_LIB(tk8.4, main,,
+ AC_CHECK_LIB(tk8.3, main,,
+ AC_CHECK_LIB(tk8.2, main,,
+- AC_CHECK_LIB(tk8.0, main,,echo no tk library found || exit 1)))))))
++ AC_CHECK_LIB(tk8.0, main,,
++ echo no tk library found; exit 1)))))))
+
+
+-if test `uname -s` = Linux;
++if test `uname -s` == Linux;
+ then
+ dnl Ckecking for ALSA
+ echo .................... alsa= $alsa
+@@ -254,7 +266,7 @@
+ LDFLAGS=$LDFLAGS" -lrt -ljack"
+ fi
+
+-if test `uname -s` = Darwin;
++if test `uname -s` == Darwin;
+ then
+ LDFLAGS="-Wl -framework CoreAudio \
+ -framework AudioUnit -framework AudioToolbox \
+@@ -324,6 +336,37 @@
+ fi
+ fi
+
++
++if test `uname -s` == MINGW32_NT-5.0;
++then
++ EXT=dll
++ MORECFLAGS="-DUSEAPI_PORTAUDIO -DPA19 -DMSW -DPA_NO_DS -DPD_INTERNAL \
++ -I../portaudio/pa_common -I../portaudio/pablio \
++ -mwindows -mms-bitfields "$MORECFLAGS
++ PDLIB=$PDLIB" -lwsock32 -lwinmm -lole32 -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"
++ 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";
+Index: d_mayer_fft.c
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/d_mayer_fft.c,v
+retrieving revision 1.3
+diff -u -w -r1.3 d_mayer_fft.c
+--- d_mayer_fft.c 18 May 2005 04:28:50 -0000 1.3
++++ d_mayer_fft.c 19 Dec 2005 06:49:31 -0000
+@@ -48,7 +48,8 @@
+ * of work. -msp
+ */
+
+-#ifdef MSW
++/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
++#ifdef _MSC_VER
+ #pragma warning( disable : 4305 ) /* uncast const double to float */
+ #pragma warning( disable : 4244 ) /* uncast double to float */
+ #pragma warning( disable : 4101 ) /* unused local variables */
+Index: m_pd.h
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
+retrieving revision 1.8
+diff -u -w -r1.8 m_pd.h
+--- m_pd.h 19 Aug 2005 23:28:03 -0000 1.8
++++ m_pd.h 19 Dec 2005 06:49:31 -0000
+@@ -17,15 +17,16 @@
+ #define MSW
+ #endif
+
+-#ifdef MSW
++/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
++#ifdef _MSC_VER
+ /* #pragma warning( disable : 4091 ) */
+ #pragma warning( disable : 4305 ) /* uncast const double to float */
+ #pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */
+ #pragma warning( disable : 4101 ) /* unused automatic variables */
+-#endif /* MSW */
++#endif /* _MSC_VER */
+
+ /* the external storage class is "extern" in UNIX; in MSW it's ugly. */
+-#ifdef MSW
++#ifdef _WIN32
+ #ifdef PD_INTERNAL
+ #define EXTERN __declspec(dllexport) extern
+ #else
+@@ -33,7 +34,7 @@
+ #endif /* PD_INTERNAL */
+ #else
+ #define EXTERN extern
+-#endif /* MSW */
++#endif /* _WIN32 */
+
+ /* and depending on the compiler, hidden data structures are
+ declared differently: */
+Index: makefile.in
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/makefile.in,v
+retrieving revision 1.8
+diff -u -w -r1.8 makefile.in
+--- makefile.in 24 Jul 2005 19:41:14 -0000 1.8
++++ makefile.in 19 Dec 2005 06:49:31 -0000
+@@ -30,6 +30,10 @@
+
+ SYSSRC += @SYSSRC@
+
++ASIOSRC = @ASIOSRC@
++
++ASIOOBJ = $(ASIOSRC:.cpp=.o)
++
+ SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
+ g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c \
+ g_all_guis.c g_bang.c g_hdial.c g_hslider.c g_mycanvas.c g_numbox.c \
+@@ -70,6 +74,9 @@
+ $(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
++
+ pd: $(PDEXEC)
+
+ gui: $(BIN_DIR)/$(GUINAME)
+@@ -77,16 +84,16 @@
+ pd-watchdog: $(BIN_DIR)/pd-watchdog
+
+ $(BIN_DIR)/pd-watchdog: s_watchdog.c
+- $(CC) -O2 $(STRIPFLAG) -o $(BIN_DIR)/pd-watchdog s_watchdog.c
++ $(CC) -O2 $(STRIPFLAG) -o $(BIN_DIR)/pd-watchdog s_watchdog.c $(LIB)
+
+ $(BIN_DIR)/pdsend: u_pdsend.c
+- $(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
+- $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c
++ $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c $(LIB)
+
+-$(PDEXEC): $(OBJ)
+- cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) \
++$(PDEXEC): $(OBJ) $(ASIOOBJ)
++ cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(ASIOOBJ) $(OBJ) \
+ $(LIB)
+
+ $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC)
+@@ -109,6 +116,12 @@
+ @executable_path/../Frameworks/Tk.framework/Versions/8.4/Tk \
+ ../bin/libPdTcl.dylib
+
++# this is for Windows/MinGW (only?)
++$(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)
++ strip --strip-unneeded $(BIN_DIR)/pdtcl.dll
++
+ externs:
+ cd ../extra/bonk~;make @EXTERNTARGET@
+ cd ../extra/choice;make @EXTERNTARGET@
+@@ -144,8 +157,9 @@
+ chmod 644 $(MANINSTDIR)/man1/pdreceive.1.gz
+
+ 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 \
++ $(BIN_DIR)/pd.exe $(BIN_DIR)/pdtcl.* $(BIN_DIR)/pd.tk
+ -rm -f `find ../portaudio ../portaudio_v18 -name "*.o"`
+ -rm -f *~
+ -(cd ../doc/6.externs; rm -f *.pd_linux)
+Index: s_entry.c
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/s_entry.c,v
+retrieving revision 1.3
+diff -u -w -r1.3 s_entry.c
+--- s_entry.c 11 Nov 2004 04:58:21 -0000 1.3
++++ s_entry.c 19 Dec 2005 06:49:31 -0000
+@@ -3,7 +3,11 @@
+
+ int sys_main(int argc, char **argv);
+
+-#ifdef MSW
++/*
++ * gcc does not support the __try stuff, only MSVC. Also, MinGW allows you to
++ * use main() instead of WinMain(). <hans@at.or.at>
++ */
++#ifdef _MSC_VER
+ #include <windows.h>
+ #include <stdio.h>
+
+@@ -21,11 +25,11 @@
+ }
+ }
+
+-#else /* not MSW */
++#else /* not _MSC_VER */
+ int main(int argc, char **argv)
+ {
+ return (sys_main(argc, argv));
+ }
+-#endif
++#endif /* _MSC_VER */
+
+
+Index: s_inter.c
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/s_inter.c,v
+retrieving revision 1.14
+diff -u -w -r1.14 s_inter.c
+--- s_inter.c 15 Oct 2005 23:14:28 -0000 1.14
++++ s_inter.c 19 Dec 2005 06:49:31 -0000
+@@ -9,7 +9,7 @@
+ #include "s_stuff.h"
+ #include "m_imp.h"
+ #include "g_canvas.h" /* for GUI queueing stuff */
+-#ifndef MSW
++#ifndef _WIN32
+ #include <unistd.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+@@ -23,16 +23,19 @@
+ #ifdef HAVE_BSTRING_H
+ #include <bstring.h>
+ #endif
+-#ifdef MSW
++#ifdef _WIN32
+ #include <io.h>
+ #include <fcntl.h>
+ #include <process.h>
+ #include <winsock.h>
+ #include <windows.h>
++# ifdef _MSC_VER
+ typedef int pid_t;
++# endif
+ typedef int socklen_t;
+ #define EADDRINUSE WSAEADDRINUSE
+ #endif
++
+ #include <stdarg.h>
+ #include <signal.h>
+ #include <fcntl.h>
+@@ -100,7 +103,7 @@
+
+ /* ----------- functions for timing, signals, priorities, etc --------- */
+
+-#ifdef MSW
++#ifdef _WIN32
+ static LARGE_INTEGER nt_inittime;
+ static double nt_freq = 0;
+
+@@ -129,13 +132,13 @@
+ return (((double)(dumbass->QuadPart - nt_inittime.QuadPart)) / nt_freq);
+ }
+ #endif
+-#endif /* MSW */
++#endif /* _WIN32 */
+
+ /* get "real time" in seconds; take the
+ first time we get called as a reference time of zero. */
+ double sys_getrealtime(void)
+ {
+-#ifndef MSW
++#ifndef _WIN32
+ static struct timeval then;
+ struct timeval now;
+ gettimeofday(&now, 0);
+@@ -165,11 +168,11 @@
+ FD_ZERO(&exceptset);
+ for (fp = sys_fdpoll, i = sys_nfdpoll; i--; fp++)
+ FD_SET(fp->fdp_fd, &readset);
+-#ifdef MSW
++#ifdef _WIN32
+ if (sys_maxfd == 0)
+ Sleep(microsec/1000);
+ else
+-#endif
++#endif /* _WIN32 */
+ select(sys_maxfd+1, &readset, &writeset, &exceptset, &timout);
+ for (i = 0; i < sys_nfdpoll; i++)
+ if (FD_ISSET(sys_fdpoll[i].fdp_fd, &readset))
+@@ -187,11 +190,11 @@
+ }
+ else
+ {
+-#ifdef MSW
++#ifdef _WIN32
+ if (sys_maxfd == 0)
+ Sleep(microsec/1000);
+ else
+-#endif
++#endif /* _WIN32 */
+ select(0, 0, 0, 0, &timout);
+ return (0);
+ }
+@@ -335,7 +338,7 @@
+
+ void sys_sockerror(char *s)
+ {
+-#ifdef MSW
++#ifdef _WIN32
+ int err = WSAGetLastError();
+ if (err == 10054) return;
+ else if (err == 10044)
+@@ -346,7 +349,7 @@
+ }
+ #else
+ int err = errno;
+-#endif
++#endif /* _WIN32 */
+ fprintf(stderr, "%s: %s (%d)\n", s, strerror(err), err);
+ }
+
+@@ -549,9 +552,9 @@
+ #ifdef UNISTD
+ close(fd);
+ #endif
+-#ifdef MSW
++#ifdef _WIN32
+ closesocket(fd);
+-#endif
++#endif /* _WIN32 */
+ }
+
+ /* ---------------------- sending messages to the GUI ------------------ */
+@@ -856,10 +859,10 @@
+ int len = sizeof(server);
+ int ntry = 0, portno = FIRSTPORTNUM;
+ int xsock = -1;
+-#ifdef MSW
++#ifdef _WIN32
+ short version = MAKEWORD(2, 0);
+ WSADATA nobby;
+-#endif
++#endif /* _WIN32 */
+ #ifdef UNISTD
+ int stdinpipe[2];
+ #endif
+@@ -884,9 +887,9 @@
+ signal(SIGSTKFLT, sys_exithandler);
+ #endif
+ #endif
+-#ifdef MSW
++#ifdef _WIN32
+ if (WSAStartup(version, &nobby)) sys_sockerror("WSAstartup");
+-#endif
++#endif /* _WIN32 */
+
+ if (sys_nogui)
+ {
+@@ -894,10 +897,10 @@
+ skip starting the GUI up. */
+ t_atom zz[19];
+ int i;
+-#ifdef MSW
++#ifdef _WIN32
+ if (GetCurrentDirectory(MAXPDSTRING, cmdbuf) == 0)
+ strcpy(cmdbuf, ".");
+-#endif
++#endif /* _WIN32 */
+ #ifdef UNISTD
+ if (!getcwd(cmdbuf, MAXPDSTRING))
+ strcpy(cmdbuf, ".");
+@@ -944,16 +947,16 @@
+ }
+ else /* default behavior: start up the GUI ourselves. */
+ {
+-#ifdef MSW
++#ifdef _WIN32
+ char scriptbuf[MAXPDSTRING+30], wishbuf[MAXPDSTRING+30], portbuf[80];
+ int spawnret;
+
+-#endif
+-#ifdef MSW
++#endif /* _WIN32 */
++#ifdef WIN32
+ char intarg;
+ #else
+ int intarg;
+-#endif
++#endif /* _WIN32 */
+
+ /* create a socket */
+ xsock = socket(AF_INET, SOCK_STREAM, 0);
+@@ -971,9 +974,9 @@
+ intarg = 1;
+ if (setsockopt(xsock, IPPROTO_TCP, TCP_NODELAY,
+ &intarg, sizeof(intarg)) < 0)
+-#ifndef MSW
++#ifndef _WIN32
+ post("setsockopt (TCP_NODELAY) failed\n")
+-#endif
++#endif /* not _WIN32 */
+ ;
+
+
+@@ -986,11 +989,11 @@
+ /* name the socket */
+ while (bind(xsock, (struct sockaddr *)&server, sizeof(server)) < 0)
+ {
+-#ifdef MSW
++#ifdef _WIN32
+ int err = WSAGetLastError();
+ #else
+ int err = errno;
+-#endif
++#endif /* _WIN32 */
+ if ((ntry++ > 20) || (err != EADDRINUSE))
+ {
+ perror("bind");
+@@ -1102,8 +1105,8 @@
+ }
+ #endif /* UNISTD */
+
+-#ifdef MSW
+- /* in MSW land "guipath" is unused; we just do everything from
++#ifdef _WIN32
++ /* in WIN32 land "guipath" is unused; we just do everything from
+ the libdir. */
+ /* fprintf(stderr, "%s\n", sys_libdir->s_name); */
+
+@@ -1126,7 +1129,7 @@
+ exit(1);
+ }
+
+-#endif /* MSW */
++#endif /* _WIN32 */
+ }
+
+ #if defined(__linux__) || defined(IRIX)
+@@ -1198,10 +1201,10 @@
+ seteuid(getuid()); /* lose setuid priveliges */
+ #endif /* __linux__ */
+
+-#ifdef MSW
++#ifdef _WIN32
+ if (!SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS))
+ fprintf(stderr, "pd: couldn't set high priority class\n");
+-#endif
++#endif /* _WIN32 */
+ #ifdef MACOSX
+ if (sys_hipriority)
+ {
+Index: s_watchdog.c
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/s_watchdog.c,v
+retrieving revision 1.2
+diff -u -w -r1.2 s_watchdog.c
+--- s_watchdog.c 6 Sep 2004 20:20:36 -0000 1.2
++++ s_watchdog.c 19 Dec 2005 06:49:31 -0000
+@@ -8,8 +8,13 @@
+
+ #include <sys/time.h>
+ #include <sys/types.h>
++#ifdef _WIN32
++#include <io.h>
++#include <winsock.h>
++#else
+ #include <unistd.h>
+ #include <signal.h>
++#endif /* _WIN32 */
+ #include <stdio.h>
+
+ int main(int argc, char **argv)
+@@ -41,7 +46,9 @@
+ else continue;
+ }
+ happy = 0;
++#ifndef _WIN32
+ kill(getppid(), SIGHUP);
++#endif /* _WIN32 */
+ fprintf(stderr, "watchdog: signaling pd...\n");
+ }
+ }
+Index: t_tkcmd.c
+===================================================================
+RCS file: /cvsroot/pure-data/pd/src/t_tkcmd.c,v
+retrieving revision 1.6
+diff -u -w -r1.6 t_tkcmd.c
+--- t_tkcmd.c 15 Oct 2005 23:14:28 -0000 1.6
++++ t_tkcmd.c 19 Dec 2005 06:49:31 -0000
+@@ -30,7 +30,7 @@
+ #include <winsock.h>
+ #include <io.h>
+ #endif
+-#ifdef MSW
++#ifdef _MSC_VER
+ #pragma warning( disable : 4305 ) /* uncast const double to float */
+ #pragma warning( disable : 4244 ) /* uncast double to float */
+ #pragma warning( disable : 4101 ) /* unused local variables */
diff --git a/packages/patches/win/NT2_MSC_VER.patch b/packages/patches/win/NT2_MSC_VER.patch
deleted file mode 100644
index 7c5f3d25..00000000
--- a/packages/patches/win/NT2_MSC_VER.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-? configure
-Index: d_mayer_fft.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/d_mayer_fft.c,v
-retrieving revision 1.3
-diff -u -w -r1.3 d_mayer_fft.c
---- d_mayer_fft.c 18 May 2005 04:28:50 -0000 1.3
-+++ d_mayer_fft.c 17 Nov 2005 23:29:25 -0000
-@@ -48,7 +48,8 @@
- * of work. -msp
- */
-
--#ifdef MSW
-+/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
-+#ifdef _MSC_VER
- #pragma warning( disable : 4305 ) /* uncast const double to float */
- #pragma warning( disable : 4244 ) /* uncast double to float */
- #pragma warning( disable : 4101 ) /* unused local variables */
-Index: m_pd.h
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/m_pd.h,v
-retrieving revision 1.8
-diff -u -w -r1.8 m_pd.h
---- m_pd.h 19 Aug 2005 23:28:03 -0000 1.8
-+++ m_pd.h 17 Nov 2005 23:29:25 -0000
-@@ -17,12 +17,13 @@
- #define MSW
- #endif
-
--#ifdef MSW
-+/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
-+#ifdef _MSC_VER
- /* #pragma warning( disable : 4091 ) */
- #pragma warning( disable : 4305 ) /* uncast const double to float */
- #pragma warning( disable : 4244 ) /* uncast float/int conversion etc. */
- #pragma warning( disable : 4101 ) /* unused automatic variables */
--#endif /* MSW */
-+#endif /* _MSC_VER */
-
- /* the external storage class is "extern" in UNIX; in MSW it's ugly. */
- #ifdef MSW
-Index: t_tkcmd.c
-===================================================================
-RCS file: /cvsroot/pure-data/pd/src/t_tkcmd.c,v
-retrieving revision 1.6
-diff -u -w -r1.6 t_tkcmd.c
---- t_tkcmd.c 15 Oct 2005 23:14:28 -0000 1.6
-+++ t_tkcmd.c 17 Nov 2005 23:29:25 -0000
-@@ -30,7 +30,9 @@
- #include <winsock.h>
- #include <io.h>
- #endif
--#ifdef MSW
-+
-+/* These pragmas are only used for MSVC, not MinGW or Cygwin <hans@at.or.at> */
-+#ifdef _MSC_VER
- #pragma warning( disable : 4305 ) /* uncast const double to float */
- #pragma warning( disable : 4244 ) /* uncast double to float */
- #pragma warning( disable : 4101 ) /* unused local variables */
diff --git a/packages/patches/win/win_font_tweaks.patch b/packages/patches/windows/win_font_tweaks.patch
index a7c9cd82..a7c9cd82 100644
--- a/packages/patches/win/win_font_tweaks.patch
+++ b/packages/patches/windows/win_font_tweaks.patch
diff --git a/packages/win32_inno/Makefile b/packages/win32_inno/Makefile
index 204b83a7..729d603a 100755
--- a/packages/win32_inno/Makefile
+++ b/packages/win32_inno/Makefile
@@ -16,7 +16,7 @@ include $(BUILDLAYOUT_DIR)/Makefile.buildlayout
OPT_CFLAGS = -O3 -funroll-loops -fomit-frame-pointer
# Generic x86 (tune for Pentium III, since that's most common these days)
-OPT_CFLAGS += -march=pentium-mmx -mtune=pentium3 -mmmx
+OPT_CFLAGS += -mcpu=i586 -mtune=pentium3
# INTEL
#
@@ -53,21 +53,65 @@ package: $(PD_INNO_SETUP)
@echo " "
@echo "win32_inno install succeeded!"
-install:
- cd $(packages_src) && make $(DEST_PATHS) extended_install
- cd .. && make $(DEST_PATHS) doc_format
- install -p pd-settings.reg $(DESTDIR)$(prefix)
+# makefile.mingw is available from here:
+# http://sourceforge.net/tracker/index.php?func=detail&aid=1374659&group_id=55736&atid=478072
+build_pd:
+ make -C $(pd_src)/src -f makefile.mingw $(DEST_PATHS)
+
+pd_install: build_pd
+# the autoconf/MinGW setup doesn't compile the extras yet
+# make -C $(pd_src)/src $(DEST_PATHS) bin
+# -make -C $(pd_src)/src $(DEST_PATHS) install
+ make -C $(pd_src)/src -f makefile.mingw $(DEST_PATHS) install
+
+install: pd_install prebuilt_install lib_install exe_install
@echo " "
@echo "win32_inno install succeeded!"
+
+prebuilt_install:
+ make -C $(packages_src) $(DEST_PATHS) extended_install
+ make -C $(packages_src) $(DEST_PATHS) doc_format
+ install -p pd-settings.reg $(DESTDIR)$(prefix)
+
#==============================================================================#
#
-## CVS SOURCES
+## setup Pd binaries
#
#==============================================================================#
-# since I can't get Pd to compile, here are some hacks to assemble a package
-# from binaries
+bin_src = /usr/local/bin
+# ultimately, the DLLs should be installed in %SystemRoot%\system32 by InnoSetup
+#dlldir = $(DESTDIR)$(prefix)/
+dlldir = $(bindir)
+lib_install:
+# these get installed into %SystemRoot%\system32 by the installer
+ install -d $(dlldir)
+ install -p $(bin_src)/libogg-0.dll $(dlldir)/libogg-0.dll
+ install -p $(bin_src)/libsndfile-1.dll $(dlldir)/libsndfile-1.dll
+ install -p $(bin_src)/libvorbis-0.dll $(dlldir)/libvorbis-0.dll
+ install -p $(bin_src)/libvorbisenc-2.dll $(dlldir)/libvorbisenc-2.dll
+ install -p $(bin_src)/libvorbisfile-3.dll $(dlldir)/libvorbisfile-3.dll
+ install -p $(bin_src)/pthreadGC2.dll $(dlldir)/pthreadGC2.dll
+ install -p $(bin_src)/tcl84.dll $(dlldir)/tcl84.dll
+ install -p $(bin_src)/tclpip84.dll $(dlldir)/tclpip84.dll
+ install -p $(bin_src)/tk84.dll $(dlldir)/tk84.dll
+# this is a quick hack, since the gripd.dll still looks for pthreadVC.dll
+ install -p $(DESTDIR)$(prefix)/gripd/pthreadVC.dll $(dlldir)/pthreadVC.dll
+# these go into the Pd package's lib dir
+ install -d $(libdir)/tcl8.4
+ cp -r /usr/local/lib/tcl8.4/* $(libdir)/tcl8.4
+ install -d $(libdir)/tk8.4
+ cp -r /usr/local/lib/tk8.4/* $(libdir)/tk8.4
+
+
+exe_install:
+ install -d $(bindir)
+ install -p $(bin_src)/wish84.exe $(bindir)
+ install -p $(bin_src)/tclsh84.exe $(bindir)
+
+
+# here are some hacks to assemble a package from binaries
no_compile_hacks:
cp -a /c/Program\ Files/pd-0.38-4 $(DESTDIR)$(prefix)/
@@ -80,6 +124,7 @@ $(PD_INNO_SETUP): $(PD_INNO_SETUP).in
$(PD_INNO_SETUP)
# start $(PD_INNO_SETUP)
+
#==============================================================================#
#
## CVS SOURCES
@@ -113,3 +158,6 @@ test_locations:
@echo "HELPDIR $(helpdir)"
@echo "MANUALSDIR $(manualsdir)"
@echo "EXAMPLESDIR $(examplesdir)"
+
+
+.PHONY: all install package clean distclean test_locations dll_install exe_install
diff --git a/packages/win32_inno/TODO b/packages/win32_inno/TODO
index 312ade3c..b2a2dce2 100644
--- a/packages/win32_inno/TODO
+++ b/packages/win32_inno/TODO
@@ -6,17 +6,9 @@
- Another detail is that the menu item "help/1 manual" results in no action -
possibly some link pointing to the wrong place? It turns out that the
rundll "open" thingy isn't working...
- - make Pd.exe using MinGW's "start.exe" like MacOSX's "open"
+ - make Pd.exe using MSYS's "start.exe" like MacOSX's "open"
- menu_openhtml on Win32 with rundll should be able to open other
filetypes like open on MACOSX.
-- get Pd compiling on MinGW:. From Carmen:
-
- - "theres a SConscript in devel_0_39 and theres also a makefile.mingw maybe
- in devel_0_38. just ./configure && make && make install the deps like tk
- and such first, although you can use a static path to MSVC-generated .libs
- if you dont feel like doing that.."
-
-
- get Windows Makefiles for Gem
diff --git a/packages/win32_inno/pd-inno.iss.in b/packages/win32_inno/pd-inno.iss.in
index b0fad843..e6230779 100755
--- a/packages/win32_inno/pd-inno.iss.in
+++ b/packages/win32_inno/pd-inno.iss.in
@@ -103,12 +103,14 @@ Source: build\bin\cyclist.exe; DestDir: {sys}; Flags: confirmoverwrite promptifo
Source: build\doc\manuals\Pd\Welcome.html; DestDir: {app}; Flags: isreadme; Tasks:
Source: build\doc\manuals\Pd\ReadMe.html; DestDir: {app}; Flags: isreadme
Source: build\doc\manuals\Pd\License.html; DestDir: {app}; Flags: isreadme
-Source: build\doc\manuals\Pd\PD LICENSE.txt; DestDir: {app}; Flags: isreadme
+Source: build\doc\manuals\Pd\Pd-LICENSE.txt; DestDir: {app}; Flags: isreadme
Source: build\pd-settings.reg; DestDir: {app}; Flags: ignoreversion
Source: build\bin\*.*; DestDir: {app}\bin; Flags: ignoreversion confirmoverwrite recursesubdirs uninsremovereadonly
Source: build\doc\*.*; DestDir: {app}\doc; Flags: ignoreversion confirmoverwrite recursesubdirs uninsremovereadonly; Attribs: readonly
Source: build\extra\*.*; DestDir: {app}\extra; Flags: ignoreversion recursesubdirs uninsremovereadonly promptifolder; Attribs: readonly
Source: build\lib\*.*; DestDir: {app}\lib; Flags: ignoreversion recursesubdirs
-Source: build\portaudio\*.*; DestDir: {app}\portaudio; Flags: ignoreversion recursesubdirs
-Source: build\src\*.*; DestDir: {app}\src; Flags: ignoreversion recursesubdirs
-Source: build\tcl\*.*; DestDir: {app}\tcl; Flags: ignoreversion recursesubdirs
+Source: build\gripd\*.*; DestDir: {app}\gripd; Flags: ignoreversion
+;; build stuff is not included now
+;Source: build\portaudio\*.*; DestDir: {app}\portaudio; Flags: ignoreversion recursesubdirs
+;Source: build\src\*.*; DestDir: {app}\src; Flags: ignoreversion recursesubdirs
+;Source: build\tcl\*.*; DestDir: {app}\tcl; Flags: ignoreversion recursesubdirs
diff --git a/packages/win32_inno/pd-settings.reg b/packages/win32_inno/pd-settings.reg
index a0911862..9a135142 100755
--- a/packages/win32_inno/pd-settings.reg
+++ b/packages/win32_inno/pd-settings.reg
@@ -1,28 +1,28 @@
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Pd]
-"path1"="c:/progra~1/pd/extra/cyclone"
-"path2"="c:/progra~1/pd/extra/zexy"
-"path3"="c:/progra~1/pd/extra/iemabs"
-"path4"="c:/progra~1/pd/extra/iemmatrix"
-"path5"="c:/progra~1/pd/extra/ix"
-"path6"="c:/progra~1/pd/extra/memento"
-"path7"="c:/progra~1/pd/extra/markex"
-"path8"="c:/progra~1/pd/extra/mjlib"
-"path9"="c:/progra~1/pd/extra/motex"
-"path10"="c:/progra~1/pd/extra/rradical"
-"path11"="c:/progra~1/pd/extra/pixelTANGO"
-"path12"="c:/progra~1/pd/extra/smlib"
-"path13"="c:/progra~1/pd/extra/toxy"
-"path14"="c:/progra~1/pd/extra/unauthorized"
-"path15"="c:/progra~1/pd/extra/creb"
-"path16"="c:/progra~1/pd/extra/maxlib"
-"loadlib1"="dyn~"
-"loadlib2"="gem"
+"loadlib1"="cyclone"
+"loadlib2"="maxlib"
"loadlib3"="gripd"
"loadlib4"="OSC"
"loadlib5"="pmpd"
"loadlib6"="vasp"
"loadlib7"="wmangle"
"loadlib8"="xsample"
-
+"loadlib9"="dyn~"
+"loadlib10"="Gem"
+"loadlib11"="oscx"
+"loadlib12"="zexy"
+"loadlib13"="iemabs"
+"loadlib14"="iemmatrix"
+"loadlib15"="ix"
+"loadlib16"="memento"
+"loadlib17"="markex"
+"loadlib18"="mjlib"
+"loadlib19"="motex"
+"loadlib20"="rradical"
+"loadlib21"="pixelTANGO"
+"loadlib22"="smlib"
+"loadlib23"="toxy"
+"loadlib24"="unauthorized"
+"loadlib25"="creb"