diff options
Diffstat (limited to 'Mac/OSX')
-rw-r--r-- | Mac/OSX/README.macosx.txt | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/Mac/OSX/README.macosx.txt b/Mac/OSX/README.macosx.txt deleted file mode 100644 index 560ce66..0000000 --- a/Mac/OSX/README.macosx.txt +++ /dev/null @@ -1,116 +0,0 @@ ---- README.macosx --- - -[1] You need to build Python for macosx. The latest release (2.1b2) - builds out of the box for macosx -- use: - configure --with-dyld --with-suffix=.x - ( get the latest version -- you'll have to fix the build process - to get earlier versions to build.) - - -[2] You need a copy of Apple's Universal Interfaces CIncludes. - - The Carbon.framework include files on macosx are not as backwards - compatible as the ones in Universal Interfaces. For example - UI has a Windows.h file that includes MacWindows.h, while - Carbon.framework only has MacWindows.h - ( actually, it's: HIToolbox.framework/Headers/MacWindows.h ) - - Until macpython sources are converted to be more Carbon compliant - you need to get a copy of Universal Interfaces (downloadable from - Apple's web site if you don't have a copy. If you have Metrowerks - Compiler, there is probably a copy on your CD. ) - - -[3] If your are building from patches, you need to download the cvs - distribution and apply the patches. ( The "If" is there because I - may eventually package this up in a separate patched distribution.) - - cvs -d:pserver:ropython@pythoncvs.oratrix.nl:/hosts/mm/CVSREMOTE login - Password: geheim - - cvs -d:pserver:ropython@pythoncvs.oratrix.nl:/hosts/mm/CVSREMOTE co python/Mac - - The normal macpython distributions have classic-mac line endings. - macosx gnu tools want unix line endings. Getting sources from - the cvs server avoids having to do a bunch of conversions on - the source files. - - - New files (go in python/Mac/Modules/ directory) - README.macosx (this file) - Makefile (makefile also creates a dummy .h file) - Carbonmodule.c - - Patched files: - python/Mac/Python/macglue.c - python/Mac/Modules/Win/Winmodule.c - - -[4] There are two lines you have to edit in the Makefile to point to - Universal Interfaces CIncludes and the Python source distribution. - (eventually, disutils will be used to find the Python sources. - eventually, macpython sources will use the more modern headers.) - - -# Point this to the directory with the Universal Interfaces CIncludes: -UINCLUDE= /Local/Carbon/Universal.Interfaces/CIncludes/ - -# Point this to your python source directory: -PYTHONHOME= /Users/sdm7g/Src/Python-2.1a2/ - - After changing those lines, you can type "make" . - - "-undefined warning" is used rather than "-undefined supress" -- - and there are always some undefined symbols that are resolved - in the main python module. If there is something *REALLY* - unresolved (or often the problem is multiple definitions) - you will get an error on importing Carbonmodule.so. - -[5] Installation is manual for now. - If you want to run it out of the python/Mac/Modules directory, you - need to copy it to /usr/local/lib/python2.1/site-packages/ - ( or whatever is the appropriate directory on your machine ) - - -[6] All of the toolbox modules are built into a single container module - named Carbon. All of the other modules are in the Carbon namespace: - i.e. Carbon.Win. You can do a "from Carbon import *", however all - modules get put into sys.modules under their own name, so once - Carbon has been imported, statements like "import Win" will work -- - there is no Winmodule.so file, but import will find 'Win' in the - sys.modules cache before it tries to match a filename. - - -These are the modules currently linked: - -Python 2.1a2 (#1, 02/12/01, 19:49:54) -[GCC Apple DevKit-based CPP 5.0] on Darwin1.2 -Type "copyright", "credits" or "license" for more information. ->>> import Carbon ->>> dir(Carbon) -['AE', 'App', 'Cm', 'ColorPicker', 'Ctl', 'Dlg', 'Drag', 'Evt', 'Fm', 'HtmlRender', 'Icn', 'List', 'Menu', 'Qd', 'Qdoffs', 'Res', 'Scrap', 'Snd', 'TE', 'Win', '__doc__', '__file__', '__name__', 'macfs'] ->>> - -A simple test: - ->>> import Snd ->>> Snd.SysBeep( 100 ) - -The main one missing is macosmodule, which has some functions for handling -resource forks of files, file types and creators, and how and whether -MacPython handles events or your script does. Some of these functions -require others in Python/macmain.c, which may drag in other symbols, either -undefined or multiply defined ( because there is a unix-Python implementation -parallel to the macpython one. ) It's likely that we will need (or at least -want) new macosx implementations of some of these functions. - -If you're interested in trying to add them, there is an additional target -in the Makefile "make Experimental", which compiles and links with the -$(XXX) modules: currently just macosmodule.c and macmain.c -- you -can add others to try to resolve undefined symbols or edit the files -to remove some symbols or functions. - --- Steve Majewski <sdm7g@Virginia.EDU> - - - |