mirror of https://github.com/python/cpython
dec0757549
* Remove m68k-specific hack from ascii_decode On m68k, alignments of primitives is more relaxed, with 4-byte and 8-byte types only requiring 2-byte alignment, thus using sizeof(size_t) does not work. Instead, use the portable alternative. Note that this is a minimal fix that only relaxes the assertion and the condition for when to use the optimised version remains overly strict. Such issues will be fixed tree-wide in the next commit. NB: In C11 we could use _Alignof(size_t) instead, but for compatibility we use autoconf. * Optimise string routines for architectures with non-natural alignment C only requires that sizeof(x) is a multiple of alignof(x), not that the two are equal. Thus anywhere where we optimise based on alignment we should be using alignof(x) not sizeof(x). This is more annoying than it would be in C11 where we could just use _Alignof(x) (and alignof(x) in C++11), but since we still require only C99 we must plumb the information all the way from autoconf through the various typedefs and defines. |
||
---|---|---|
.. | ||
clinic | ||
icons | ||
layout | ||
WinMain.c | ||
_msi.c | ||
_testconsole.c | ||
classicAppCompat.can.xml | ||
classicAppCompat.cat | ||
classicAppCompat.sccd | ||
config.c | ||
crtlicense.txt | ||
dl_nt.c | ||
empty.c | ||
errmap.h | ||
errmap.mak | ||
frozen_dllmain.c | ||
getpathp.c | ||
invalid_parameter_handler.c | ||
launcher.c | ||
msvcrtmodule.c | ||
pyconfig.h | ||
pylauncher.rc | ||
pyshellext.cpp | ||
pyshellext.def | ||
pyshellext.rc | ||
python.manifest | ||
python3dll.c | ||
python_exe.rc | ||
python_nt.rc | ||
python_uwp.cpp | ||
python_ver_rc.h | ||
pythonw_exe.rc | ||
readme.txt | ||
sqlite3.rc | ||
store_info.txt | ||
testpy.py | ||
validate_ucrtbase.py | ||
winreg.c | ||
winsound.c |
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 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. 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.