From ccf66b2dfaa67669d94c5fdaeb8477c4bca17aa6 Mon Sep 17 00:00:00 2001
From: Thomas Grill <xovo@users.sourceforge.net>
Date: Thu, 23 Mar 2006 20:28:27 +0000
Subject: enable compiled-only scripts (without .py) small fixes for OSX small
 fix pyext: fix for missing __init__ attribute small fixes for Max/OSX enable
 module packages (module/__init__.py[co]), now also for Max

svn path=/trunk/; revision=4755
---
 externals/grill/py/py.xcode/project.pbxproj | 152 ++++++++++++++++++++--------
 externals/grill/py/readme.txt               |   2 +-
 externals/grill/py/source/pybase.cpp        |   5 +-
 3 files changed, 112 insertions(+), 47 deletions(-)

(limited to 'externals/grill/py')

diff --git a/externals/grill/py/py.xcode/project.pbxproj b/externals/grill/py/py.xcode/project.pbxproj
index e35194df..48155944 100644
--- a/externals/grill/py/py.xcode/project.pbxproj
+++ b/externals/grill/py/py.xcode/project.pbxproj
@@ -35,12 +35,12 @@
 		};
 		089C1671FE841209C02AAC07 = {
 			children = (
-				E97CEC9508E803C600535D83,
-				E97CEBE008E8039F00535D83,
+				E9D6762D08FC61860039A6F6,
+				E9D6762E08FC61860039A6F6,
+				E9D6762F08FC61860039A6F6,
+				E9D6763008FC61860039A6F6,
 				E926B819089F78400034D534,
 				E926B817089F782F0034D534,
-				E926B815089F77F10034D534,
-				E926B813089F77DE0034D534,
 				E90E52D208091F79001341AC,
 				E90E521108091CA5001341AC,
 				E90E51FB080919EC001341AC,
@@ -52,6 +52,8 @@
 		};
 		08FB77ADFE841716C02AAC07 = {
 			children = (
+				E903AC8C09D32D03004755CA,
+				E903AC8D09D32D03004755CA,
 				E90043820887A302008AEAFC,
 				E90043830887A302008AEAFC,
 				E90043840887A302008AEAFC,
@@ -117,7 +119,7 @@
 				GCC_ENABLE_FIX_AND_CONTINUE = YES;
 				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
 				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREPROCESSOR_DEFINITIONS = "$(GCC_PREPROCESSOR_DEFINITIONS) FLEXT_DEBUG";
+				GCC_PREPROCESSOR_DEFINITIONS = "$(GCC_PREPROCESSOR_DEFINITIONS) FLEXT_DEBUG FLEXT_THREADS";
 				LIBRARY_STYLE = STATIC;
 				OPTIMIZATION_CFLAGS = "-O0";
 				ZERO_LINK = YES;
@@ -129,6 +131,7 @@
 			buildSettings = {
 				COPY_PHASE_STRIP = YES;
 				GCC_ENABLE_FIX_AND_CONTINUE = NO;
+				GCC_PREPROCESSOR_DEFINITIONS = "$(GCC_PREPROCESSOR_DEFINITIONS) FLEXT_SHARED";
 				ZERO_LINK = NO;
 			};
 			isa = PBXBuildStyle;
@@ -219,6 +222,48 @@
 			settings = {
 			};
 		};
+		E903AC8C09D32D03004755CA = {
+			fileEncoding = 30;
+			isa = PBXFileReference;
+			lastKnownFileType = sourcecode.cpp.cpp;
+			name = pybundle.cpp;
+			path = source/pybundle.cpp;
+			refType = 4;
+			sourceTree = "<group>";
+		};
+		E903AC8D09D32D03004755CA = {
+			fileEncoding = 30;
+			isa = PBXFileReference;
+			lastKnownFileType = sourcecode.c.h;
+			name = pybundle.h;
+			path = source/pybundle.h;
+			refType = 4;
+			sourceTree = "<group>";
+		};
+		E903AC8E09D32D03004755CA = {
+			fileRef = E903AC8C09D32D03004755CA;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E903AC8F09D32D03004755CA = {
+			fileRef = E903AC8D09D32D03004755CA;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E903AC9009D32D03004755CA = {
+			fileRef = E903AC8C09D32D03004755CA;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E903AC9109D32D03004755CA = {
+			fileRef = E903AC8D09D32D03004755CA;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
 		E90E51DB08091989001341AC = {
 			fileEncoding = 30;
 			isa = PBXFileReference;
@@ -397,6 +442,7 @@
 				E90E52ED08092581001341AC,
 				E90043880887A302008AEAFC,
 				E900438A0887A302008AEAFC,
+				E903AC9109D32D03004755CA,
 			);
 			isa = PBXHeadersBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -418,6 +464,7 @@
 				E90043870887A302008AEAFC,
 				E90043890887A302008AEAFC,
 				E900438B0887A302008AEAFC,
+				E903AC9009D32D03004755CA,
 			);
 			isa = PBXSourcesBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -425,10 +472,11 @@
 		E90E52E408092505001341AC = {
 			buildActionMask = 2147483647;
 			files = (
+				E9D6763108FC619F0039A6F6,
+				E9D6763208FC619F0039A6F6,
 				E90E535B08092593001341AC,
 				E90E535D08092593001341AC,
 				E90E535E08092593001341AC,
-				E97CEC9608E803C600535D83,
 			);
 			isa = PBXFrameworksBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -449,10 +497,11 @@
 				GCC_MODEL_CPU = G4;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 				GCC_PREFIX_HEADER = source/pyprefix.h;
-				GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2 FLEXT_THREADS";
-				HEADER_SEARCH_PATHS = "/usr/local/include/flext $(PDApp)/src";
+				GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2";
+				HEADER_SEARCH_PATHS = "$(flext)/source $(PDApp)/src";
 				INSTALL_PATH = "$(PDApp)/extra";
-				LIBRARY_STYLE = BUNDLE;
+				LIBRARY_SEARCH_PATHS = "$(flext)/build";
+				LIBRARY_STYLE = DYNAMIC;
 				OTHER_CFLAGS = "";
 				OTHER_LDFLAGS = "-bundle_loader $(PDApp)/bin/pd";
 				OTHER_REZFLAGS = "";
@@ -593,6 +642,7 @@
 		E926B6CF089F75950034D534 = {
 			buildActionMask = 2147483647;
 			files = (
+				E903AC8F09D32D03004755CA,
 			);
 			isa = PBXResourcesBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -621,6 +671,7 @@
 				E926B6EA089F76D90034D534,
 				E926B6EB089F76D90034D534,
 				E926B6EC089F76D90034D534,
+				E903AC8E09D32D03004755CA,
 			);
 			isa = PBXSourcesBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -628,12 +679,13 @@
 		E926B6D1089F75950034D534 = {
 			buildActionMask = 2147483647;
 			files = (
+				E9D6763308FC61A40039A6F6,
+				E9D6763408FC61A40039A6F6,
 				E926B833089F7CB50034D534,
 				E926B7B6089F77B90034D534,
 				E926B6F4089F77B20034D534,
 				E926B818089F782F0034D534,
 				E926B81A089F78400034D534,
-				E97CEBE108E803A000535D83,
 			);
 			isa = PBXFrameworksBuildPhase;
 			runOnlyForDeploymentPostprocessing = 0;
@@ -650,11 +702,11 @@
 				GCC_ALTIVEC_EXTENSIONS = YES;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
 				GCC_PREFIX_HEADER = source/pyprefix.h;
-				GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1 FLEXT_THREADS";
+				GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1";
 				GENERATE_PKGINFO_FILE = YES;
-				HEADER_SEARCH_PATHS = "/usr/local/include/flext \"/Users/thomas/Develop/MaxMSP-SDK/4.5 Headers/c74support/max-includes\" \"/Users/thomas/Develop/MaxMSP-SDK/4.5 Headers/c74support/msp-includes\"";
+				HEADER_SEARCH_PATHS = "$(flext)/source $(MaxSDK)/max-includes $(MaxSDK)/msp-includes";
 				INFOPLIST_FILE = "py-Info.plist";
-				LIBRARY_SEARCH_PATHS = "\"/Users/thomas/Develop/MaxMSP-SDK/4.5 headers/c74support/max-includes\" \"/Users/thomas/Develop/MaxMSP-SDK/4.5 headers/c74support/msp-includes\"";
+				LIBRARY_SEARCH_PATHS = "$(MaxSDK)/max-includes $(MaxSDK)/msp-includes";
 				OTHER_CFLAGS = "";
 				OTHER_REZFLAGS = "";
 				PRODUCT_NAME = py;
@@ -848,22 +900,6 @@
 			settings = {
 			};
 		};
-		E926B813089F77DE0034D534 = {
-			isa = PBXFileReference;
-			lastKnownFileType = archive.ar;
-			name = MaxAPI.lib;
-			path = "/Users/thomas/Develop/MaxMSP-SDK/4.5 headers/c74support/max-includes/MaxAPI.lib";
-			refType = 0;
-			sourceTree = "<absolute>";
-		};
-		E926B815089F77F10034D534 = {
-			isa = PBXFileReference;
-			lastKnownFileType = archive.ar;
-			name = MaxAudio.lib;
-			path = "/Users/thomas/Develop/MaxMSP-SDK/4.5 headers/c74support/msp-includes/MaxAudio.lib";
-			refType = 0;
-			sourceTree = "<absolute>";
-		};
 		E926B817089F782F0034D534 = {
 			isa = PBXFileReference;
 			lastKnownFileType = wrapper.framework;
@@ -898,30 +934,58 @@
 			settings = {
 			};
 		};
-		E97CEBE008E8039F00535D83 = {
+		E9D6762D08FC61860039A6F6 = {
 			isa = PBXFileReference;
-			lastKnownFileType = archive.ar;
-			name = "libflext-max_td.a";
-			path = "/usr/local/lib/libflext-max_td.0.5.1.a";
+			lastKnownFileType = "compiled.mach-o.dylib";
+			name = "libflext-max_d.dylib";
+			path = "/usr/local/lib/libflext-max_d.dylib";
 			refType = 0;
 			sourceTree = "<absolute>";
 		};
-		E97CEBE108E803A000535D83 = {
-			fileRef = E97CEBE008E8039F00535D83;
-			isa = PBXBuildFile;
-			settings = {
-			};
+		E9D6762E08FC61860039A6F6 = {
+			isa = PBXFileReference;
+			lastKnownFileType = "compiled.mach-o.dylib";
+			name = "libflext-max.dylib";
+			path = "/usr/local/lib/libflext-max.dylib";
+			refType = 0;
+			sourceTree = "<absolute>";
 		};
-		E97CEC9508E803C600535D83 = {
+		E9D6762F08FC61860039A6F6 = {
 			isa = PBXFileReference;
-			lastKnownFileType = archive.ar;
-			name = "libflext-pd_td.a";
-			path = "/usr/local/lib/libflext-pd_td.0.5.1.a";
+			lastKnownFileType = "compiled.mach-o.dylib";
+			name = "libflext-pd_d.dylib";
+			path = "/usr/local/lib/libflext-pd_d.dylib";
 			refType = 0;
 			sourceTree = "<absolute>";
 		};
-		E97CEC9608E803C600535D83 = {
-			fileRef = E97CEC9508E803C600535D83;
+		E9D6763008FC61860039A6F6 = {
+			isa = PBXFileReference;
+			lastKnownFileType = "compiled.mach-o.dylib";
+			name = "libflext-pd.dylib";
+			path = "/usr/local/lib/libflext-pd.dylib";
+			refType = 0;
+			sourceTree = "<absolute>";
+		};
+		E9D6763108FC619F0039A6F6 = {
+			fileRef = E9D6762F08FC61860039A6F6;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E9D6763208FC619F0039A6F6 = {
+			fileRef = E9D6763008FC61860039A6F6;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E9D6763308FC61A40039A6F6 = {
+			fileRef = E9D6762D08FC61860039A6F6;
+			isa = PBXBuildFile;
+			settings = {
+			};
+		};
+		E9D6763408FC61A40039A6F6 = {
+			fileRef = E9D6762E08FC61860039A6F6;
 			isa = PBXBuildFile;
 			settings = {
 			};
diff --git a/externals/grill/py/readme.txt b/externals/grill/py/readme.txt
index ecf4d27d..9ebe521f 100644
--- a/externals/grill/py/readme.txt
+++ b/externals/grill/py/readme.txt
@@ -25,7 +25,7 @@ Check out the sample patches and scripts
 
 Installation:
 
-PD version >= 0.38 - Add "py" to the Startup items ("binaries to load")
+PD version >= 0.38 - Add "py" to the Startup items ("binaries to load") and add the folder "scripts" to the pd search path.
 PD version < 0.38 - Load it as i library with e.g. "pd -lib py -path scripts"
 
 Max/MSP - Copy py-objectmappings.txt into the init folder and py.mxe (Windows) or py.mxo (OSX) into the externals folder.
diff --git a/externals/grill/py/source/pybase.cpp b/externals/grill/py/source/pybase.cpp
index c0f2bc44..ffe54852 100644
--- a/externals/grill/py/source/pybase.cpp
+++ b/externals/grill/py/source/pybase.cpp
@@ -2,7 +2,7 @@
 
 py/pyext - python external object for PD and MaxMSP
 
-Copyright (c)2002-2005 Thomas Grill (gr@grrrr.org)
+Copyright (c)2002-2006 Thomas Grill (gr@grrrr.org)
 For information on usage and redistribution, and for a DISCLAIMER OF ALL
 WARRANTIES, see the file, "license.txt," in this distribution.  
 
@@ -493,7 +493,8 @@ static bool getmodulesub(const char *mod,char *dir,int len,char *ext)
     
     if(ok) {
         // convert path into slash style needed for Python
-#if 1
+#if 0
+		// Max API function uses Volume:/Path notation
         path_nameconform(smod,dir,PATH_STYLE_SLASH,PATH_TYPE_ABSOLUTE);
 #else
 #if FLEXT_OS == FLEXT_OS_WIN
-- 
cgit v1.2.1