diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2005-11-21 04:39:02 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2005-11-21 04:39:02 +0000 |
commit | c67180156bb011ebe9a0524757052a28a6c62692 (patch) | |
tree | a0c3e3660a926a44c1254516338ac83cff0d05b2 /packages/patches/darwin | |
parent | 3382e067199abb3bb8fcb2044711910640a459c1 (diff) |
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
Diffstat (limited to 'packages/patches/darwin')
-rw-r--r-- | packages/patches/darwin/darwin_display_tweaks.patch | 33 | ||||
-rw-r--r-- | packages/patches/darwin/darwin_jack_weak_linking.patch | 22 | ||||
-rw-r--r-- | packages/patches/darwin/darwin_linking_fixes.patch | 149 |
3 files changed, 204 insertions, 0 deletions
diff --git a/packages/patches/darwin/darwin_display_tweaks.patch b/packages/patches/darwin/darwin_display_tweaks.patch new file mode 100644 index 00000000..59771854 --- /dev/null +++ b/packages/patches/darwin/darwin_display_tweaks.patch @@ -0,0 +1,33 @@ +--- ../../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. <hans@at.or.at> 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/patches/darwin/darwin_jack_weak_linking.patch b/packages/patches/darwin/darwin_jack_weak_linking.patch new file mode 100644 index 00000000..fa0f6601 --- /dev/null +++ b/packages/patches/darwin/darwin_jack_weak_linking.patch @@ -0,0 +1,22 @@ +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. <hans@eds.org> + $(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) \ diff --git a/packages/patches/darwin/darwin_linking_fixes.patch b/packages/patches/darwin/darwin_linking_fixes.patch new file mode 100644 index 00000000..dd1c2db3 --- /dev/null +++ b/packages/patches/darwin/darwin_linking_fixes.patch @@ -0,0 +1,149 @@ +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 |