aboutsummaryrefslogtreecommitdiff
path: root/packages/patches/darwin/darwin_linking_fixes.patch
blob: dd1c2db30116f9fb13c18943e13607b1040d433e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
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