Patch to make _codecs a builtin module. This is necessary since
Python 2.3 will support source code encodings which rely on the builtin codecs being available to the parser. Remove struct dependency from codecs.py
This commit is contained in:
parent
b69bb3d019
commit
b28de0d79f
|
@ -7,7 +7,7 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
|
|||
|
||||
"""#"
|
||||
|
||||
import struct, __builtin__
|
||||
import __builtin__, sys
|
||||
|
||||
### Registry and builtin stateless codec functions
|
||||
|
||||
|
@ -48,11 +48,21 @@ BOM_UTF32_LE = '\xff\xfe\x00\x00'
|
|||
# UTF-32, big endian
|
||||
BOM_UTF32_BE = '\x00\x00\xfe\xff'
|
||||
|
||||
# UTF-16, native endianness
|
||||
BOM = BOM_UTF16 = struct.pack('=H', 0xFEFF)
|
||||
if sys.byteorder == 'little':
|
||||
|
||||
# UTF-32, native endianness
|
||||
BOM_UTF32 = struct.pack('=L', 0x0000FEFF)
|
||||
# UTF-16, native endianness
|
||||
BOM = BOM_UTF16 = BOM_UTF16_LE
|
||||
|
||||
# UTF-32, native endianness
|
||||
BOM_UTF32 = BOM_UTF32_LE
|
||||
|
||||
else:
|
||||
|
||||
# UTF-16, native endianness
|
||||
BOM = BOM_UTF16 = BOM_UTF16_BE
|
||||
|
||||
# UTF-32, native endianness
|
||||
BOM_UTF32 = BOM_UTF32_BE
|
||||
|
||||
# Old broken names (don't use in new code)
|
||||
BOM32_LE = BOM_UTF16_LE
|
||||
|
|
|
@ -10,4 +10,4 @@
|
|||
@USE_SIGNAL_MODULE@signal signalmodule.c
|
||||
|
||||
# The rest of the modules previously listed in this file are built
|
||||
# by the setup.py script in Python 2.1.
|
||||
# by the setup.py script in Python 2.1 and later.
|
||||
|
|
|
@ -111,6 +111,7 @@ PYTHONPATH=$(COREPYTHONPATH)
|
|||
posix posixmodule.c # posix (UNIX) system calls
|
||||
errno errnomodule.c # posix (UNIX) errno values
|
||||
_sre _sre.c # Fredrik Lundh's new regular expressions
|
||||
_codecs _codecsmodule.c # access to the builtin codecs and codec registry
|
||||
|
||||
# The rest of the modules listed in this file are all commented out by
|
||||
# default. Usually they can be detected and built as dynamically
|
||||
|
@ -163,7 +164,6 @@ GLHACK=-Dclear=__GLclear
|
|||
#time timemodule.c # -lm # time operations and variables
|
||||
#operator operator.c # operator.add() and similar goodies
|
||||
#_weakref _weakref.c # basic weak reference support
|
||||
#_codecs _codecsmodule.c # access to the builtin codecs and codec registry
|
||||
#_testcapi _testcapimodule.c # Python C API test module
|
||||
|
||||
#unicodedata unicodedata.c # static Unicode character database
|
||||
|
|
2
setup.py
2
setup.py
|
@ -313,8 +313,6 @@ class PyBuildExt(build_ext):
|
|||
libraries=math_libs) )
|
||||
# operator.add() and similar goodies
|
||||
exts.append( Extension('operator', ['operator.c']) )
|
||||
# access to the builtin codecs and codec registry
|
||||
exts.append( Extension('_codecs', ['_codecsmodule.c']) )
|
||||
# Python C API test module
|
||||
exts.append( Extension('_testcapi', ['_testcapimodule.c']) )
|
||||
# static Unicode character database
|
||||
|
|
Loading…
Reference in New Issue