8000 bpo-45847: Port codecs and unicodedata to PY_STDLIB_MOD (GH-29685) · python/cpython@2afa1a1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2afa1a1

Browse files
authored
bpo-45847: Port codecs and unicodedata to PY_STDLIB_MOD (GH-29685)
1 parent f201d26 commit 2afa1a1

File tree

4 files changed

+166
-5
lines changed

4 files changed

+166
-5
lines changed

Modules/Setup.stdlib.in

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,14 @@
5656
# _elementtree libexpat via CAPI hook in pyexpat.
5757
@MODULE__ELEMENTTREE_TRUE@_elementtree _elementtree.c
5858

59+
@MODULE__CODECS_CN_TRUE@_codecs_cn cjkcodecs/_codecs_cn.c
60+
@MODULE__CODECS_HK_TRUE@_codecs_hk cjkcodecs/_codecs_hk.c
61+
@MODULE__CODECS_ISO2022_TRUE@_codecs_iso2022 cjkcodecs/_codecs_iso2022.c
62+
@MODULE__CODECS_JP_TRUE@_codecs_jp cjkcodecs/_codecs_jp.c
63+
@MODULE__CODECS_KR_TRUE@_codecs_kr cjkcodecs/_codecs_kr.c
64+
@MODULE__CODECS_TW_TRUE@_codecs_tw cjkcodecs/_codecs_tw.c
65+
@MODULE__MULTIBYTECODEC_TRUE@_multibytecodec cjkcodecs/multibytecodec.c
66+
@MODULE_UNICODEDATA_TRUE@unicodedata unicodedata.c
5967

6068
############################################################################
6169
# Modules with some UNIX dependencies

configure

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,22 @@ MODULE__SHA1_FALSE
654654
MODULE__SHA1_TRUE
655655
MODULE__MD5_FALSE
656656
MODULE__MD5_TRUE
657+
MODULE_UNICODEDATA_FALSE
658+
MODULE_UNICODEDATA_TRUE
659+
MODULE__MULTIBYTECODEC_FALSE
660+
MODULE__MULTIBYTECODEC_TRUE
661+
MODULE__CODECS_TW_FALSE
662+
MODULE__CODECS_TW_TRUE
663+
MODULE__CODECS_KR_FALSE
664+
MODULE__CODECS_KR_TRUE
665+
MODULE__CODECS_JP_FALSE
666+
MODULE__CODECS_JP_TRUE
667+
MODULE__CODECS_ISO2022_FALSE
668+
MODULE__CODECS_ISO2022_TRUE
669+
MODULE__CODECS_HK_FALSE
670+
MODULE__CODECS_HK_TRUE
671+
MODULE__CODECS_CN_FALSE
672+
MODULE__CODECS_CN_TRUE
657673
MODULE__ELEMENTTREE_FALSE
658674
MODULE__ELEMENTTREE_TRUE
659675
MODULE_PYEXPAT_FALSE
@@ -19913,6 +19929,102 @@ fi
1991319929
$as_echo "$py_cv_module__elementtree" >&6; }
1991419930

1991519931

19932+
if true; then
19933+
MODULE__CODECS_CN_TRUE=
19934+
MODULE__CODECS_CN_FALSE='#'
19935+
else
19936+
MODULE__CODECS_CN_TRUE='#'
19937+
MODULE__CODECS_CN_FALSE=
19938+
fi
19939+
19940+
19941+
19942+
19943+
19944+
if true; then
19945+
MODULE__CODECS_HK_TRUE=
19946+
MODULE__CODECS_HK_FALSE='#'
19947+
else
19948+
MODULE__CODECS_HK_TRUE='#'
19949+
MODULE__CODECS_HK_FALSE=
19950+
fi
19951+
19952+
19953+
19954+
19955+
19956+
if true; then
19957+
MODULE__CODECS_ISO2022_TRUE=
19958+
MODULE__CODECS_ISO2022_FALSE='#'
19959+
else
19960+
MODULE__CODECS_ISO2022_TRUE='#'
19961+
MODULE__CODECS_ISO2022_FALSE=
19962+
fi
19963+
19964+
19965+
19966+
19967+
19968+
if true; then
19969+
MODULE__CODECS_JP_TRUE=
19970+
MODULE__CODECS_JP_FALSE='#'
19971+
else
19972+
MODULE__CODECS_JP_TRUE='#'
19973+
MODULE__CODECS_JP_FALSE=
19974+
fi
19975+
19976+
19977+
19978+
19979+
19980+
if true; then
19981+
MODULE__CODECS_KR_TRUE=
19982+
MODULE__CODECS_KR_FALSE='#'
19983+
else
19984+
MODULE__CODECS_KR_TRUE='#'
19985+
MODULE__CODECS_KR_FALSE=
19986+
fi
19987+
19988+
19989+
19990+
19991+
19992+
if true; then
19993+
MODULE__CODECS_TW_TRUE=
19994+
MODULE__CODECS_TW_FALSE='#'
19995+
else
19996+
MODULE__CODECS_TW_TRUE='#'
19997+
MODULE__CODECS_TW_FALSE=
19998+
fi
19999+
20000+
20001+
20002+
20003+
20004+
if true; then
20005+
MODULE__MULTIBYTECODEC_TRUE=
20006+
MODULE__MULTIBYTECODEC_FALSE='#'
20007+
else
20008+
MODULE__MULTIBYTECODEC_TRUE='#'
20009+
MODULE__MULTIBYTECODEC_FALSE=
20010+
fi
20011+
20012+
20013+
20014+
20015+
20016+
if true; then
20017+
MODULE_UNICODEDATA_TRUE=
20018+
MODULE_UNICODEDATA_FALSE='#'
20019+
else
20020+
MODULE_UNICODEDATA_TRUE='#'
20021+
MODULE_UNICODEDATA_FALSE=
20022+
fi
20023+
20024+
20025+
20026+
20027+
1991620028

1991720029
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module _md5" >&5
1991820030
$as_echo_n "checking for stdlib extension module _md5... " >&6; }
@@ -20669,6 +20781,38 @@ if test -z "${MODULE__ELEMENTTREE_TRUE}" && test -z "${MODULE__ELEMENTTREE_FALSE
2066920781
as_fn_error $? "conditional \"MODULE__ELEMENTTREE\" was never defined.
2067020782
Usually this means the macro was only invoked conditionally." "$LINENO" 5
2067120783
fi
20784+
if test -z "${MODULE__CODECS_CN_TRUE}" && test -z "${MODULE__CODECS_CN_FALSE}"; then
20785+
as_fn_error $? "conditional \"MODULE__CODECS_CN\" was never defined.
20786+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20787+
fi
20788+
if test -z "${MODULE__CODECS_HK_TRUE}" && test -z "${MODULE__CODECS_HK_FALSE}"; then
20789+
as_fn_error $? "conditional \"MODULE__CODECS_HK\" was never defined.
20790+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20791+
fi
20792+
if test -z "${MODULE__CODECS_ISO2022_TRUE}" && test -z "${MODULE__CODECS_ISO2022_FALSE}"; then
20793+
as_fn_error $? "conditional \"MODULE__CODECS_ISO2022\" was never defined.
20794+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20795+
fi
20796+
if test -z "${MODULE__CODECS_JP_TRUE}" && test -z "${MODULE__CODECS_JP_FALSE}"; then
20797+
as_fn_error $? "conditional \"MODULE__CODECS_JP\" was never defined.
20798+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20799+
fi
20800+
if test -z "${MODULE__CODECS_KR_TRUE}" && test -z "${MODULE__CODECS_KR_FALSE}"; then
20801+
as_fn_error $? "conditional \"MODULE__CODECS_KR\" was never defined.
20802+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20803+
fi
20804+
if test -z "${MODULE__CODECS_TW_TRUE}" && test -z "${MODULE__CODECS_TW_FALSE}"; then
20805+
as_fn_error $? "conditional \"MODULE__CODECS_TW\" was never defined.
20806+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20807+
fi
20808+
if test -z "${MODULE__MULTIBYTECODEC_TRUE}" && test -z "${MODULE__MULTIBYTECODEC_FALSE}"; then
20809+
as_fn_error $? "conditional \"MODULE__MULTIBYTECODEC\" was never defined.
20810+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20811+
fi
20812+
if test -z "${MODULE_UNICODEDATA_TRUE}" && test -z "${MODULE_UNICODEDATA_FALSE}"; then
20813+
as_fn_error $? "conditional \"MODULE_UNICODEDATA\" was never defined.
20814+
Usually this means the macro was only invoked conditionally." "$LINENO" 5
20815+
fi
2067220816
if test -z "${MODULE__MD5_TRUE}" && test -z "${MODULE__MD5_FALSE}"; then
2067320817
as_fn_error $? "conditional \"MODULE__MD5\" was never defined.
2067420818
Usually this means the macro was only invoked conditionally." "$LINENO" 5

configure.ac

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6074,6 +6074,14 @@ PY_STDLIB_MOD([termios], [], [test "$ac_cv_header_termios_h" = yes])
60746074
dnl _elementtree loads libexpat via CAPI hook in pyexpat
60756075
PY_STDLIB_MOD([pyexpat], [], [], [$LIBEXPAT_CFLAGS], [$LIBEXPAT_LDFLAGS])
60766076
PY_STDLIB_MOD([_elementtree], [], [], [$LIBEXPAT_CFLAGS], [])
6077+
PY_STDLIB_MOD_SIMPLE([_codecs_cn])
6078+
PY_STDLIB_MOD_SIMPLE([_codecs_hk])
6079+
PY_STDLIB_MOD_SIMPLE([_codecs_iso2022])
6080+
PY_STDLIB_MOD_SIMPLE([_codecs_jp])
6081+
PY_STDLIB_MOD_SIMPLE([_codecs_kr])
6082+
PY_STDLIB_MOD_SIMPLE([_codecs_tw])
6083+
PY_STDLIB_MOD_SIMPLE([_multibytecodec])
6084+
PY_STDLIB_MOD_SIMPLE([unicodedata])
60776085

60786086
dnl By default we always compile these even when OpenSSL is available
60796087
dnl (issue #14693). The modules are small.

setup.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,7 +1022,7 @@ def detect_simple_extensions(self):
10221022
# profiler (_lsprof is for cProfile.py)
10231023
self.add(Extension('_lsprof', ['_lsprof.c', 'rotatingtree.c']))
10241024
# static Unicode character database
1025-
self.add(Extension('unicodedata', ['unicodedata.c']))
1025+
self.addext(Extension('unicodedata', ['unicodedata.c']))
10261026
# _opcode module
10271027
self.add(Extension('_opcode', ['_opcode.c']))
10281028
# asyncio speedups
@@ -1432,11 +1432,12 @@ def detect_expat_elementtree(self):
14321432

14331433
def detect_multibytecodecs(self):
14341434
# Hye-Shik Chang's CJKCodecs modules.
1435-
self.add(Extension('_multibytecodec',
1436-
['cjkcodecs/multibytecodec.c']))
1435+
self.addext(Extension('_multibytecodec',
1436+
['cjkcodecs/multibytecodec.c']))
14371437
for loc in ('kr', 'jp', 'cn', 'tw', 'hk', 'iso2022'):
1438-
self.add(Extension('_codecs_%s' % loc,
1439-
['cjkcodecs/_codecs_%s.c' % loc]))
1438+
self.addext(Extension(
1439+
f'_codecs_{loc}', [f'cjkcodecs/_codecs_{loc}.c']
1440+
))
14401441

14411442
def detect_multiprocessing(self):
14421443
# Richard Oudkerk's multiprocessing module

0 commit comments

Comments
 (0)
0