diff options
Diffstat (limited to 'PC/os2vacpp/readme.txt')
-rw-r--r-- | PC/os2vacpp/readme.txt | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/PC/os2vacpp/readme.txt b/PC/os2vacpp/readme.txt deleted file mode 100644 index dc58604..0000000 --- a/PC/os2vacpp/readme.txt +++ /dev/null @@ -1,119 +0,0 @@ -IBM VisualAge C/C++ for OS/2 -============================ - -To build Python for OS/2, change into ./os2vacpp and issue an 'NMAKE' -command. This will build a PYTHON15.DLL containing the set of Python -modules listed in config.c and a small PYTHON.EXE to start the -interpreter. - -By changing the C compiler flag /Gd- in the makefile to /Gd+, you can -reduce the size of these by causing Python to dynamically link to the -C runtime DLLs instead of including their bulk in your binaries. -However, this means that any system on which you run Python must have -the VAC++ compiler installed in order to have those DLLs available. - -During the build process you may see a couple of harmless warnings: - - From the C Compiler, "No function prototype given for XXX", which - comes from the use of K&R parameters within Python for portability. - - From the ILIB librarian, "Module Not Found (XXX)", which comes - from its attempt to perform the (-+) operation, which removes and - then adds a .OBJ to the library. The first time a build is done, - it obviously cannot remove what is not yet built. - -This build includes support for most Python functionality as well as -TCP/IP sockets. It omits the Posix ability to 'fork' a process but -supports threads using OS/2 native capabilities. I have tried to -support everything possible but here are a few usage notes. - - --- os.popen() Usage Warnings - -With respect to my implementation of popen() under OS/2: - - import os - - fd = os.popen("pkzip.exe -@ junk.zip", 'wb') - fd.write("file1.txt\n") - fd.write("file2.txt\n") - fd.write("file3.txt\n") - fd.write("\x1a") # Should Not Be Necessary But Is - fd.close() - -There is a bug, either in the VAC++ compiler or OS/2 itself, where the -simple closure of the write-side of a pipe -to- a process does not -send an EOF to that process. I find I must explicitly write a -control-Z (EOF) before closing the pipe. This is not a problem when -using popen() in read mode. - -One other slight difference with my popen() is that I return None -from the close(), instead of the Unix convention of the return code -of the spawned program. I could find no easy way to do this under -OS/2. - - --- BEGINLIBPATH/ENDLIBPATH - -With respect to environment variables, this OS/2 port supports the -special-to-OS/2 magic names of 'BEGINLIBPATH' and 'ENDLIBPATH' to -control where to load conventional DLLs from. Those names are -intercepted and converted to calls on the OS/2 kernel APIs and -are inherited by child processes, whether Python-based or not. - -A few new attributes have been added to the os module: - - os.meminstalled # Count of Bytes of RAM Installed on Machine - os.memkernel # Count of Bytes of RAM Reserved (Non-Swappable) - os.memvirtual # Count of Bytes of Virtual RAM Possible - os.timeslice # Duration of Scheduler Timeslice, in Milliseconds - os.maxpathlen # Maximum Length of a Path Specification, in chars - os.maxnamelen # Maximum Length of a Single Dir/File Name, in chars - os.version # Version of OS/2 Being Run e.g. "4.00" - os.revision # Revision of OS/2 Being Run (usually zero) - os.bootdrive # Drive that System Booted From e.g. "C:" - # (useful to find the CONFIG.SYS used to boot with) - - --- Using Python as the Default OS/2 Batch Language - -Note that OS/2 supports the Unix technique of putting the special -comment line at the time of scripts e.g. "#!/usr/bin/python" in -a different syntactic form. To do this, put your script into a file -with a .CMD extension and added 'extproc' to the top as follows: - - extproc C:\Python\Python.exe -x - import os - print "Hello from Python" - -The '-x' option tells Python to skip the first line of the file -while processing the rest as normal Python source. - - --- Suggested Environment Variable Setup - -With respect to the environment variables for Python, I use the -following setup: - - Set PYTHONHOME=E:\Tau\Projects\Python;D:\DLLs - Set PYTHONPATH=.;E:\Tau\Projects\Python\Lib; \ - E:\Tau\Projects\Python\Lib\plat-win - -The EXEC_PREFIX (optional second pathspec on PYTHONHOME) is where -you put any Python extension DLLs you may create/obtain. There -are none provided with this release. - - --- Contact Info - -Jeff Rush is no longer supporting the VACPP port :-( - -I don't have the VACPP compiler, so can't reliably maintain this port. - -Anyone with VACPP who can contribute patches to keep this port buildable -should upload them to the Python Patch Manager at Sourceforge and -assign them to me for review/checkin. - -Andrew MacIntyre -aimacintyre at users.sourceforge.net -August 18, 2002. |