From c67180156bb011ebe9a0524757052a28a6c62692 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 21 Nov 2005 04:39:02 +0000 Subject: Lots of changes, got the first complete(-ish) build with the new extended build system. I left as much of the old functionality in place as possible, definitely were it was being used. But there are some changes that break backwards compatibility, thought they should be noticed by few, and be easy to fix going forward. Some highlights: - centralized patch system (packages/patches with targets patch_pd and unpatch_pd) - easily redirected builds, using INSTALL_PREFIX and all of the *_DEST variables. This makes building packages like Pd.app, .deb, .rpm, etc. much easier. - libdir format: basically a libdir is a directory that has both the objects and the help files together in one folder. It can be added using -lib or the StartUp preferences, or you can access them via geiger namespaces, i.e. [mylibrary/myobject]. - special characters allow in setup function/file names for objects. This makes objects like [||~] possible without having to be in a library. Now they can be either .pd files or individual .pd_darwin files (thanks IOhannes for the patch). svn path=/trunk/; revision=3993 --- .../darwin_app/patches/MACOSX-to-__APPLE__.patch | 357 --------------------- .../darwin_app/patches/darwin_linking_fixes.patch | 149 --------- packages/darwin_app/patches/display_tweaks.patch | 33 -- .../darwin_app/patches/extended-help-menu.patch | 174 ---------- .../darwin_app/patches/special_chars_hack.patch | 58 ---- packages/darwin_app/patches/weak_linking.patch | 22 -- 6 files changed, 793 deletions(-) delete mode 100644 packages/darwin_app/patches/MACOSX-to-__APPLE__.patch delete mode 100644 packages/darwin_app/patches/darwin_linking_fixes.patch delete mode 100644 packages/darwin_app/patches/display_tweaks.patch delete mode 100644 packages/darwin_app/patches/extended-help-menu.patch delete mode 100644 packages/darwin_app/patches/special_chars_hack.patch delete mode 100644 packages/darwin_app/patches/weak_linking.patch (limited to 'packages/darwin_app/patches') diff --git a/packages/darwin_app/patches/MACOSX-to-__APPLE__.patch b/packages/darwin_app/patches/MACOSX-to-__APPLE__.patch deleted file mode 100644 index c8347c06..00000000 --- a/packages/darwin_app/patches/MACOSX-to-__APPLE__.patch +++ /dev/null @@ -1,357 +0,0 @@ -Index: configure.in -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/configure.in,v -retrieving revision 1.10 -diff -u -w -r1.10 configure.in ---- configure.in 30 May 2005 04:37:25 -0000 1.10 -+++ configure.in 9 Jun 2005 06:01:51 -0000 -@@ -218,7 +218,7 @@ - -framework AudioUnit -framework AudioToolbox \ - -framework Carbon -framework CoreMIDI" - EXT=pd_darwin -- MORECFLAGS="-DMACOSX -DUNISTD -I/usr/X11R6/include \ -+ MORECFLAGS="-DUNISTD -I/usr/X11R6/include \ - -I../portaudio/pa_common -I../portaudio/pablio \ - -I../portmidi/pm_common -I../portmidi/pm_mac \ - -I../portmidi/porttime \ -Index: d_array.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/d_array.c,v -retrieving revision 1.5 -diff -u -w -r1.5 d_array.c ---- d_array.c 11 Nov 2004 04:58:21 -0000 1.5 -+++ d_array.c 9 Jun 2005 06:01:51 -0000 -@@ -540,12 +540,12 @@ - #define int32 int32_t - - #else --#ifdef MACOSX -+#ifdef __APPLE__ - #define HIOFFSET 0 /* word offset to find MSB */ - #define LOWOFFSET 1 /* word offset to find LSB */ - #define int32 int /* a data type that has 32 bits */ - --#endif /* MACOSX */ -+#endif /* __APPLE__ */ - #endif /* __linux__ */ - #endif /* MSW */ - #endif /* SGI */ -Index: d_osc.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/d_osc.c,v -retrieving revision 1.2 -diff -u -w -r1.2 d_osc.c ---- d_osc.c 6 Sep 2004 20:20:33 -0000 1.2 -+++ d_osc.c 9 Jun 2005 06:01:51 -0000 -@@ -56,12 +56,12 @@ - #define int32 int32_t - - #else --#ifdef MACOSX -+#ifdef __APPLE__ - #define HIOFFSET 0 /* word offset to find MSB */ - #define LOWOFFSET 1 /* word offset to find LSB */ - #define int32 int /* a data type that has 32 bits */ - --#endif /* MACOSX */ -+#endif /* __APPLE__ */ - #endif /* __linux__ */ - #endif /* MSW */ - #endif /* SGI */ -Index: g_canvas.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/g_canvas.c,v -retrieving revision 1.7 -diff -u -w -r1.7 g_canvas.c ---- g_canvas.c 18 May 2005 04:28:50 -0000 1.7 -+++ g_canvas.c 9 Jun 2005 06:01:51 -0000 -@@ -25,7 +25,7 @@ - #define GLIST_DEFCANVASWIDTH 450 - #define GLIST_DEFCANVASHEIGHT 300 - --#ifdef MACOSX -+#ifdef __APPLE__ - #define GLIST_DEFCANVASYLOC 22 - #else - #define GLIST_DEFCANVASYLOC 0 -Index: g_editor.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/g_editor.c,v -retrieving revision 1.7 -diff -u -w -r1.7 g_editor.c ---- g_editor.c 18 May 2005 04:28:50 -0000 1.7 -+++ g_editor.c 9 Jun 2005 06:01:52 -0000 -@@ -949,7 +949,7 @@ - - /* on one-button-mouse machines, you can use double click to - mean right click (which gets the popup menu.) Do this for Mac. */ --#ifdef MACOSX -+#ifdef __APPLE__ - #define SIMULATERIGHTCLICK - #endif - -@@ -1412,7 +1412,7 @@ - keyupsym = gensym("#keyup"); - keynamesym = gensym("#keyname"); - } --#ifdef MACOSX -+#ifdef __APPLE__ - if (keynum == 30) - keynum = 0, gotkeysym = gensym("Up"); - else if (keynum == 31) -Index: g_text.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/g_text.c,v -retrieving revision 1.7 -diff -u -w -r1.7 g_text.c ---- g_text.c 18 May 2005 04:28:51 -0000 1.7 -+++ g_text.c 9 Jun 2005 06:01:52 -0000 -@@ -1100,7 +1100,7 @@ - - /* -------------------- the "text" class ------------ */ - --#ifdef MACOSX -+#ifdef __APPLE__ - #define EXTRAPIX 2 - #else - #define EXTRAPIX 1 -Index: s_file.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/s_file.c,v -retrieving revision 1.5 -diff -u -w -r1.5 s_file.c ---- s_file.c 30 May 2005 03:04:18 -0000 1.5 -+++ s_file.c 9 Jun 2005 06:01:52 -0000 -@@ -205,7 +205,7 @@ - - #endif /* MSW */ - --#ifdef MACOSX -+#ifdef __APPLE__ - - static void sys_initloadpreferences( void) - { -@@ -255,7 +255,7 @@ - { - } - --#endif /* MACOSX */ -+#endif /* __APPLE__ */ - - void sys_loadpreferences( void) - { -Index: s_inter.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/s_inter.c,v -retrieving revision 1.9 -diff -u -w -r1.9 s_inter.c ---- s_inter.c 30 May 2005 03:04:18 -0000 1.9 -+++ s_inter.c 9 Jun 2005 06:01:53 -0000 -@@ -40,7 +40,7 @@ - #include - #include - --#ifdef MACOSX -+#ifdef __APPLE__ - #include - #include - #include -@@ -1007,7 +1007,7 @@ - else if (!childpid) /* we're the child */ - { - seteuid(getuid()); /* lose setuid priveliges */ --#ifndef MACOSX -+#ifndef __APPLE__ - /* the wish process in Unix will make a wish shell and - read/write standard in and out unless we close the - file descriptors. Somehow this doesn't make the MAC OSX -@@ -1026,7 +1026,7 @@ - #endif - if (!sys_guicmd) - { --#ifdef MACOSX -+#ifdef __APPLE__ - char *homedir = getenv("HOME"), filename[250]; - struct stat statbuf; - if (!homedir || strlen(homedir) > 150) -@@ -1165,7 +1165,7 @@ - if (!SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS)) - fprintf(stderr, "pd: couldn't set high priority class\n"); - #endif --#ifdef MACOSX -+#ifdef __APPLE__ - if (sys_hipriority) - { - struct sched_param param; -@@ -1177,7 +1177,7 @@ - if (err) - post("warning: high priority scheduling failed\n"); - } --#endif /* MACOSX */ -+#endif /* __APPLE__ */ - - if (!sys_nogui && !sys_guisetportnumber) - { -Index: s_loader.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/s_loader.c,v -retrieving revision 1.6 -diff -u -w -r1.6 s_loader.c ---- s_loader.c 30 May 2005 03:04:19 -0000 1.6 -+++ s_loader.c 9 Jun 2005 06:01:53 -0000 -@@ -13,7 +13,7 @@ - #include - #include - #endif --#ifdef MACOSX -+#ifdef __APPLE__ - #include - #endif - #include -@@ -37,7 +37,7 @@ - #ifdef __linux__ - ".pd_linux"; - #endif --#ifdef MACOSX -+#ifdef __APPLE__ - ".pd_darwin"; - #endif - #ifdef MSW -@@ -90,7 +90,7 @@ - if (lastdot = strrchr(nameptr, '.')) - *lastdot = 0; - --#ifdef MACOSX -+#ifdef __APPLE__ - strcpy(symname, "_"); - strcat(symname, nameptr); - #else -@@ -122,7 +122,7 @@ - } - makeout = (t_xxx)GetProcAddress(ntdll, symname); - #endif --#ifdef MACOSX -+#ifdef __APPLE__ - { - NSObjectFileImage image; - void *ret; -Index: s_path.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/s_path.c,v -retrieving revision 1.6 -diff -u -w -r1.6 s_path.c ---- s_path.c 18 May 2005 04:28:51 -0000 1.6 -+++ s_path.c 9 Jun 2005 06:01:53 -0000 -@@ -356,7 +356,7 @@ - } - - --/* Startup file reading for linux and MACOSX. As of 0.38 this will be -+/* Startup file reading for linux and Mac OS X. As of 0.38 this will be - deprecated in favor of the "settings" mechanism */ - - int sys_argparse(int argc, char **argv); -Index: s_stuff.h -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/s_stuff.h,v -retrieving revision 1.6 -diff -u -w -r1.6 s_stuff.h ---- s_stuff.h 28 Nov 2004 21:20:43 -0000 1.6 -+++ s_stuff.h 9 Jun 2005 06:01:53 -0000 -@@ -160,7 +160,7 @@ - #define API_DEFAULT API_MMIO - #define API_DEFSTRING "MMIO" - #endif --#ifdef MACOSX -+#ifdef __APPLE__ - #define API_DEFAULT API_PORTAUDIO - #define API_DEFSTRING "portaudio" - #endif -Index: t_main.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/t_main.c,v -retrieving revision 1.2 -diff -u -w -r1.2 t_main.c ---- t_main.c 6 Sep 2004 20:20:36 -0000 1.2 -+++ t_main.c 9 Jun 2005 06:01:53 -0000 -@@ -14,7 +14,7 @@ - */ - - --#ifndef MACOSX /* linux and IRIX only; in MACOSX we don't link this in */ -+#ifndef __APPLE__ /* linux and IRIX only; in Mac OS X we don't link this in */ - #include "tk.h" - #include - -@@ -112,4 +112,4 @@ - return TCL_OK; - } - --#endif /* MACOSX */ -+#endif /* __APPLE__ */ -Index: t_tkcmd.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/t_tkcmd.c,v -retrieving revision 1.3 -diff -u -w -r1.3 t_tkcmd.c ---- t_tkcmd.c 6 Nov 2004 16:07:34 -0000 1.3 -+++ t_tkcmd.c 9 Jun 2005 06:01:53 -0000 -@@ -40,7 +40,7 @@ - #include "tk.h" - #endif - --#ifdef MACOSX -+#ifdef __APPLE__ - #define STARTGUI - #endif - -@@ -528,7 +528,7 @@ - /* in linux, we load the tk code from here (in MSW and MACOS, this - is done by passing the name of the file as a startup argument to - the wish shell.) */ --#if !defined(MSW) && !defined(MACOSX) -+#if !defined(MSW) && !defined(__APPLE__) - void pdgui_doevalfile(Tcl_Interp *interp, char *s) - { - char buf[GUISTRING]; -@@ -566,7 +566,7 @@ - #endif - pdgui_setupsocket(); - /* read in the startup file */ --#if !defined(MSW) && !defined(MACOSX) -+#if !defined(MSW) && !defined(__APPLE__) - pdgui_evalfile("pd.tk"); - #endif - } -Index: x_arithmetic.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/x_arithmetic.c,v -retrieving revision 1.2 -diff -u -w -r1.2 x_arithmetic.c ---- x_arithmetic.c 6 Sep 2004 20:20:36 -0000 1.2 -+++ x_arithmetic.c 9 Jun 2005 06:01:53 -0000 -@@ -11,7 +11,7 @@ - - - /* MSW and OSX don't appear to have single-precision ANSI math */ --#if defined(MSW) || defined(MACOSX) -+#if defined(MSW) || defined(__APPLE__) - #define sinf sin - #define cosf cos - #define atanf atan -Index: x_misc.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/x_misc.c,v -retrieving revision 1.2 -diff -u -w -r1.2 x_misc.c ---- x_misc.c 6 Sep 2004 20:20:36 -0000 1.2 -+++ x_misc.c 9 Jun 2005 06:01:53 -0000 -@@ -21,7 +21,7 @@ - #include - #endif - --#if defined (MACOSX) || defined (__FreeBSD__) -+#if defined (__APPLE__) || defined (__FreeBSD__) - #define HZ CLK_TCK - #endif - diff --git a/packages/darwin_app/patches/darwin_linking_fixes.patch b/packages/darwin_app/patches/darwin_linking_fixes.patch deleted file mode 100644 index dd1c2db3..00000000 --- a/packages/darwin_app/patches/darwin_linking_fixes.patch +++ /dev/null @@ -1,149 +0,0 @@ -Index: configure.in -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/configure.in,v -retrieving revision 1.10 -diff -u -w -r1.10 configure.in ---- configure.in 30 May 2005 04:37:25 -0000 1.10 -+++ configure.in 7 Jun 2005 00:14:52 -0000 -@@ -13,6 +13,7 @@ - AC_SUBST(USE_DEBUG_CFLAGS, no) - AC_SUBST(SYSSRC) - AC_SUBST(STRIPFLAG) -+AC_SUBST(TCLTK_FRAMEWORKS_PATH) - AC_SUBST(GUINAME) - AC_SUBST(GUIFLAGS) - AC_SUBST(OSNUMBER) -@@ -207,6 +208,24 @@ - OPT_CFLAGS="-g" - else - OPT_CFLAGS="-O6 -funroll-loops -fomit-frame-pointer" -+ -+ if test x$jack == "xyes"; -+ then -+ LDFLAGS=$LDFLAGS" -lrt -ljack" -+ fi -+ if test x$jack == "xrun"; -+ then -+ LDFLAGS=$LDFLAGS" -lrt -ljack" -+ fi -+ fi -+ -+ if test x$jack == "xyes"; -+ then -+ LDFLAGS=$LDFLAGS" -lrt -ljack" -+ fi -+ if test x$jack == "xrun"; -+ then -+ LDFLAGS=$LDFLAGS" -lrt -ljack" - fi - echo OPT_CFLAGS --------------- $OPT_CFLAGS - OSNUMBER=0 -@@ -245,11 +264,25 @@ - ../portmidi/pm_common/portmidi.c \ - ../portmidi/porttime/ptmacosx_cf.c " - STRIPFLAG="" -- GUINAME="pdtcl" -- GUIFLAGS="-F../../Frameworks -framework Tcl -framework Tk \ -- -I../../Frameworks/Tk.framework/Versions/Current/Headers \ -- -I../../Frameworks/Tcl.framework/Versions/Current/Headers \ -- -I../../Frameworks/Tcl.framework/Versions/8.4/PrivateHeaders" -+ GUINAME="libPdTcl.dylib" -+ -+# find the Tcl/Tk Frameworks -+ if test -d "../../Frameworks"; -+ then -+ # Miller's location -+ TCLTK_FRAMEWORKS_PATH="../../Frameworks" -+ elif test -d "/Library/Frameworks"; -+ then -+ # get it from the default install location -+ TCLTK_FRAMEWORKS_PATH="/Library/Frameworks" -+ else -+ # Panther has Tcl here; Tiger has Tcl and Tk here -+ TCLTK_FRAMEWORKS_PATH="/System/Library/Frameworks" -+ fi -+ GUIFLAGS="-F$TCLTK_FRAMEWORKS_PATH -framework Tcl -framework Tk \ -+ -I$TCLTK_FRAMEWORKS_PATH/Tk.framework/Versions/Current/Headers \ -+ -I$TCLTK_FRAMEWORKS_PATH/Tcl.framework/Versions/Current/Headers \ -+ -I$TCLTK_FRAMEWORKS_PATH/Tcl.framework/Versions/8.4/PrivateHeaders" - if test x$USE_DEBUG_CFLAGS == "xyes"; - then - OPT_CFLAGS="-g" -@@ -258,11 +291,14 @@ - fi - OSNUMBER=2 - EXTERNTARGET=pd_darwin -+ - if test x$jack == "xyes"; - then -- LDFLAGS=$LDFLAGS" -framework Jack" -- MORECFLAGS=$MORECFLAGS" -DUSEAPI_JACK" -- SYSSRC=$SYSSRC" s_audio_jack.c" -+ LDFLAGS=$LDFLAGS" -weak_framework Jack" -+ fi -+ if test x$jack == "xrun"; -+ then -+ LDFLAGS=$LDFLAGS" -weak_framework Jack" - fi - fi - -@@ -272,13 +308,11 @@ - then - MORECFLAGS=$MORECFLAGS" -DUSEAPI_JACK" - SYSSRC=$SYSSRC" s_audio_jack.c" -- LDFLAGS=$LDFLAGS" -lrt -ljack" - fi - if test x$jack == "xrun"; - then - MORECFLAGS=$MORECFLAGS" -DUSEAPI_JACK -DJACK_XRUN" - SYSSRC=$SYSSRC" s_audio_jack.c" -- LDFLAGS=$LDFLAGS" -lrt -ljack" - fi - - # extra flags for alpha machines -Index: makefile.in -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/makefile.in,v -retrieving revision 1.6 -diff -u -w -r1.6 makefile.in ---- makefile.in 18 May 2005 04:28:51 -0000 1.6 -+++ makefile.in 7 Jun 2005 00:14:52 -0000 -@@ -97,11 +97,17 @@ - cp u_main.tk $(BIN_DIR)/pd.tk - - #this is for Max OSX only... --$(BIN_DIR)/pdtcl: $(GOBJ) $(GSRC) -- cd ../obj; libtool -dynamic -o $(BIN_DIR)/pdtcl $(GOBJ) \ -- ../../Frameworks/Tk.framework/Versions/Current/Tk \ -- ../../Frameworks/Tcl.framework/Versions/Current/Tcl \ -- /usr/lib/libSystem.B.dylib -+$(BIN_DIR)/libPdTcl.dylib: $(GOBJ) $(GSRC) -+ cd ../obj && $(CC) -dynamiclib -read_only_relocs warning \ -+ -o $(BIN_DIR)/libPdTcl.dylib $(GOBJ) \ -+ -F@TCLTK_FRAMEWORKS_PATH@ \ -+ -framework Tcl -framework Tk -framework System \ -+ -Wl,-install_name,@executable_path/../Resources/bin/libPdTcl.dylib -+ install_name_tool -change @TCLTK_FRAMEWORKS_PATH@/Tcl.framework/Versions/8.4/Tcl\ -+ @executable_path/../Frameworks/Tcl.framework/Versions/8.4/Tcl \ -+ -change @TCLTK_FRAMEWORKS_PATH@/Tk.framework/Versions/8.4/Tk \ -+ @executable_path/../Frameworks/Tk.framework/Versions/8.4/Tk \ -+ ../bin/libPdTcl.dylib - - externs: - cd ../extra/bonk~;make @EXTERNTARGET@ -Index: u_main.tk -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v -retrieving revision 1.9 -diff -u -w -r1.9 u_main.tk ---- u_main.tk 18 May 2005 04:28:51 -0000 1.9 -+++ u_main.tk 7 Jun 2005 00:14:52 -0000 -@@ -48,7 +48,7 @@ - global pd_tearoff - set pd_gui2 [string range $argv0 0 [expr [string last / $argv0 ] - 1]] - set pd_guidir $pd_gui2/.. -- load $pd_guidir/bin/pdtcl -+ load $pd_guidir/bin/libPdTcl.dylib - set pd_tearoff 0 - - # tk::mac::OpenDocument is called with the filenames put into the diff --git a/packages/darwin_app/patches/display_tweaks.patch b/packages/darwin_app/patches/display_tweaks.patch deleted file mode 100644 index 59771854..00000000 --- a/packages/darwin_app/patches/display_tweaks.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- ../../pd/src/u_main.tk Thu Jun 9 11:54:59 2005 -+++ build/Pd.app/Contents/Resources/bin/pd.tk Thu Jun 9 16:17:58 2005 -@@ -37,6 +37,12 @@ - if {$pd_nt == 2} { - # turn on James Tittle II's fast drawing (wait until I can test this...): - # set tk::mac::useCGDrawing 1 -+ # set minimun line size for anti-aliasing. If set to 1 or 0, then every -+ # line will be anti-aliased. While this makes connections and circles in -+ # [bng] and such look really good, it makes boxes and messages look out of -+ # focus. Setting this to 2 makes it so the thick audio rate connections -+ # are anti-aliased. 2005-06-09 -+ set tk::mac::CGAntialiasLimit 2 - global pd_guidir - global pd_tearoff - set pd_gui2 [string range $argv0 0 [expr [string last / $argv0 ] - 1]] -@@ -158,7 +164,7 @@ - - - frame .printout --text .printout.text -relief raised -bd 2 -font -*-courier-bold--normal--12-* \ -+text .printout.text -relief raised -bd 2 -font { courier 12 } \ - -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 +343,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 14 } \ - -yscrollcommand "$name.scroll set" -background white - scrollbar $name.scroll -command "$name.text yview" - pack $name.scroll -side right -fill y diff --git a/packages/darwin_app/patches/extended-help-menu.patch b/packages/darwin_app/patches/extended-help-menu.patch deleted file mode 100644 index 00809abb..00000000 --- a/packages/darwin_app/patches/extended-help-menu.patch +++ /dev/null @@ -1,174 +0,0 @@ -Index: u_main.tk -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/u_main.tk,v ---- pd-0.38-4/src/u_main.tk Sun Feb 20 20:03:36 2005 -+++ u_main.tk Wed Nov 16 00:33:02 2005 -@@ -374,22 +374,41 @@ - set help_directory $pd_guidir/doc - set help_top_directory $pd_guidir/doc - -+################## generate_menu_doc_link ######################### -+# This procedure generates a temporary mirror of the documentation directory -+# in /tmp so that it can be opened from the Help->Pure Documentation... menu -+# under Mac OS X. It is meant to be run at startup. -+# Damn you Apple and your "hide stuff from the user" "features". -+# -+proc generate_menu_doc_link {} { -+ global help_directory -+ -+ regsub -all "/" $help_directory "." help_directory_alias -+ set help_directory_alias /tmp/$help_directory_alias -+ set help_directory_tmpdir $help_directory_alias/doc -+ # if something other than a directory exists, delete it -+ if [file exists $help_directory_alias] { -+ file delete -force -- $help_directory_alias -+ } -+ if { ! [ file isdirectory $help_directory_tmpdir ] } { -+ file mkdir $help_directory_tmpdir -+ } -+ foreach file [ lsort [ glob -dir $help_directory * ] ] { -+ regsub -all ".*/" $file "" link_file_name -+ file link -symbolic [file join $help_directory_tmpdir $link_file_name ] $file -+ } -+ set help_directory $help_directory_tmpdir -+} -+ -+################## menu_documentation ######################### - proc menu_documentation {} { - global help_directory - global pd_nt - global pd_guidir - -- if {$pd_nt == 2} { -- exec rm -rf /tmp/pd-documentation -- exec cp -pr $pd_guidir/doc /tmp/pd-documentation -- set filename [tk_getOpenFile -defaultextension .pd \ -- -filetypes { {{documentation} {.pd .txt .htm}} } \ -- -initialdir /tmp/pd-documentation] -- } else { - set filename [tk_getOpenFile -defaultextension .pd \ - -filetypes { {{documentation} {.pd .txt .htm}} } \ - -initialdir $help_directory] -- } - if {$filename != ""} { - if {[string first .txt $filename] >= 0} { - menu_opentext $filename -@@ -411,35 +430,57 @@ - - set dirname $pd_guidir/$subdir - -+ set file_type [file type $dirname/$basename] -+ if { $file_type == "directory" } { -+ pd [concat pd open [pdtk_enquote $basename] \ -+ [pdtk_enquote $dirname] \;] -+ } else { - if {[regexp ".*\.(txt|c)$" $basename]} { - menu_opentext $dirname/$basename -+ } elseif {[regexp ".*\.(pd|max)$" $basename]} { -+ pd [concat pd open [pdtk_enquote $basename] \ -+ [pdtk_enquote $dirname] \;] - } elseif {[regexp ".*\.html?$" $basename]} { - menu_openhtml $dirname/$basename - } else { -- pd [concat pd open [pdtk_enquote $basename] \ -- [pdtk_enquote $dirname] \;] -+ menu_openhtml $dirname/$basename -+ } - } - } - --proc doc_submenu {helpmenu subdir} { -- global help_top_directory pd_tearoff -- -- set menudir $help_top_directory/$subdir - -- regsub -all "\\\." $subdir "" submenu -+################## menu_doc_submenu ######################### - -+# this is a recursive function to generation a nested menu in the help menu -+# which shows the complete contents of the doc directory -+proc menu_doc_submenu {helpmenu base_dir sub_dir} { -+ global pd_tearoff -+ global help_top_directory -+ -+ set menu_dir $help_top_directory/$base_dir/$sub_dir -+ -+ foreach file [ lsort [ glob -nocomplain -dir $menu_dir * ] ] { -+ set file_type [file type $file] -+ regsub {.*/(.*$)} $file {\1} file_name -+ # If links are going to be used then there needs to be a check to see if each -+ # link might cause this function to recurse forever -+ # if { $file_type == "link"} { -+ # puts stderr "LINK: $file" -+ # } -+ if { $file_type == "file" } { -+ # only put certain file types on the menu -+ if {[regexp ".*\.(htm|html|c|pd|txt|pdf|wav|aif|aiff)$" $file]} { -+ $helpmenu add command -label $file_name \ -+ -command "menu_doc_open doc/$base_dir/$sub_dir $file_name" -+ } -+ } elseif { $file_type == "directory" } { -+ regsub -all "\\\." [string tolower $file_name] "" submenu - menu $helpmenu.$submenu -tearoff $pd_tearoff -- regsub -all "\\\." $subdir " " submenuname -+ regsub -all "\\\." $file_name " " submenuname - $helpmenu add cascade -label $submenuname \ - -menu $helpmenu.$submenu -- --# use this glob pattern to exclude the supporting files --# foreach file [ lsort [ glob -dir $menudir {*[0-9][0-9]*} ] ] -- foreach file [ lsort [ glob -dir $menudir * ] ] { -- set filename "" -- regsub {.*/(.*\..+$)} $file {\1} filename -- $helpmenu.$submenu add command -label $filename \ -- -command "menu_doc_open doc/$subdir $filename" -+ menu_doc_submenu $helpmenu.$submenu $base_dir/$sub_dir [file tail $file] -+ } - } - } - -@@ -494,7 +535,18 @@ - - - # the "Help" menu -- if {$pd_nt != 2} { -+ if {$pd_nt == 2} { -+# Apple doesn't allow cascading menus in their Help so I had to call this -+# one "docs" -+ generate_menu_doc_link -+ $mbar.docs add command -label {Browse Documentation...} \ -+ -command {menu_documentation} -+ # the help menu only really works well on Mac OS X -+ $mbar.docs add command -label {Pd HTML Manual...} \ -+ -command {menu_doc_open doc/1.manual index.htm} -+ $mbar.docs add separator -+ menu_doc_submenu $mbar.docs "." "." -+ } else { - # a menu on the main menubar named "$whatever.help" while be treated - # as a special menu with specific behaviors on different platforms. - # See SPECIAL MENUS IN MENUBARS http://www.tcl.tk/man/tcl8.4/TkCmd/menu.htm -@@ -502,22 +554,9 @@ - -command {menu_doc_open doc/1.manual 1.introduction.txt} - $mbar.help add command -label {Pure Documentation...} \ - -command {menu_documentation} -- # add menu items for each section instead of using Pd patches -- $mbar.help add separator -- set helpmenuname help -- } else { --# Apple doesn't allow cascading menus in their Help so I had to call this --# one "docs" -- set helpmenuname docs -- } -- -- $mbar.$helpmenuname add command -label {1 manual...} \ -+ $mbar.help add command -label {1 manual...} \ - -command {menu_doc_open doc/1.manual index.htm} -- doc_submenu $mbar.$helpmenuname 2.control.examples -- doc_submenu $mbar.$helpmenuname 3.audio.examples -- doc_submenu $mbar.$helpmenuname 4.fft.examples -- doc_submenu $mbar.$helpmenuname 5.reference -- doc_submenu $mbar.$helpmenuname 6.externs -+ } - } - - #################### the "File" menu for the Pd window ############## diff --git a/packages/darwin_app/patches/special_chars_hack.patch b/packages/darwin_app/patches/special_chars_hack.patch deleted file mode 100644 index 63effe65..00000000 --- a/packages/darwin_app/patches/special_chars_hack.patch +++ /dev/null @@ -1,58 +0,0 @@ -Index: s_loader.c -=================================================================== -RCS file: /cvsroot/pure-data/pd/src/s_loader.c,v -retrieving revision 1.6 -diff -u -w -r1.6 s_loader.c ---- s_loader.c 30 May 2005 03:04:19 -0000 1.6 -+++ s_loader.c 15 Nov 2005 22:28:41 -0000 -@@ -49,7 +49,7 @@ - int sys_load_lib(char *dirname, char *classname) - { - char symname[MAXPDSTRING], filename[MAXPDSTRING], dirbuf[MAXPDSTRING], -- classname2[MAXPDSTRING], *nameptr, *lastdot; -+ classname2[MAXPDSTRING], *nameptr, *lastdot, tmptildestr[MAXPDSTRING]; - void *dlobj; - t_xxx makeout = NULL; - int fd; -@@ -96,9 +96,40 @@ - #else - strcpy(symname, nameptr); - #endif -+ /* -+ * this is a quick hack to get the matrix externals working as single -+ * files. This should be done with hex translation of special characters -+ * -+ */ - /* if the last character is a tilde, replace with "_tilde" */ - if (symname[strlen(symname) - 1] == '~') -- strcpy(symname + (strlen(symname) - 1), "_tilde"); -+ { -+ strcpy(symname + (strlen(symname) - 1), ""); -+ strcpy(tmptildestr, "_tilde"); -+ } -+ else -+ { -+ strcpy(tmptildestr, ""); -+ } -+ switch (symname[strlen(symname) - 1]) -+ { -+ case '.': -+ strcpy(symname + (strlen(symname) - 1), "_dot"); -+ break; -+ case '+': -+ strcpy(symname + (strlen(symname) - 1), "_plus"); -+ break; -+ case '-': -+ strcpy(symname + (strlen(symname) - 1), "_hyphen"); -+ break; -+ case '*': -+ strcpy(symname + (strlen(symname) - 1), "_asterisk"); -+ break; -+ case '^': -+ strcpy(symname + (strlen(symname) - 1), "_caret"); -+ break; -+ } -+ strcat(symname, tmptildestr); - /* and append _setup to form the C setup function name */ - strcat(symname, "_setup"); - #ifdef DL_OPEN diff --git a/packages/darwin_app/patches/weak_linking.patch b/packages/darwin_app/patches/weak_linking.patch deleted file mode 100644 index fa0f6601..00000000 --- a/packages/darwin_app/patches/weak_linking.patch +++ /dev/null @@ -1,22 +0,0 @@ -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 25 Jul 2005 01:59:05 -0000 -@@ -85,9 +85,12 @@ - $(BIN_DIR)/pdreceive: u_pdreceive.c - $(CC) $(CFLAGS) $(STRIPFLAG) -o $(BIN_DIR)/pdreceive u_pdreceive.c - -+# MACOSX_DEPLOYMENT_TARGET=10.2 is necessary on Mac OS X to support weak -+# linking of frameworks. Since its just a environment variable, it should be -+# safely ignored on other platforms. - $(PDEXEC): $(OBJ) -- cd ../obj; $(CC) $(LDFLAGS) $(DBG_CFLAGS) -o $(PDEXEC) $(OBJ) \ -- $(LIB) -+ cd ../obj; MACOSX_DEPLOYMENT_TARGET=10.2 $(CC) $(LDFLAGS) $(DBG_CFLAGS) \ -+ -o $(PDEXEC) $(OBJ) $(LIB) - - $(BIN_DIR)/pd-gui: $(GOBJ) $(GSRC) - cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(GOBJ) \ -- cgit v1.2.1