File: build-math-object.diff

package info (click to toggle)
python3.11 3.11.2-6%2Bdeb12u6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 113,292 kB
  • sloc: python: 660,794; ansic: 553,003; xml: 31,209; sh: 5,453; cpp: 3,978; makefile: 1,987; asm: 1,486; objc: 761; lisp: 502; javascript: 118; csh: 12
file content (29 lines) | stat: -rw-r--r-- 1,027 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Description: Arch: Don't build builtins like math.o with -fPIC
 Fixes build failure on on Debian/kFreeBSD.
 FIXME: Why? Remove noop sed from debian/rules?

Forwarded: no

--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -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
@@ -617,8 +618,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