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
diff --git a/Lib/codecs.py b/Lib/codecs.py
index e7967d8..b377979 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -7,7 +7,7 @@
 
 """#"
 
-import struct, __builtin__
+import __builtin__, sys
 
 ### Registry and builtin stateless codec functions
 
@@ -48,11 +48,21 @@
 # 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