Message404897
FYI: I've been working with a fixed Setup file in PyRun for a long while. There are indeed a number of modules missing from Setup, since the whole logic was left behind a bit after things moved to setup.py.
The issue with _math.o is actually in the main Makefile.pre.in. The version listed there does not match the Makefile lines added via Setup. For PyRun, I had to comment out the one in Makefile.pre.in and then only add one instance to the math module and not the cmath one. This avoids a (harmless) warning during the build.
I'm not sure what the _math.o entry exists in Makefile.pre.in. It's only needed by those two modules, AFAIK.
Here's the list of modules I had to add in the past (taken from the 3.10 port):
"""
### Built-in extensions for which there are no entries in Setup.dist/Setup:
# _decimal needs more complex setup, punting on this for now
#DECIMAL_DEFS=-DCONFIG_64=1 -DASM=1
#_decimal \
# _decimal/_decimal.c \
# _decimal/libmpdec/basearith.c \
# _decimal/libmpdec/constants.c \
# _decimal/libmpdec/context.c \
# _decimal/libmpdec/convolute.c \
# _decimal/libmpdec/crt.c \
# _decimal/libmpdec/difradix2.c \
# _decimal/libmpdec/fnt.c \
# _decimal/libmpdec/fourstep.c \
# _decimal/libmpdec/io.c \
# _decimal/libmpdec/memory.c \
# _decimal/libmpdec/mpdecimal.c \
# _decimal/libmpdec/numbertheory.c \
# _decimal/libmpdec/sixstep.c \
# _decimal/libmpdec/transpose.c \
# $(DECIMAL_DEFS) \
# -I$(srcdir)/Modules/_decimal \
# -I$(srcdir)/Modules/_decimal/libmpdec \
# -I$(prefix)/include -L$(exec_prefix)/lib
# _opcode
_opcode _opcode.c
# _ctypes needs to build libffi first - punting on this
# _lsprof
_lsprof _lsprof.c rotatingtree.c
# _sqlite3
SQLITE_DEFS=-DMODULE_NAME='"sqlite3"' -DSQLITE_OMIT_LOAD_EXTENSION
# @if freebsd: SQLITE_LIBS=-I/usr/local/include -L/usr/local/lib
# @if not freebsd: SQLITE_LIBS=
_sqlite3 \
_sqlite/module.c \
_sqlite/cache.c \
_sqlite/connection.c \
_sqlite/cursor.c \
_sqlite/microprotocols.c \
_sqlite/prepare_protocol.c \
_sqlite/row.c \
_sqlite/statement.c \
_sqlite/util.c \
$(SQLITE_DEFS) -I$(srcdir)/Modules/_sqlite \
$(SQLITE_LIBS) \
-I$(prefix)/include -L$(exec_prefix)/lib \
-lsqlite3
# bz2
_bz2 _bz2module.c -lbz2
# lzma
#
# Note: Adding this can cause serious issues, since the needed lib isn't
# universally installed everywhere. See #1793 and #1794.
#
#_lzma _lzmamodule.c -llzma
# multiprocessing
_multiprocessing \
_multiprocessing/semaphore.c \
_multiprocessing/multiprocessing.c \
-I$(srcdir)/Modules/_multiprocessing
# Optional add-on for multiprocessing to use shared memory
#POSIXSHMEM_LIBS=rt
POSIXSHMEM_LIBS=
_posixshmem \
_multiprocessing/posixshmem.c \
-I$(srcdir)/Modules/_multiprocessing \
$(POSIXSHMEM_LIBS)
# queue
_queue _queuemodule.c
"""
Not all modules are included, since I did not need all missing ones. |
|
Date |
User |
Action |
Args |
2021-10-23 17:53:34 | lemburg | set | recipients:
+ lemburg, brett.cannon, christian.heimes, ned.deily, zach.ware, miss-islington |
2021-10-23 17:53:34 | lemburg | set | messageid: <1635011614.05.0.49826449844.issue45548@roundup.psfhosted.org> |
2021-10-23 17:53:34 | lemburg | link | issue45548 messages |
2021-10-23 17:53:33 | lemburg | create | |
|