home *** CD-ROM | disk | FTP | other *** search
- # -*- indented-text -*-
- #
- # This file is part of the Python for OpenSTEP package.
- #
-
- Python for OpenSTEP, Version 0.01
-
- This package will let you build your Python interpreter as any other
- native ProjectBuilder project.
-
- You will get a dynamically loadable framework containing the shared
- library, which is the sum of the standard libPython.a, libParser.a,
- libObjects.a and libModules.a with all the published headers; it also
- contains, as resources, the Python Library and possible series of
- bundles containing extension. And of course the interpreter, built on
- top of the framework.
-
- It is a perfectly standard Python plus the support for the new dynamic
- loading capabilities of OpenSTEP 4.1. The interpreter knows how to load
- shared modules, both "bundled" ones and the traditional .so modules,
- but the current implementation of the dynamic loader on OpenSTEP is
- not able to actually load traditional .so modules... but you have
- Bundles! This implies that you shouldn't put '*share* in your Setups:
- the machinery to handle them works ok, and they get installed as
- resources of the framework, but python won't load them. Converting a
- .so module to a bundle is simple: just follow the included pyrl.bundle
- model. I will think about an automatic generator for them, maybe
- adding a *bundled* directive to the Setups.
-
- For sure it's not a perfectly running Python, since it has bugs that
- should be removed before public consumption, and I will fix them,
- sooner or later... but let me know about the ones you discover.
-
- The main one is the following: when you launch the interpreter, there
- is a considerable delay from when you see the banner to when you get
- the prompt. It may depend on the time it takes to load the framework,
- I really don't know, and I will investigate on it first.
-
-
- StEP by StEP
-
- The package is implemented as a wrapper around the standard
- distribution. It was very easy to write a PB project, a little harder
- the work done trying to minimize the distribution, that is already too
- big to be nice. To do this I added the ability of automatically
- populate the project linking the appropriate sources directly from the
- standard distribution (BTW, this is actually done with hard links,
- implying that the package *must* on the same device!).
-
- Configure the interpreter as usual, and change Modules/Setup as
- needed: as I already said, be sure to remove the *shared* directive,
- since a) you won't be able to load shared modules, b) since this is a
- framework, also normal "static" modules are shared!, c) you may prefer
- "bundling" modules, expecially when they needs external libraries. On
- this topic, I suggest you to look at Python.fproj/pyrl.bproj/pyrl.m,
- the bundled version of my Pyrl module, there is everything you need to
- know.
-
- Then go to the Contrib/OpenSTEP_PB directory, open its PB.project
- file, or run a direct "gnumake" (BTW, I'm really happy they used GNU
- make for PB!).
-
- The first time this will create a Makefile.config executing a Perl
- Script (;-) on the config.status created by configure, containing
- every known autoconf variable with its value. After that the needed
- Python sources will be linked in the project directories.
-
- If everything goes well, you will get a python binary, the interpreter
- itself, and a Python.framework directory: to test it out, the simplest
- thing to do is to create a symbolic link in your ~/Library/Frameworks/
- pointing to the framework, then launch the interpreter.
-
- Good luck,
- bye, lele.