Marc-Andre Lemburg <m...@egenix.com> added the comment:

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.

----------
nosy: +lemburg

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue45548>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to