cpython/PC
Brian Curtin e5aa886b44 Implement #1220212. Add os.kill support for Windows.
os.kill takes one of two newly added signals, CTRL_C_EVENT and
CTRL_BREAK_EVENT, or any integer value. The events are a special case
which work with subprocess console applications which implement a
special console control handler. Any other value but those two will
cause os.kill to use TerminateProcess, outright killing the process.

This change adds win_console_handler.py, which is a script to implement
SetConsoleCtrlHandler and applicable handler function, using ctypes.

subprocess also gets another attribute which is a necessary flag to
creationflags in Popen in order to send the CTRL events.
2010-04-02 23:26:06 +00:00
..
VC6 Capsule-related changes: 2010-04-02 11:01:35 +00:00
VS7.1 Backported PyCapsule from 3.1, and converted most uses of 2010-03-25 00:54:54 +00:00
VS8.0 Backported PyCapsule from 3.1, and converted most uses of 2010-03-25 00:54:54 +00:00
bdist_wininst Set svn:eol-style=CRLF on all Visual Studio solution files. 2009-07-13 19:14:17 +00:00
example_nt Set svn:eol-style=CRLF on all Visual Studio solution files. 2009-07-13 19:14:17 +00:00
icons
os2emx Capsule-related changes: 2010-04-02 11:01:35 +00:00
os2vacpp Backported PyCapsule from 3.1, and converted most uses of 2010-03-25 00:54:54 +00:00
WinMain.c
_msi.c This reverts r63675 based on the discussion in this thread: 2008-06-09 04:58:54 +00:00
_subprocess.c Implement #1220212. Add os.kill support for Windows. 2010-04-02 23:26:06 +00:00
_winreg.c Implement #7347. Add CreateKeyEx, DeleteKeyEx, and update _winreg tests. 2010-04-02 21:18:14 +00:00
config.c Updated MSVC files to follow r73394. 2009-06-14 03:05:54 +00:00
dl_nt.c On Windows, use the Python 'Activation Context' when loading extensions 2009-01-27 23:12:23 +00:00
dllbase_nt.txt
empty.c
errmap.h
errmap.mak
frozen_dllmain.c
generrmap.c
getpathp.c Issue #4494: Fix build with Py_NO_ENABLE_SHARED on Windows. 2009-02-02 14:23:16 +00:00
icons.mak
icons.rc
import_nt.c
make_versioninfo.c
msvcrtmodule.c Stop providing crtassem.h symbols when compiling with 2010-02-18 09:22:20 +00:00
py.ico
pyc.ico
pycon.ico
pyconfig.h Issue #7117 (backport py3k float repr) continued: 2009-10-24 13:28:38 +00:00
python.mk
python_exe.rc
python_nt.rc
readme.txt
testpy.py
w9xpopen.c
winsound.c This reverts r63675 based on the discussion in this thread: 2008-06-09 04:58:54 +00:00

readme.txt

Welcome to the "PC" subdirectory of the Python distribution
***********************************************************

This "PC" subdirectory contains complete project files to make
several older PC ports of Python, as well as all the PC-specific
Python source files.  It should be located in the root of the
Python distribution, and there should be directories "Modules",
"Objects", "Python", etc. in the parent directory of this "PC"
subdirectory.  Be sure to read the documentation in the Python
distribution.

Python requires library files such as string.py to be available in
one or more library directories.  The search path of libraries is
set up when Python starts.  To see the current Python library search
path, start Python and enter "import sys" and "print sys.path".

All PC ports use this scheme to try to set up a module search path:

  1) The script location; the current directory without script.
  2) The PYTHONPATH variable, if set.
  3) For Win32 platforms (NT/95), paths specified in the Registry.
  4) Default directories lib, lib/win, lib/test, lib/tkinter;
     these are searched relative to the environment variable
     PYTHONHOME, if set, or relative to the executable and its
     ancestors, if a landmark file (Lib/string.py) is found ,
     or the current directory (not useful).
  5) The directory containing the executable.

The best installation strategy is to put the Python executable (and
DLL, for Win32 platforms) in some convenient directory such as
C:/python, and copy all library files and subdirectories (using XCOPY)
to C:/python/lib.  Then you don't need to set PYTHONPATH.  Otherwise,
set the environment variable PYTHONPATH to your Python search path.
For example,
   set PYTHONPATH=.;d:\python\lib;d:\python\lib\win;d:\python\lib\dos-8x3

There are several add-in modules to build Python programs which use
the native Windows operating environment.  The ports here just make
"QuickWin" and DOS Python versions which support a character-mode
(console) environment.  Look in www.python.org for Tkinter, PythonWin,
WPY and wxPython.

To make a Python port, start the Integrated Development Environment
(IDE) of your compiler, and read in the native "project file"
(or makefile) provided.  This will enable you to change any source
files or build settings so you can make custom builds.

pyconfig.h    An important configuration file specific to PC's.

config.c    The list of C modules to include in the Python PC
            version.  Manually edit this file to add or
            remove Python modules.

testpy.py   A Python test program.  Run this to test your
            Python port.  It should produce copious output,
	    ending in a report on how many tests were OK, how many
	    failed, and how many were skipped.  Don't worry about
	    skipped tests (these test unavailable optional features).


Additional files and subdirectories for 32-bit Windows
======================================================

python_nt.rc   Resource compiler input for python15.dll.

dl_nt.c, import_nt.c
               Additional sources used for 32-bit Windows features.

getpathp.c     Default sys.path calculations (for all PC platforms).

dllbase_nt.txt A (manually maintained) list of base addresses for
               various DLLs, to avoid run-time relocation.

example_nt     A subdirectory showing how to build an extension as a
               DLL.

Legacy support for older versions of Visual Studio
==================================================
The subdirectories VC6, VS7.1 and VS8.0 contain legacy support older
versions of Microsoft Visual Studio. See PCbuild/readme.txt.

EMX development tools for OS/2
==============================

See os2emx/readme.txt. This platform is maintained by Andrew MacIntyre.

IBM VisualAge C/C++ for OS/2
============================

See os2vacpp/readme.txt.  This platform is supported by Jeff Rush.

NOTE: Support for os2vacpp may be dropped in the near future. Please move
      to EMX.

Note for Windows 3.x and DOS users
==================================

Neither Windows 3.x nor DOS is supported any more.  The last Python
version that supported these was Python 1.5.2; the support files were
present in Python 2.0 but weren't updated, and it is not our intention
to support these platforms for Python 2.x.