@@ -496,6 +496,45 @@ LIBRARY_OBJS= \
496496DTRACE_DEPS = \
497497 Python/ceval.o Python/import.o Python/sysmodule.o Modules/gcmodule.o
498498
499+ ##########################################################################
500+ # decimal's libmpdec
501+
502+ LIBMPDEC_OBJS= \
503+ Modules/_decimal/libmpdec/basearith.o \
504+ Modules/_decimal/libmpdec/constants.o \
505+ Modules/_decimal/libmpdec/context.o \
506+ Modules/_decimal/libmpdec/convolute.o \
507+ Modules/_decimal/libmpdec/crt.o \
508+ Modules/_decimal/libmpdec/difradix2.o \
509+ Modules/_decimal/libmpdec/fnt.o \
510+ Modules/_decimal/libmpdec/fourstep.o \
511+ Modules/_decimal/libmpdec/io.o \
512+ Modules/_decimal/libmpdec/mpalloc.o \
513+ Modules/_decimal/libmpdec/mpdecimal.o \
514+ Modules/_decimal/libmpdec/numbertheory.o \
515+ Modules/_decimal/libmpdec/sixstep.o \
516+ Modules/_decimal/libmpdec/transpose.o
517+
518+ LIBMPDEC_HEADERS= \
519+ $(srcdir)/Modules/_decimal/libmpdec/basearith.h \
520+ $(srcdir)/Modules/_decimal/libmpdec/bits.h \
521+ $(srcdir)/Modules/_decimal/libmpdec/constants.h \
522+ $(srcdir)/Modules/_decimal/libmpdec/convolute.h \
523+ $(srcdir)/Modules/_decimal/libmpdec/crt.h \
524+ $(srcdir)/Modules/_decimal/libmpdec/difradix2.h \
525+ $(srcdir)/Modules/_decimal/libmpdec/fnt.h \
526+ $(srcdir)/Modules/_decimal/libmpdec/fourstep.h \
527+ $(srcdir)/Modules/_decimal/libmpdec/io.h \
528+ $(srcdir)/Modules/_decimal/libmpdec/mpalloc.h \
529+ $(srcdir)/Modules/_decimal/libmpdec/mpdecimal.h \
530+ $(srcdir)/Modules/_decimal/libmpdec/numbertheory.h \
531+ $(srcdir)/Modules/_decimal/libmpdec/sixstep.h \
532+ $(srcdir)/Modules/_decimal/libmpdec/transpose.h \
533+ $(srcdir)/Modules/_decimal/libmpdec/typearith.h \
534+ $(srcdir)/Modules/_decimal/libmpdec/umodarith.h
535+
536+ LIBMPDEC_A= Modules/_decimal/libmpdec/libmpdec.a
537+
499538#########################################################################
500539# Rules
501540
@@ -647,7 +686,7 @@ $(srcdir)/Modules/_blake2/blake2s_impl.c: $(srcdir)/Modules/_blake2/blake2b_impl
647686# -s, --silent or --quiet is always the first char.
648687# Under BSD make, MAKEFLAGS might be " -s -v x=y".
649688# Ignore macros passed by GNU make, passed after --
650- sharedmods: $(BUILDPYTHON) pybuilddir.txt
689+ sharedmods: $(BUILDPYTHON) pybuilddir.txt @LIBMPDEC_INTERNAL@
651690 @case "`echo X $$MAKEFLAGS | sed 's/^X //;s/ -- .*//'`" in \
652691 *\ -s*|s*) quiet="-q";; \
653692 *) quiet="";; \
@@ -729,6 +768,60 @@ $(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS)
729768 else true; \
730769 fi
731770
771+ ##########################################################################
772+ # Build static libmpdec.a
773+ LIBMPDEC_CFLAGS=$(PY_STDMODULE_CFLAGS) $(CCSHARED) @LIBMPDEC_CFLAGS@
774+
775+ # for setup.py
776+ DECIMAL_CFLAGS=@LIBMPDEC_CFLAGS@
777+ DECIMAL_LDFLAGS=@LIBMPDEC_LDFLAGS@
778+
779+ # "%.o: %c" is not portable
780+ Modules/_decimal/libmpdec/basearith.o: $(srcdir)/Modules/_decimal/libmpdec/basearith.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
781+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/basearith.c
782+
783+ Modules/_decimal/libmpdec/constants.o: $(srcdir)/Modules/_decimal/libmpdec/constants.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
784+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/constants.c
785+
786+ Modules/_decimal/libmpdec/context.o: $(srcdir)/Modules/_decimal/libmpdec/context.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
787+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/context.c
788+
789+ Modules/_decimal/libmpdec/convolute.o: $(srcdir)/Modules/_decimal/libmpdec/convolute.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
790+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/convolute.c
791+
792+ Modules/_decimal/libmpdec/crt.o: $(srcdir)/Modules/_decimal/libmpdec/crt.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
793+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/crt.c
794+
795+ Modules/_decimal/libmpdec/difradix2.o: $(srcdir)/Modules/_decimal/libmpdec/difradix2.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
796+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/difradix2.c
797+
798+ Modules/_decimal/libmpdec/fnt.o: $(srcdir)/Modules/_decimal/libmpdec/fnt.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
799+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/fnt.c
800+
801+ Modules/_decimal/libmpdec/fourstep.o: $(srcdir)/Modules/_decimal/libmpdec/fourstep.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
802+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/fourstep.c
803+
804+ Modules/_decimal/libmpdec/io.o: $(srcdir)/Modules/_decimal/libmpdec/io.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
805+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/io.c
806+
807+ Modules/_decimal/libmpdec/mpalloc.o: $(srcdir)/Modules/_decimal/libmpdec/mpalloc.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
808+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/mpalloc.c
809+
810+ Modules/_decimal/libmpdec/mpdecimal.o: $(srcdir)/Modules/_decimal/libmpdec/mpdecimal.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
811+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/mpdecimal.c
812+
813+ Modules/_decimal/libmpdec/numbertheory.o: $(srcdir)/Modules/_decimal/libmpdec/numbertheory.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
814+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/numbertheory.c
815+
816+ Modules/_decimal/libmpdec/sixstep.o: $(srcdir)/Modules/_decimal/libmpdec/sixstep.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
817+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/sixstep.c
818+
819+ Modules/_decimal/libmpdec/transpose.o: $(srcdir)/Modules/_decimal/libmpdec/transpose.c $(LIBMPDEC_HEADERS) $(PYTHON_HEADERS)
820+ $(CC) -c $(LIBMPDEC_CFLAGS) -o $@ $(srcdir)/Modules/_decimal/libmpdec/transpose.c
821+
822+ $(LIBMPDEC_A): $(LIBMPDEC_OBJS)
823+ -rm -f $@
824+ $(AR) $(ARFLAGS) $@ $(LIBMPDEC_OBJS)
732825
733826# create relative links from build/lib.platform/egg.so to Modules/egg.so
734827# pybuilddir.txt is created too late. We cannot use it in Makefile
@@ -2313,7 +2406,7 @@ MODULE_PYEXPAT_DEPS=$(srcdir)/Modules/expat/ascii.h $(srcdir)/Modules/expat/asci
23132406MODULE_UNICODEDATA_DEPS=$(srcdir)/Modules/unicodedata_db.h $(srcdir)/Modules/unicodename_db.h
23142407MODULE__BLAKE2_DEPS=$(srcdir)/Modules/_blake2/impl/blake2-config.h $(srcdir)/Modules/_blake2/impl/blake2-dispatch.c $(srcdir)/Modules/_blake2/impl/blake2-impl.h $(srcdir)/Modules/_blake2/impl/blake2-kat.h $(srcdir)/Modules/_blake2/impl/blake2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2b-ref.c $(srcdir)/Modules/_blake2/impl/blake2b-round.h $(srcdir)/Modules/_blake2/impl/blake2b-test.c $(srcdir)/Modules/_blake2/impl/blake2b.c $(srcdir)/Modules/_blake2/impl/blake2bp-test.c $(srcdir)/Modules/_blake2/impl/blake2bp.c $(srcdir)/Modules/_blake2/impl/blake2s-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2s-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2s-load-xop.h $(srcdir)/Modules/_blake2/impl/blake2s-ref.c $(srcdir)/Modules/_blake2/impl/blake2s-round.h $(srcdir)/Modules/_blake2/impl/blake2s-test.c $(srcdir)/Modules/_blake2/impl/blake2s.c $(srcdir)/Modules/_blake2/impl/blake2sp-test.c $(srcdir)/Modules/_blake2/impl/blake2sp.c $(srcdir)/Modules/hashlib.h
23152408MODULE__CTYPES_DEPS=$(srcdir)/Modules/_ctypes/ctypes.h
2316- MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h $(srcdir)/Modules/_decimal/libmpdec/basearith.h $(srcdir)/Modules/_decimal/libmpdec/bits.h $(srcdir)/Modules/_decimal/libmpdec/constants.h $(srcdir)/Modules/_decimal/libmpdec/convolute.h $(srcdir)/Modules/_decimal/libmpdec/crt.h $(srcdir)/Modules/_decimal/libmpdec/difradix2.h $(srcdir)/Modules/_decimal/libmpdec/fnt.h $(srcdir)/Modules/_decimal/libmpdec/fourstep.h $(srcdir)/Modules/_decimal/libmpdec/io.h $(srcdir)/Modules/_decimal/libmpdec/mpalloc.h $(srcdir)/Modules/_decimal/libmpdec/mpdecimal.h $(srcdir)/Modules/_decimal/libmpdec/numbertheory.h $(srcdir)/Modules/_decimal/libmpdec/sixstep.h $(srcdir)/Modules/_decimal/libmpdec/transpose.h $(srcdir)/Modules/_decimal/libmpdec/typearith.h $(srcdir)/Modules/_decimal/libmpdec/umodarith.h
2409+ MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h $(LIBMPDEC_HEADERS) @LIBMPDEC_INTERNAL@
23172410MODULE__ELEMENTTREE_DEPS=$(srcdir)/Modules/expat/ascii.h $(srcdir)/Modules/expat/asciitab.h $(srcdir)/Modules/expat/expat.h $(srcdir)/Modules/expat/expat_config.h $(srcdir)/Modules/expat/expat_external.h $(srcdir)/Modules/expat/internal.h $(srcdir)/Modules/expat/latin1tab.h $(srcdir)/Modules/expat/utf8tab.h $(srcdir)/Modules/expat/xmlparse.c $(srcdir)/Modules/expat/xmlrole.c $(srcdir)/Modules/expat/xmlrole.h $(srcdir)/Modules/expat/xmltok.c $(srcdir)/Modules/expat/xmltok.h $(srcdir)/Modules/expat/xmltok_impl.h $(srcdir)/Modules/pyexpat.c
23182411MODULE__HASHLIB_DEPS=$(srcdir)/Modules/hashlib.h
23192412MODULE__IO_DEPS=$(srcdir)/Modules/_io/_iomodule.h
0 commit comments