build-math-object
authorMatthias Klose <doko@debian.org>
Thu, 30 Jul 2020 10:10:07 +0000 (11:10 +0100)
committerPeter Michael Green <plugwash@raspbian.org>
Thu, 30 Jul 2020 10:10:07 +0000 (11:10 +0100)
Gbp-Pq: Name build-math-object.diff

Makefile.pre.in

index d0e9e23844a742d74b5e2ec240ae75e89824c011..6e59354de1594b4499d8586d2c3d7f14b43994cf 100644 (file)
@@ -22,7 +22,8 @@
 
 MODBUILT_NAMES=    _MODBUILT_NAMES_
 MODDISABLED_NAMES= _MODDISABLED_NAMES_
-MODOBJS=           _MODOBJS_
+# filter out duplicate object files (_math.o)
+MODOBJS=           $(sort _MODOBJS_)
 MODLIBS=           _MODLIBS_
 
 # === Variables set by configure
@@ -615,8 +616,9 @@ pybuilddir.txt: $(BUILDPYTHON)
        fi
 
 # This is shared by the math and cmath modules
+# don't build with -fPIC when building as math and cmath as builtins
 Modules/_math.o: Modules/_math.c Modules/_math.h
-       $(CC) -c $(CCSHARED) $(PY_CORE_CFLAGS) -o $@ $<
+       $(CC) -c $(if $(findstring _math.o, $(MODOBJS)),,$(CCSHARED)) $(PY_CORE_CFLAGS) -o $@ $<
 
 # blake2s is auto-generated from blake2b
 $(srcdir)/Modules/_blake2/blake2s_impl.c: $(srcdir)/Modules/_blake2/blake2b_impl.c $(srcdir)/Modules/_blake2/blake2b2s.py