From e22199f9828597e0e602be092622a9e8bb8348d7 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Tue, 20 Dec 2005 00:13:17 +0000 Subject: added in mingw_fixes patch which includes NT2_MSC_VER and lots of other stuff so that everything can compile using MinGW; reorged things to use the full name 'windows' rather than just 'win'. This matches 'darwin' and 'linux'; this is windows RC6 svn path=/trunk/; revision=4260 --- packages/Makefile | 12 +- packages/Makefile.buildlayout | 4 +- packages/linux_make/Makefile | 4 +- packages/patches/mingw_fixes-0.39-2.patch | 575 +++++++++++++++++++++++++ packages/patches/win/NT2_MSC_VER.patch | 59 --- packages/patches/win/win_font_tweaks.patch | 25 -- packages/patches/windows/win_font_tweaks.patch | 25 ++ packages/win32_inno/Makefile | 64 ++- packages/win32_inno/TODO | 10 +- packages/win32_inno/pd-inno.iss.in | 10 +- packages/win32_inno/pd-settings.reg | 38 +- 11 files changed, 693 insertions(+), 133 deletions(-) create mode 100644 packages/patches/mingw_fixes-0.39-2.patch delete mode 100644 packages/patches/win/NT2_MSC_VER.patch delete mode 100644 packages/patches/win/win_font_tweaks.patch create mode 100644 packages/patches/windows/win_font_tweaks.patch (limited to 'packages') 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 */ ++#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 */ ++#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(). ++ */ ++#ifdef _MSC_VER + #include + #include + +@@ -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 + #include + #include +@@ -23,16 +23,19 @@ + #ifdef HAVE_BSTRING_H + #include + #endif +-#ifdef MSW ++#ifdef _WIN32 + #include + #include + #include + #include + #include ++# ifdef _MSC_VER + typedef int pid_t; ++# endif + typedef int socklen_t; + #define EADDRINUSE WSAEADDRINUSE + #endif ++ + #include + #include + #include +@@ -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 + #include ++#ifdef _WIN32 ++#include ++#include ++#else + #include + #include ++#endif /* _WIN32 */ + #include + + 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 + #include + #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 */ -+#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 */ -+#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 - #include - #endif --#ifdef MSW -+ -+/* These pragmas are only used for MSVC, not MinGW or Cygwin */ -+#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/win/win_font_tweaks.patch deleted file mode 100644 index a7c9cd82..00000000 --- a/packages/patches/win/win_font_tweaks.patch +++ /dev/null @@ -1,25 +0,0 @@ -Index: u_main.tk -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v -retrieving revision 1.7.2.4 -diff -u -w -r1.7.2.4 u_main.tk ---- u_main.tk 21 Feb 2005 04:20:20 -0000 1.7.2.4 -+++ u_main.tk 27 Nov 2005 04:08:45 -0000 -@@ -158,7 +158,7 @@ - - - frame .printout --text .printout.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \ -+text .printout.text -relief raised -bd 2 -font { courier 9 } \ - -yscrollcommand ".printout.scroll set" -width 80 - # .printout.text insert end "\n\n\n\n\n\n\n\n\n\n" - scrollbar .printout.scroll -command ".printout.text yview" -@@ -337,7 +337,7 @@ - global pd_myversion - set name [format ".help%d" $doc_number] - toplevel $name -- text $name.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \ -+ text $name.text -relief raised -bd 2 -font { helvetica 10 } \ - -yscrollcommand "$name.scroll set" -background white - scrollbar $name.scroll -command "$name.text yview" - pack $name.scroll -side right -fill y diff --git a/packages/patches/windows/win_font_tweaks.patch b/packages/patches/windows/win_font_tweaks.patch new file mode 100644 index 00000000..a7c9cd82 --- /dev/null +++ b/packages/patches/windows/win_font_tweaks.patch @@ -0,0 +1,25 @@ +Index: u_main.tk +=================================================================== +RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v +retrieving revision 1.7.2.4 +diff -u -w -r1.7.2.4 u_main.tk +--- u_main.tk 21 Feb 2005 04:20:20 -0000 1.7.2.4 ++++ u_main.tk 27 Nov 2005 04:08:45 -0000 +@@ -158,7 +158,7 @@ + + + frame .printout +-text .printout.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \ ++text .printout.text -relief raised -bd 2 -font { courier 9 } \ + -yscrollcommand ".printout.scroll set" -width 80 + # .printout.text insert end "\n\n\n\n\n\n\n\n\n\n" + scrollbar .printout.scroll -command ".printout.text yview" +@@ -337,7 +337,7 @@ + global pd_myversion + set name [format ".help%d" $doc_number] + toplevel $name +- text $name.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \ ++ text $name.text -relief raised -bd 2 -font { helvetica 10 } \ + -yscrollcommand "$name.scroll set" -background white + scrollbar $name.scroll -command "$name.text yview" + pack $name.scroll -side right -fill y 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" -- cgit v1.2.1